On 8/23/21 4:41 AM, Peng Liang wrote:
Bacause the timestamp (the uptime of the host) is used to validate
the
remembered labels, it need to update after migration.
Signed-off-by: Peng Liang <liangpeng10(a)huawei.com>
---
src/qemu/qemu_migration.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index b441d0226c8f..a5f7bd4add97 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -5624,6 +5624,7 @@ qemuMigrationDstFinish(virQEMUDriver *driver,
qemuDomainJobInfo *jobInfo = NULL;
bool inPostCopy = false;
bool doKill = true;
+ size_t i;
VIR_DEBUG("driver=%p, dconn=%p, vm=%p, cookiein=%s, cookieinlen=%d, "
"cookieout=%p, cookieoutlen=%p, flags=0x%lx, retcode=%d",
@@ -5831,6 +5832,17 @@ qemuMigrationDstFinish(virQEMUDriver *driver,
/* Guest is successfully running, so cancel previous auto destroy */
qemuProcessAutoDestroyRemove(driver, vm);
+ for (i = 0; i < vm->def->ndisks; i++) {
+ virStorageSource *src = vm->def->disks[i]->src;
+
+ if (!virStorageSourceIsLocalStorage(src) || !src->path ||
+ virFileIsSharedFS(src->path) < 0)
This last check is pretty much useless. virFileIsSharedFS() returns -1
only on failure. The way it is written completely ignores whether
src->path is on a shared FS or not.
+ continue;
+
+ if (qemuSecurityUpdateImageLabel(driver, vm, src) < 0)
+ VIR_WARN("Failed to update security label for %s", src->path);
+ }
+
endjob:
if (!dom &&
!(flags & VIR_MIGRATE_OFFLINE) &&
Michal