mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-11 07:17:44 +00:00
qemu: Don't return success if creation of snapshot save file fails
When the snapshot definition can't be saved, the qemuDomainSnapshotCreate function succeeded without filling some of the fields in the internal definition. This patch removes the snapshot and returns failure if the XML file cannot be written.
This commit is contained in:
parent
31bee8572f
commit
27054e1217
@ -11598,8 +11598,14 @@ cleanup:
|
||||
if (snapshot && !(flags & VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA)) {
|
||||
if (qemuDomainSnapshotWriteMetadata(vm, snap,
|
||||
driver->snapshotDir) < 0) {
|
||||
VIR_WARN("unable to save metadata for snapshot %s",
|
||||
snap->def->name);
|
||||
/* if writing of metadata fails, error out rather than trying
|
||||
* to silently carry on without completing the snapshot */
|
||||
virDomainSnapshotFree(snapshot);
|
||||
snapshot = NULL;
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("unable to save metadata for snapshot %s"),
|
||||
snap->def->name);
|
||||
virDomainSnapshotObjListRemove(vm->snapshots, snap);
|
||||
} else {
|
||||
if (update_current)
|
||||
vm->current_snapshot = snap;
|
||||
|
Loading…
Reference in New Issue
Block a user