On Thu, Dec 08, 2022 at 14:30:50 +0100, Pavel Hrdina wrote:
Extract code that deletes children of specific snapshot to separate
function.
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
src/qemu/qemu_snapshot.c | 108 ++++++++++++++++++++++++---------------
1 file changed, 67 insertions(+), 41 deletions(-)
diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index 47239e9e9c..3d5467457b 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -2311,18 +2311,76 @@ qemuSnapshotDeleteSingle(virDomainObj *vm,
}
-int
-qemuSnapshotDelete(virDomainObj *vm,
- virDomainSnapshotPtr snapshot,
- unsigned int flags)
+/**
+ * qemuSnapshotDeleteChildren:
+ * @vm: domain object
+ * @snap: snapshot object
+ * @metadata_only: boolean
'boolean' is quite obvious from the function prototype, but it's not
that obvious what it actually means.
@metadata_only: If true, delete only snapshot metadata, leave data
intact.
+ * @flags: bitwise-OR of virDomainSnapshotDeleteFlags
In fact the only thing you use from @flags is
VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN_ONLY. Additionally you already
pass 'metadata_only' as boolean which is originally also part of 'flags.
Preferrably extract VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN_ONLY as a
boolean too and pass it to this function instead of flags.
+ *
+ * Delete children snapshots of snapshot proved by @snap. Based on what @flags
s/proved/provided/ ?
+ * are provided it will delete children snapshots including @snap or
only
+ * children snapshots. If @metadata_only is true only libvirt metadata files
+ * are deleted but the actual snapshots are left intact.
+ *
+ * Returns 0 on success, -1 on error.
+ */
+static int
+qemuSnapshotDeleteChildren(virDomainObj *vm,
+ virDomainMomentObj *snap,
+ bool metadata_only,
+ unsigned int flags)
With the above:
Reviewed-by: Peter Krempa <pkrempa(a)redhat.com>