[PATCH] qemuProcessSetupDisksTransientSnapshot: Skip enabling transientOverlayCreated flag

Masayoshi Mizuma posted 1 patch 2 years, 11 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20210527165512.569813-1-msys.mizuma@gmail.com
src/qemu/qemu_process.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] qemuProcessSetupDisksTransientSnapshot: Skip enabling transientOverlayCreated flag
Posted by Masayoshi Mizuma 2 years, 11 months ago
From: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>

QEMU_DOMAIN_DISK_PRIVATE(disk)->transientOverlayCreated flag
gets true unexpectedly on qemuProcessSetupDisksTransientSnapshot() when
the disk has <transient shareBacking='yes'> option.

The flag should be enabled on qemuDomainAttachDiskGeneric() after the
overlay setup is completed.

Skip enabling transientOverlayCreated for the disk here.

Fixes: 75871da0ecb8b552f9e304d0f83e216839bbf82d
Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
---
 src/qemu/qemu_process.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 9b069fe7ce..c37687f249 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -7039,7 +7039,8 @@ qemuProcessSetupDisksTransientSnapshot(virDomainObj *vm,
     for (i = 0; i < vm->def->ndisks; i++) {
         virDomainDiskDef *domdisk = vm->def->disks[i];
 
-        if (!domdisk->transient)
+        if (!domdisk->transient ||
+            domdisk->transientShareBacking == VIR_TRISTATE_BOOL_YES)
             continue;
 
         QEMU_DOMAIN_DISK_PRIVATE(domdisk)->transientOverlayCreated = true;
-- 
2.27.0

Re: [PATCH] qemuProcessSetupDisksTransientSnapshot: Skip enabling transientOverlayCreated flag
Posted by Peter Krempa 2 years, 11 months ago
On Thu, May 27, 2021 at 12:55:12 -0400, Masayoshi Mizuma wrote:
> From: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
> 
> QEMU_DOMAIN_DISK_PRIVATE(disk)->transientOverlayCreated flag
> gets true unexpectedly on qemuProcessSetupDisksTransientSnapshot() when
> the disk has <transient shareBacking='yes'> option.
> 
> The flag should be enabled on qemuDomainAttachDiskGeneric() after the
> overlay setup is completed.
> 
> Skip enabling transientOverlayCreated for the disk here.
> 
> Fixes: 75871da0ecb8b552f9e304d0f83e216839bbf82d
> Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
> ---
>  src/qemu/qemu_process.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Reviewed-by: Peter Krempa <pkrempa@redhat.com> 

and pushed.