Create an empty log file if the log file was removed, otherwise the
transaction to set the security labels on the file will fail.
Signed-off-by: Stefan Berger <stefanb(a)linux.ibm.com>
---
src/qemu/qemu_tpm.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c
index 7efd635831..77ef601f74 100644
--- a/src/qemu/qemu_tpm.c
+++ b/src/qemu/qemu_tpm.c
@@ -340,9 +340,13 @@ qemuTPMEmulatorPrepareHost(virDomainTPMDefPtr tpm,
logDir, vmname) < 0)
goto cleanup;
+ if (!virFileExists(tpm->data.emulator.logfile) &&
+ virFileTouch(tpm->data.emulator.logfile, 0644) < 0) {
+ goto cleanup;
+ }
+
/* ... and make sure it can be accessed by swtpm_user */
- if (virFileExists(tpm->data.emulator.logfile) &&
- chown(tpm->data.emulator.logfile, swtpm_user, swtpm_group) < 0) {
+ if (chown(tpm->data.emulator.logfile, swtpm_user, swtpm_group) < 0) {
virReportSystemError(errno,
_("Could not chown on swtpm logfile %s"),
tpm->data.emulator.logfile);
--
2.21.0