Skip to contentSkip to conversation

swsusp fails with "FATAL: cannot find swap device, try swapon -a!"

DISCUSSION Carl-Daniel Hailfinger 6 participants 10 messages Feb 28, 2005 – Mar 1, 2005 7 messages not in the archive

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

Hi,

since 2.6.10-rcsomething (don't know exact revision), suspend-to-disk fails on my machine. dmesg excerpt:

[...]
Adding 530104k swap on /dev/hda6. Priority:42 extents:1 [...]
PM: suspend-to-disk mode set to 'shutdown'
Stopping tasks: ===================================================| Freeing memory... done (60654 pages freed)
PM: Attempting to suspend to disk.
PM: snapshotting memory.
swsusp: FATAL: cannot find swap device, try swapon -a!
PCI: Setting latency timer of device 0000:00:1d.0 to 64
PCI: Setting latency timer of device 0000:00:1d.1 to 64
PCI: Setting latency timer of device 0000:00:1d.2 to 64
PCI: cache line size of 32 is not supported by device 0000:00:1d.7 ehci_hcd 0000:00:1d.7: USB 2.0 restarted, EHCI 1.00, driver 10 Dec 2004
ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:1f.5 to 64
eth0: link down
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 5 (level, low) -> IRQ 5
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Restarting tasks... done
[...]

And I have absolutely no idea what's going wrong. Kernel is vanilla bk tree from 10 days ago. .config is similar to SUSE .config, but I left out some drivers I don't need.

Any idea what could be wrong with my setup?

Regards,
Carl-Daniel

Signature · 8 lines
http://www.hailfinger.org/


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw

Hi!

Quoted 26 lines

since 2.6.10-rcsomething (don't know exact revision), suspend-to-disk fails on my machine. dmesg excerpt:

[...]
Adding 530104k swap on /dev/hda6. Priority:42 extents:1 [...]
PM: suspend-to-disk mode set to 'shutdown'
Stopping tasks: ===================================================| Freeing memory... done (60654 pages freed)
PM: Attempting to suspend to disk.
PM: snapshotting memory.
swsusp: FATAL: cannot find swap device, try swapon -a!
PCI: Setting latency timer of device 0000:00:1d.0 to 64
PCI: Setting latency timer of device 0000:00:1d.1 to 64
PCI: Setting latency timer of device 0000:00:1d.2 to 64
PCI: cache line size of 32 is not supported by device 0000:00:1d.7 ehci_hcd 0000:00:1d.7: USB 2.0 restarted, EHCI 1.00, driver 10 Dec 2004
ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:1f.5 to 64
eth0: link down
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 5 (level, low) -> IRQ 5
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Restarting tasks... done
[...]

Quoted 5 lines

And I have absolutely no idea what's going wrong. Kernel is vanilla bk tree from 10 days ago. .config is similar to SUSE .config, but I left out some drivers I don't need.

Any idea what could be wrong with my setup?

And you have resume= on command line, right? CONFIG_..._STD_PARTITION should not be required, but I have it set like this:

pavel@amd:~$ cat /proc/cmdline
root=/dev/hda4 resume=/dev/hda1 psmouse.psmouse_proto=imps psmouse_proto=imps psmouse.proto=imps
pavel@amd:~$ grep hda1 /usr/src/linux/.config
CONFIG_PM_STD_PARTITION="/dev/hda1"
pavel@amd:~$

Pavel

Signature · 9 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

A message that is not in the archive (sent off-list or not yet received): 20050228000401.GK1441-I/[email protected]

#4 lore raw
Quoted 36 lines · Pavel Machek

Hi!

Quoted 26 lines

since 2.6.10-rcsomething (don't know exact revision), suspend-to-disk fails on my machine. dmesg excerpt:

[...]
Adding 530104k swap on /dev/hda6. Priority:42 extents:1 [...]
PM: suspend-to-disk mode set to 'shutdown'
Stopping tasks: ===================================================| Freeing memory... done (60654 pages freed)
PM: Attempting to suspend to disk.
PM: snapshotting memory.
swsusp: FATAL: cannot find swap device, try swapon -a!
PCI: Setting latency timer of device 0000:00:1d.0 to 64
PCI: Setting latency timer of device 0000:00:1d.1 to 64
PCI: Setting latency timer of device 0000:00:1d.2 to 64
PCI: cache line size of 32 is not supported by device 0000:00:1d.7 ehci_hcd 0000:00:1d.7: USB 2.0 restarted, EHCI 1.00, driver 10 Dec 2004
ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:1f.5 to 64
eth0: link down
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 5 (level, low) -> IRQ 5
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Restarting tasks... done
[...]

Quoted 5 lines

And I have absolutely no idea what's going wrong. Kernel is vanilla bk tree from 10 days ago. .config is similar to SUSE .config, but I left out some drivers I don't need.

Any idea what could be wrong with my setup?

Quoted 8 lines

And you have resume= on command line, right? CONFIG_..._STD_PARTITION should not be required, but I have it set like this:

pavel@amd:~$ cat /proc/cmdline
root=/dev/hda4 resume=/dev/hda1 psmouse.psmouse_proto=imps psmouse_proto=imps psmouse.proto=imps
pavel@amd:~$ grep hda1 /usr/src/linux/.config
CONFIG_PM_STD_PARTITION="/dev/hda1"
pavel@amd:~$

cat /proc/cmdline
root=/dev/hda5 selinux=0 video=vesa:off resume=/dev/hda6 desktop elevator=as console=ttyS0,115200n8 console=tty0

And CONFIG_PM_STD_PARTITION was not set. I'll retry with it being set to "/dev/hda6" and report back.

Regards,
Carl-Daniel

Signature · 8 lines
http://www.hailfinger.org/


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

A message that is not in the archive (sent off-list or not yet received): [email protected]

#6 lore raw
Quoted 49 lines · Carl-Daniel Hailfinger
Quoted 37 lines · Pavel Machek

Hi!

Quoted 26 lines

since 2.6.10-rcsomething (don't know exact revision), suspend-to-disk fails on my machine. dmesg excerpt:

[...]
Adding 530104k swap on /dev/hda6. Priority:42 extents:1 [...]
PM: suspend-to-disk mode set to 'shutdown'
Stopping tasks: ===================================================| Freeing memory... done (60654 pages freed)
PM: Attempting to suspend to disk.
PM: snapshotting memory.
swsusp: FATAL: cannot find swap device, try swapon -a!
PCI: Setting latency timer of device 0000:00:1d.0 to 64
PCI: Setting latency timer of device 0000:00:1d.1 to 64
PCI: Setting latency timer of device 0000:00:1d.2 to 64
PCI: cache line size of 32 is not supported by device 0000:00:1d.7 ehci_hcd 0000:00:1d.7: USB 2.0 restarted, EHCI 1.00, driver 10 Dec 2004
ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:1f.5 to 64
eth0: link down
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 5 (level, low) -> IRQ 5
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Restarting tasks... done
[...]

Quoted 5 lines

And I have absolutely no idea what's going wrong. Kernel is vanilla bk tree from 10 days ago. .config is similar to SUSE .config, but I left out some drivers I don't need.

Any idea what could be wrong with my setup?

Quoted 8 lines

And you have resume= on command line, right? CONFIG_..._STD_PARTITION should not be required, but I have it set like this:

pavel@amd:~$ cat /proc/cmdline
root=/dev/hda4 resume=/dev/hda1 psmouse.psmouse_proto=imps psmouse_proto=imps psmouse.proto=imps
pavel@amd:~$ grep hda1 /usr/src/linux/.config
CONFIG_PM_STD_PARTITION="/dev/hda1"
pavel@amd:~$
Quoted 5 lines

cat /proc/cmdline
root=/dev/hda5 selinux=0 video=vesa:off resume=/dev/hda6 desktop elevator=as console=ttyS0,115200n8 console=tty0

And CONFIG_PM_STD_PARTITION was not set. I'll retry with it being set to "/dev/hda6" and report back.

Setting CONFIG_PM_STD_PARTITION didn't help at all. Still the same message on suspend-to-disk with current -bk tree.

Regards,
Carl-Daniel

Signature · 8 lines
http://www.hailfinger.org/


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

A message that is not in the archive (sent off-list or not yet received): [email protected]

#8 lore raw
Quoted 52 lines · Carl-Daniel Hailfinger
Quoted 50 lines · Carl-Daniel Hailfinger
Quoted 46 lines · Pavel Machek

Hi!

Quoted 26 lines

since 2.6.10-rcsomething (don't know exact revision), suspend-to-disk fails on my machine. dmesg excerpt:

[...]
Adding 530104k swap on /dev/hda6. Priority:42 extents:1 [...]
PM: suspend-to-disk mode set to 'shutdown'
Stopping tasks: ===================================================| Freeing memory... done (60654 pages freed)
PM: Attempting to suspend to disk.
PM: snapshotting memory.
swsusp: FATAL: cannot find swap device, try swapon -a!
PCI: Setting latency timer of device 0000:00:1d.0 to 64
PCI: Setting latency timer of device 0000:00:1d.1 to 64
PCI: Setting latency timer of device 0000:00:1d.2 to 64
PCI: cache line size of 32 is not supported by device 0000:00:1d.7 ehci_hcd 0000:00:1d.7: USB 2.0 restarted, EHCI 1.00, driver 10 Dec 2004
ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:1f.5 to 64
eth0: link down
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 5 (level, low) -> IRQ 5
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Restarting tasks... done
[...]

Quoted 5 lines

And I have absolutely no idea what's going wrong. Kernel is vanilla bk tree from 10 days ago. .config is similar to SUSE .config, but I left out some drivers I don't need.

Any idea what could be wrong with my setup?

And you have resume= on command line, right? CONFIG_..._STD_PARTITION should not be required, but I have it set like this:

pavel@amd:~$ cat /proc/cmdline
root=/dev/hda4 resume=/dev/hda1 psmouse.psmouse_proto=imps psmouse_proto=imps psmouse.proto=imps
pavel@amd:~$ grep hda1 /usr/src/linux/.config
CONFIG_PM_STD_PARTITION="/dev/hda1"
pavel@amd:~$
Quoted 8 lines
Quoted 5 lines

cat /proc/cmdline
root=/dev/hda5 selinux=0 video=vesa:off resume=/dev/hda6 desktop elevator=as console=ttyS0,115200n8 console=tty0

And CONFIG_PM_STD_PARTITION was not set. I'll retry with it being set to "/dev/hda6" and report back.

Setting CONFIG_PM_STD_PARTITION didn't help at all. Still the same message on suspend-to-disk with current -bk tree.

I added the following debugging code:

kernel/power/swsusp.c 2005-02-28 03:43:47 +01:00 renamed from kernel/power/swsusp.c 2005-01-21 05:59:15 +01:00 +5 -0
@@ -169,6 +169,9 @@ static int is_resume_device(const struct
        struct file *file = swap_info->swap_file;
        struct inode *inode = file->f_dentry->d_inode;
 
+       if (S_ISBLK(inode->i_mode))
+               printk(KERN_WARNING "is_resume_device: checking %i:%i against resume_device %i:%i\n",
+                       imajor(inode), iminor(inode), MAJOR(resume_device), MINOR(resume_device));
        return S_ISBLK(inode->i_mode) &&
                resume_device == MKDEV(imajor(inode), iminor(inode));
 }
@@ -197,8 +200,10 @@ static int swsusp_swap_check(void) /* Th
                                if (is_resume_device(&swap_info[i])) {
                                        swapfile_used[i] = SWAPFILE_SUSPEND;
                                        root_swap = i;
+                                       printk(KERN_WARNING "swapfile %i SUSPEND\n", i);
                                } else {
                                        swapfile_used[i] = SWAPFILE_IGNORED;
+                                       printk(KERN_WARNING "swapfile %i IGNORED\n", i);
                                }
                        }
                }

and the resulting dmesg was:
Linux version 2.6.11-rc5-latest-s3test18 (compiler@p35) (gcc version 3.3.4 (pre 3.3.5 20040809)) #6 Mon Feb 28 03:44:26 CET 2005
[...]
Kernel command line: root=/dev/hda5 selinux=0 video=vesa:off resume=/dev/hda6 desktop elevator=as console=ttyS0,115200n8 console=tty0
[...]
PM: Reading swsusp image.
swsusp: Resume From Partition: /dev/hda6
swsusp: Error -6 resuming
PM: Resume from disk failed.
[...]
PM: suspend-to-disk mode set to 'shutdown'
Stopping tasks: ======================================|
Freeing memory... done (20435 pages freed)
PM: Attempting to suspend to disk.
PM: snapshotting memory.
is_resume_device: checking 3:6 against resume_device 0:0
swapfile 0 IGNORED
swsusp: FATAL: cannot find swap device, try swapon -a!
[...]

So resume_file has a non-zero length, but resume_device is 0:0. How can that happen?

Regards,
Carl-Daniel

Signature · 8 lines
http://www.hailfinger.org/


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

A message that is not in the archive (sent off-list or not yet received): [email protected]

#10 lore raw

Hi.

Quoted 2 lines · Carl-Daniel Hailfinger

swsusp: Resume From Partition: /dev/hda6
swsusp: Error -6 resuming

That's no such device. Do you have ide support built as modules and loaded from an initrd?

Regards,

Nigel

Signature · 15 lines
Nigel Cunningham
Software Engineer, Canberra, Australia
http://www.cyclades.com
Bus: +61 (2) 6291 9554; Hme: +61 (2) 6292 8028;  Mob: +61 (417) 100 574

Maintainer of Suspend2 Kernel Patches http://softwaresuspend.berlios.de




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

A message that is not in the archive (sent off-list or not yet received): 1109564772.16374.1.camel-r49W/1Cwd2ff0s6lnCXPX/[email protected]

#12 lore raw
Quoted 9 lines · Nigel Cunningham

Hi.

Quoted 2 lines · Carl-Daniel Hailfinger

swsusp: Resume From Partition: /dev/hda6
swsusp: Error -6 resuming

That's no such device. Do you have ide support built as modules and loaded from an initrd?

Yes.
CONFIG_IDE=m
CONFIG_BLK_DEV_IDE=m

Pavel, could you add a warning to the code which is a bit more obvious? "Cannot find swap device" on suspend is a little bit confusing. How about "No swap device available at resume time"?

Regards,
Carl-Daniel

Signature · 8 lines
http://www.hailfinger.org/


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

A message that is not in the archive (sent off-list or not yet received): [email protected]

#14 lore raw

Hi!

Quoted 8 lines
Quoted 7 lines · Carl-Daniel Hailfinger
Quoted 3 lines

swsusp: Resume From Partition: /dev/hda6
swsusp: Error -6 resuming

That's no such device. Do you have ide support built as modules and loaded from an initrd?

Quoted 7 lines

Yes.
CONFIG_IDE=m
CONFIG_BLK_DEV_IDE=m

Pavel, could you add a warning to the code which is a bit more obvious? "Cannot find swap device" on suspend is a little bit confusing. How about "No swap device available at resume time"?

Catching error -6 and telling user that suspend will not work because it would not be able to resume, anyway, is probably way to go. Feel free to suggest a patch ;-).
Pavel

Signature · 9 lines
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
#15 lore raw
In reply to Carl-Daniel Hailfinger
Quoted 4 lines · Carl-Daniel Hailfinger

is_resume_device: checking 3:6 against resume_device 0:0 [...]
So resume_file has a non-zero length, but resume_device is 0:0. How can that happen?

Hi,

A friend pointed me to this list. I came to the same conclusion:

http://marc.theaimsgroup.com/?t=110789542400001&r=1&w=2

I will now see if 2.6.11-rcX fix this.

martin

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

#16 lore raw
In reply to a message not in the archive

Hello!

Quoted 2 lines · Pavel Machek

And you have resume= on command line, right? CONFIG_..._STD_PARTITION should not be required, but I have it set like this:

I don't have 'resume' on my command line, but I've CONFIG_..._STD_PARTITION, it works great with 2.6.10 and 2.6.11-rc4:
=====

luca@gismo:~$ cat /proc/cmdline
root=/dev/hda2 ro acpi_sleep=s3_bios
luca@gismo:~$ grep STD_PARTITION /boot/config-2.6.10-mh4
CONFIG_PM_STD_PARTITION="/dev/hda5"
luca@gismo:~$
=====

Just my 0.02c...

Thx, bye,
Gismo / Luca