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@xxxxxxxxxx> > --- > 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@xxxxxxxxxx>