]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: tpm: Remove TPM state after successful migration
authorStefan Berger <stefanb@linux.ibm.com>
Tue, 4 Oct 2022 13:38:14 +0000 (09:38 -0400)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 4 Oct 2022 14:34:28 +0000 (16:34 +0200)
This patch 'fixes' the behavior of the persistent_state TPM domain XML
attribute that intends to preserve the state of the TPM but should not
keep the state around on all the hosts a VM has been migrated to. It
removes the TPM state directory structure from the source host upon
successful migration when non-shared storage is used. Similarly, it
removes it from the destination host upon migration failure when
non-shared storage is used.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_migration.c

index 126a4f6d3845c7eeb83626847984f21ee380e01b..33105cf07baa9a1ab225f1b5dade66c8dfbf5fcc 100644 (file)
@@ -4036,7 +4036,7 @@ qemuMigrationSrcConfirm(virQEMUDriver *driver,
             virDomainDeleteConfig(cfg->configDir, cfg->autostartDir, vm);
             vm->persistent = 0;
         }
-        qemuDomainRemoveInactive(driver, vm, 0);
+        qemuDomainRemoveInactive(driver, vm, VIR_DOMAIN_UNDEFINE_TPM);
     }
 
  cleanup:
@@ -6702,7 +6702,7 @@ qemuMigrationDstFinishActive(virQEMUDriver *driver,
     }
 
     if (!virDomainObjIsActive(vm))
-        qemuDomainRemoveInactive(driver, vm, 0);
+        qemuDomainRemoveInactive(driver, vm, VIR_DOMAIN_UNDEFINE_TPM);
 
     virErrorRestore(&orig_err);
     return NULL;