Created attachment 426586 [details]
Description of problem:
Hibernation of a system does not work properly with encrypted disk on my laptop (Lenovo T60). The system does not resume into a state left before the hibernation. Result is a normal (re)boot.
Enabling /etc/fstab swaps: swapon: /dev/mapper/vg_godot-lv_swap: software suspend data detected. Rewriting the swap signature.
[ OK ]
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Run pm-hibernate, or click System -> Shut Down -> Hibernate
2. Once the system goes to power-off, resume it ...
System does not resume, result is a "fresh boot".
Correct resume into a state before hibernation.
No AVC denials found. Suspend works just fine.
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release. Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release. This request is not yet committed for
Looks like a dracut issue. The kernel's never being told to resume - dracut needs to do that after the encrypted vg has been unlocked.
add "resume=/dev/mapper/vg_godot-lv_swap rd_LVM_LV=vg_godot-lv_swap" to the kernel command line. Anaconda will do this in the bugfixed version.
And how, exactly, should anaconda know when to write resume= and when not to? Do we just do it on all systems? What happens if it's a dual boot system and the swap is shared among several OSes? What if there's multiple swap partitions? What if the swap isn't big enough?
(In reply to comment #3)
> add "resume=/dev/mapper/vg_godot-lv_swap rd_LVM_LV=vg_godot-lv_swap" to the
> kernel command line. Anaconda will do this in the bugfixed version.
This doesnt' work in my case:
# grep resume /boot/grub/grub.conf
kernel /vmlinuz-2.6.32-30.el6.x86_64 root=/dev/mapper/vg_godot-lv_root ro rd_LUKS_UUID=luks-ab3924cc-4c70-412f-ad72-d03ad79ed634 rd_LVM_LV=vg_godot/lv_root rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet resume=/dev/mapper/vg_godot-lv_swap rd_LVM_LV=vg_godot-lv_swap
I get a message saying "No root device found" after the encrypted vg has been unlocked.
$ rpm -q anaconda kernel dracut
$ ls -laZ /dev/mapper/vg_godot-lv_swap
lrwxrwxrwx. root root system_u:object_r:device_t:s0 /dev/mapper/vg_godot-lv_swap -> ../dm-2
Will to try only with the "rd_LVM_LV" as suggested in bug 588351.
The hibernation works as expected with "rd_LVM_LV=vg_godot/lv_swap" (without the resume=...).
(In reply to comment #4)
> And how, exactly, should anaconda know when to write resume= and when not to?
> Do we just do it on all systems? What happens if it's a dual boot system and
> the swap is shared among several OSes? What if there's multiple swap
> partitions? What if the swap isn't big enough?
ok, sry, the rd_LVM_LV for swap partitions is enough.
Moving to VERIFIED as per comment #6
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.