[PATCH 8/9] migration: don't remove image labels after migration

Peng Liang liangpeng10 at huawei.com
Mon Aug 23 02:41:19 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 77da9992f4e3..1eda7898c861 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -8059,7 +8059,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