[PATCH v2 09/10] migration: don't remove image labels after migration

Peng Liang liangpeng10 at huawei.com
Mon Oct 11 12:00:47 UTC 2021


After migration, the image labels will be removed in the src host (on
success) or the dst host (on failure).  However, if we migrate using
shared fs and remove image labels after migration in one host, the image
labels will also lost in another host, which leads to that the ownership
of the image will be restore to root:root instead of the origin
ownership when shutting down the VM.  Hence, don't remove image labels
after migration with shared fs.

Signed-off-by: Peng Liang <liangpeng10 at huawei.com>
---
 src/qemu/qemu_process.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 1d0165af6daa..a6e64fcba8ba 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -8173,7 +8173,10 @@ void qemuProcessStop(virQEMUDriver *driver,
                     qemuHostdevReAttachOneNVMeDisk(driver, vm->def->name, disk->mirror);
             }
 
-            qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->src);
+            if ((reason != VIR_DOMAIN_SHUTOFF_MIGRATED &&
+                 !(flags & VIR_QEMU_PROCESS_STOP_MIGRATED)) ||
+                virFileIsSharedFS(disk->src->path) <= 0)
+                qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->src);
 
             /* for now transient disks are forbidden with migration so they
              * can be handled here */
-- 
2.31.1





More information about the libvir-list mailing list