[PATCH 3/3] qemuSnapshotCreate: Don't insert snapshot into list with VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA
Michal Prívozník
mprivozn at redhat.com
Tue Jan 11 14:53:22 UTC 2022
On 1/11/22 10:53, Peter Krempa wrote:
> Our approach to snapshots without metadata was to insert them to the
> snapshot list and then later remove them from the list when the flag is
> present.
>
> This quirky logic was broken in a recent refactor of the snapshot code
> causing that the snapshot stayed inserted in the snapshot list.
>
> Recent refactor of the snapshot code didn't faithfully relocate this
> logic to the new function.
>
> Rather than attempting to restore the quirky logic of adding and then
> removing the object, don't add the snapshot into the list at all when
> the user doesn't want metadata.
>
> We achieve this by creating a temporary 'virDomainMomentObj' wrapper
> which is not inserted into the list and using that instead of calling
> virDomainSnapshotAssignDef.
>
> Fixes: 9bad0fb809b
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2039131
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
> src/qemu/qemu_snapshot.c | 25 +++++++++++++++----------
> 1 file changed, 15 insertions(+), 10 deletions(-)
>
> diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
> index 9a5d3e60aa..e9fc9051c1 100644
> --- a/src/qemu/qemu_snapshot.c
> +++ b/src/qemu/qemu_snapshot.c
> @@ -1756,7 +1756,7 @@ qemuSnapshotCreate(virDomainObj *vm,
> virQEMUDriverConfig *cfg,
> unsigned int flags)
> {
> -
> + g_autoptr(virDomainMomentObj) noMetadataSnap = NULL;
Nitpick, this variable is used as a bool later, which creates double
negative conditions like !noMetadataSnap. But I'm failing to suggest
anything better.
Michal
More information about the libvir-list
mailing list