mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: snapshot: Forbid taking/reverting snapshots in PMSUSPENDED state
Qemu doesn't currently support them and behaves strangely. Just forbid them. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1079162
This commit is contained in:
parent
c71045a9cb
commit
1e833899ce
@ -13401,9 +13401,14 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain,
|
||||
case VIR_DOMAIN_SHUTDOWN:
|
||||
case VIR_DOMAIN_SHUTOFF:
|
||||
case VIR_DOMAIN_CRASHED:
|
||||
case VIR_DOMAIN_PMSUSPENDED:
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_PMSUSPENDED:
|
||||
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
|
||||
_("qemu doesn't support taking snapshots of "
|
||||
"PMSUSPENDED guests"));
|
||||
goto cleanup;
|
||||
|
||||
/* invalid states */
|
||||
case VIR_DOMAIN_NOSTATE:
|
||||
case VIR_DOMAIN_BLOCKED: /* invalid state, unused in qemu */
|
||||
@ -14178,8 +14183,6 @@ static int qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
|
||||
case VIR_DOMAIN_SHUTDOWN:
|
||||
case VIR_DOMAIN_SHUTOFF:
|
||||
case VIR_DOMAIN_CRASHED:
|
||||
/* XXX: The following one is clearly wrong! */
|
||||
case VIR_DOMAIN_PMSUSPENDED:
|
||||
/* Transitions 1, 4, 7 */
|
||||
/* Newer qemu -loadvm refuses to revert to the state of a snapshot
|
||||
* created by qemu-img snapshot -c. If the domain is running, we
|
||||
@ -14245,6 +14248,12 @@ static int qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
|
||||
}
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_PMSUSPENDED:
|
||||
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
|
||||
_("qemu doesn't support reversion of snapshot taken in "
|
||||
"PMSUSPENDED state"));
|
||||
goto cleanup;
|
||||
|
||||
case VIR_DOMAIN_NOSTATE:
|
||||
case VIR_DOMAIN_BLOCKED:
|
||||
case VIR_DOMAIN_LAST:
|
||||
|
Loading…
x
Reference in New Issue
Block a user