mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
qemu: snapshot: Improve detection of mixed snapshots
Currently we don't support mixed (external + internal) snapshots. The code detecting the snapshot type didn't make sure that the memory image was consistent with the snapshot type leading into strange error message: $ virsh snapshot-create-as --domain VM --diskspec vda,snapshot=internal --memspec snapshot=external,file=/tmp/blah error: internal error: unexpected code path Fix the mixed detection code to detect this kind of mistake: $ virsh snapshot-create-as --domain VM --diskspec vda,snapshot=internal --memspec snapshot=external,file=/tmp/blah error: unsupported configuration: mixing internal and external targets for a snapshot is not yet supported
This commit is contained in:
parent
d2e668e535
commit
23f38f8813
@ -12755,7 +12755,9 @@ qemuDomainSnapshotPrepare(virConnectPtr conn,
|
||||
/* For now, we don't allow mixing internal and external disks.
|
||||
* XXX technically, we could mix internal and external disks for
|
||||
* offline snapshots */
|
||||
if (found_internal && external) {
|
||||
if ((found_internal && external) ||
|
||||
(def->memory == VIR_DOMAIN_SNAPSHOT_LOCATION_INTERNAL && external) ||
|
||||
(def->memory == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL && found_internal)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("mixing internal and external targets for a snapshot "
|
||||
"is not yet supported"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user