
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@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@redhat.com>