Red Hat Bugzilla – Bug 1079162
The guest will be destroyed abnormally while revert the guest's snapshot which took in "pmsuspended" status
Last modified: 2015-03-05 02:33:06 EST
Description of problem: The guest will be destroyed abnormally while revert the guest's snapshot which took in "pmsuspended" status Version-Release number of selected component (if applicable): kernel-3.10.0-112.el7.x86_64 libvirt-1.1.1-28.el7.x86_64 qemu-kvm-rhev-1.5.3-53.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.Prepare a running guest with qemu-guest-agent installed # virsh list Id Name State ---------------------------------------------------- 2 rhel7 running 2.Do S3 with the guest # virsh dompmsuspend rhel7 --target mem Domain rhel7 successfully suspended [root@rhel6 ~]# virsh list Id Name State ---------------------------------------------------- 2 rhel7 pmsuspended 3.Take the internal snapshot for the guest #virsh snapshot-create-as rhel7 sp1 Domain snapshot sp1 created # virsh snapshot-list rhel7 Name Creation Time State ------------------------------------------------------------ sp1 2014-03-18 22:10:19 -0400 pmsuspended 4.Wakeup the guest #virsh dompmwakeup rhel7 Domain rhel7 successfully woken up # virsh list Id Name State ---------------------------------------------------- 2 rhel7 running 5.Revert the snapshot for the guest # virsh list --all Id Name State ---------------------------------------------------- - rhel7 shut off # ps aux|grep qemu root 25663 0.0 0.0 103252 840 pts/0 S+ 22:45 0:00 grep qemu 6.Both rhel7 and rhel6 can hit this issue Actual results: The guest was destroyed abnormally while revert the guest's snapshot which took in "pmsuspended" status Expected results: If we support take and revert snapshot while guest in pmsuspend status, the guest should be in "pmsuspended" status in step 5 and shouldn't be destroyed abnormally. if we didn't support take and revert snapshot while guest in pmsuspended status, it should give a clear error Additional info:
Snapshots of guests in S3 state don't work well with qemu currently. I've pushed patch to forbid them: commit 1e833899ce07ac02dadbde75ee0e6747eca1068c Author: Peter Krempa <pkrempa@redhat.com> Date: Mon Jul 21 15:48:35 2014 +0200 qemu: snapshot: Forbid taking/reverting snapshots in PMSUSPENDED state Qemu doesn't currently support them and behaves strangely. Just forbid them. v1.2.6-220-g1e83389 This makes libvirt report an error instead of killing the guest.
The fix for this bug introduced a locking error, tracked in bug 1134154
I can reproduce it with libvirt-1.1.1-28.el7.x86_64 Verify it using the following component libvirt-1.2.8-10.el7.x86_64 qemu-kvm-rhev-2.1.2-15.el7.x86_64 kernel-3.10.0-212.el7.x86_64 # virsh dompmsuspend vm2 --target mem Domain vm2 successfully suspended # virsh list --all Id Name State ---------------------------------------------------- 6 vm2 pmsuspended # virsh snapshot-create-as vm2 sn1 error: Operation not supported: qemu doesn't support taking snapshots of PMSUSPENDED guests I can get the same result using qemu-kvm-1.5.3-83.el7.x86_64. So mark it as verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0323.html