Bug 846639
Summary: | Should forbid suspend&resume operate when guest in pmsuspend status. | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | zhe peng <zpeng> |
Component: | libvirt | Assignee: | Michal Privoznik <mprivozn> |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 6.4 | CC: | acathrow, ajia, dallan, dyasny, dyuan, mzhan, rwu, zhpeng |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | libvirt-0.10.0-1.el6 | Doc Type: | Bug Fix |
Doc Text: |
Cause:
Due to a bug in libvirt code, it was possible to successfully call suspend on a pmsuspended domain. The difference is while in the former case guest OS doesn't know it is being suspended (suspend is just a matter of hypervisor), in the latter case, guest OS cooperation is required. This result in, e.g. guest clock to be synchronized after the resume. Obviously, these two cases are mutually exclusive.
Consequence:
Libvirt returned success on operation which should fail.
Fix:
A check for this special case has been added.
Result:
Libvirt will now refuse to suspend a pmsuspended domain.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2013-02-21 07:21:28 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
zhe peng
2012-08-08 10:18:45 UTC
Patch proposed upstream: https://www.redhat.com/archives/libvir-list/2012-August/msg01637.html Moving to POST: commit 385ee0e982080d03ce0d11eab32396c0d7057961 Author: Michal Privoznik <mprivozn> AuthorDate: Thu Aug 23 15:26:20 2012 +0200 Commit: Michal Privoznik <mprivozn> CommitDate: Thu Aug 23 17:48:44 2012 +0200 qemu: forbid suspend if already pmsuspended If a domain is pmsuspended then virsh suspend will succeed. Beside obvious flaw, virsh resume will report success and change domain state to running which is another mistake. Therefore we must forbid any attempts for suspend and resume when pmsuspended. v0.10.0-rc1-16-g385ee0e Test with: libvirt-0.10.0-1.el6.x86_64 qemu-kvm-0.12.1.2-2.307.el6.x86_64 Steps: virsh # dompmsuspend rhel63 --target mem Domain rhel63 successfully suspended virsh # domstate rhel63 pmsuspended virsh # suspend rhel63 error: Failed to suspend domain rhel63 error: Requested operation is not valid: domain is pmsuspended virsh # resume rhel63 error: Failed to resume domain rhel63 error: Requested operation is not valid: domain is pmsuspended virsh # dompmwakeup rhel63 Domain rhel63 successfully woken up virsh # domstate rhel63 running virsh # suspend rhel63 Domain rhel63 suspended virsh # domstate rhel63 paused virsh # resume rhel63 Domain rhel63 resumed virsh # domstate rhel63 running So change status to 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. http://rhn.redhat.com/errata/RHSA-2013-0276.html |