From: Michal Privoznik Date: Fri, 21 Jul 2023 08:47:59 +0000 (+0200) Subject: qemu_tpm: Try harder to create emulator state X-Git-Tag: v9.6.0-rc1~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c3ef66cc6d60d35e86206fd7b78178c4d0cbb88;p=thirdparty%2Flibvirt.git qemu_tpm: Try harder to create emulator state If a per-domain SWTPM state directory exists but is empty our code still considers it a valid state and skips running 'swtpm_setup' (handled in qemuTPMEmulatorRunSetup()). While we should not try to inspect individual files created by swtpm, we can still consider empty folder as non-existent state. Resolves: https://gitlab.com/libvirt/libvirt/-/issues/320 Signed-off-by: Michal Privoznik Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c index 0b77ce2bc7..450f96ecfd 100644 --- a/src/qemu/qemu_tpm.c +++ b/src/qemu/qemu_tpm.c @@ -186,7 +186,8 @@ qemuTPMEmulatorCreateStorage(virDomainTPMDef *tpm, *created = false; - if (!virFileExists(storagepath)) + if (!virFileExists(storagepath) || + virDirIsEmpty(storagepath, true) > 0) *created = true; if (virDirCreate(storagepath, 0700, swtpm_user, swtpm_group,