On Mon, Mar 13, 2023 at 16:42:16 +0100, Pavel Hrdina wrote: > When deleting external snapshot and parent snapshot is the currently > active snapshot as user reverted to it we need to properly update the > parent snapshot metadata. > > After the delete is done the new overlay files will be the currently > used files created when snapshot revert was done, replacing the original > overlay files. > > Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> > --- > src/qemu/qemu_snapshot.c | 40 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 40 insertions(+) > > diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c > index dbcdf56758..513bcb5a86 100644 > --- a/src/qemu/qemu_snapshot.c > +++ b/src/qemu/qemu_snapshot.c > @@ -3063,6 +3063,41 @@ qemuSnapshotDiscardExternal(virDomainObj *vm, > } > > > +static int > +qemuSnapshotDeleteUpdateParent(virDomainObj *vm, > + virDomainMomentObj *parent) > +{ > + size_t i; > + virQEMUDriver *driver = ((qemuDomainObjPrivate *) vm->privateData)->driver; You can use QEMU_DOMAIN_PRIVATE(vm)->driver here to hide the typecast. > + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); > + virDomainSnapshotDef *parentDef = virDomainSnapshotObjGetDef(parent); > + > + if (!parentDef) > + return 0; > + > + if (!parentDef->revertdisks) > + return 0; Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>