From 773bf7c8462718e82ee375d27530f372fc6725a7 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Mon, 4 Oct 2021 20:18:49 +0200 Subject: [PATCH] qemu_snapshot: create: move saving metadata to separate function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pavel Hrdina Reviewed-by: Ján Tomko --- src/qemu/qemu_snapshot.c | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c index 32eb2eeb89..95c1e83f2d 100644 --- a/src/qemu/qemu_snapshot.c +++ b/src/qemu/qemu_snapshot.c @@ -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 qemuSnapshotCreateXML(virDomainPtr domain, virDomainObj *vm, @@ -1821,20 +1842,14 @@ qemuSnapshotCreateXML(virDomainPtr domain, if (!redefine || (flags & VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT)) qemuSnapshotSetCurrent(vm, snap); - if (qemuDomainSnapshotWriteMetadata(vm, snap, - driver->xmlopt, - cfg->snapshotDir) < 0) { + if (qemuSnapshotCreateWriteMetadata(vm, snap, driver, cfg) < 0) { /* if writing of metadata fails, error out rather than trying * to silently carry on without completing the snapshot */ virObjectUnref(snapshot); snapshot = NULL; - virReportError(VIR_ERR_INTERNAL_ERROR, - _("unable to save metadata for snapshot %s"), - snap->def->name); goto endjob; } - virDomainSnapshotLinkParent(vm->snapshots, snap); snap = NULL; }