mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-27 09:57:43 +03:00
qemu_snapshot: create: move saving metadata to separate function
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
29a0840475
commit
773bf7c846
@ -1693,6 +1693,27 @@ qemuSnapshotCreateAlignDisks(virDomainObj *vm,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
qemuSnapshotCreateWriteMetadata(virDomainObj *vm,
|
||||||
|
virDomainMomentObj *snap,
|
||||||
|
virQEMUDriver *driver,
|
||||||
|
virQEMUDriverConfig *cfg)
|
||||||
|
{
|
||||||
|
if (qemuDomainSnapshotWriteMetadata(vm, snap,
|
||||||
|
driver->xmlopt,
|
||||||
|
cfg->snapshotDir) < 0) {
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
_("unable to save metadata for snapshot %s"),
|
||||||
|
snap->def->name);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
virDomainSnapshotLinkParent(vm->snapshots, snap);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
virDomainSnapshotPtr
|
virDomainSnapshotPtr
|
||||||
qemuSnapshotCreateXML(virDomainPtr domain,
|
qemuSnapshotCreateXML(virDomainPtr domain,
|
||||||
virDomainObj *vm,
|
virDomainObj *vm,
|
||||||
@ -1821,20 +1842,14 @@ qemuSnapshotCreateXML(virDomainPtr domain,
|
|||||||
if (!redefine || (flags & VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT))
|
if (!redefine || (flags & VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT))
|
||||||
qemuSnapshotSetCurrent(vm, snap);
|
qemuSnapshotSetCurrent(vm, snap);
|
||||||
|
|
||||||
if (qemuDomainSnapshotWriteMetadata(vm, snap,
|
if (qemuSnapshotCreateWriteMetadata(vm, snap, driver, cfg) < 0) {
|
||||||
driver->xmlopt,
|
|
||||||
cfg->snapshotDir) < 0) {
|
|
||||||
/* if writing of metadata fails, error out rather than trying
|
/* if writing of metadata fails, error out rather than trying
|
||||||
* to silently carry on without completing the snapshot */
|
* to silently carry on without completing the snapshot */
|
||||||
virObjectUnref(snapshot);
|
virObjectUnref(snapshot);
|
||||||
snapshot = NULL;
|
snapshot = NULL;
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
_("unable to save metadata for snapshot %s"),
|
|
||||||
snap->def->name);
|
|
||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
virDomainSnapshotLinkParent(vm->snapshots, snap);
|
|
||||||
snap = NULL;
|
snap = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user