From 26f249034d7238ef1fe5c7668b27b9cc95308948 Mon Sep 17 00:00:00 2001 From: Martin Kletzander Date: Tue, 15 Oct 2024 14:51:00 +0200 Subject: [PATCH] qemu_namespace: Properly report new files Function qemuNamespaceMknodOne() is supposed to return 0 if the file did not exist before this function. If, however, the file existed, but was removed and recreated by this function the @existed flag should be reset to its proper state (false) because the function then behaves the same way as if the file did not exist as it needed to be recreated. So reset the @existed flag to properly reflect what happened. Signed-off-by: Martin Kletzander Reviewed-by: Peter Krempa --- src/qemu/qemu_namespace.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/qemu/qemu_namespace.c b/src/qemu/qemu_namespace.c index 71e29b4ba4..33a7739173 100644 --- a/src/qemu/qemu_namespace.c +++ b/src/qemu/qemu_namespace.c @@ -1022,6 +1022,7 @@ qemuNamespaceMknodOne(qemuNamespaceMknodItem *data) data->file, data->target); } else { VIR_DEBUG("Creating symlink %s -> %s", data->file, data->target); + existed = false; /* First, unlink the symlink target. Symlinks change and * therefore we have no guarantees that pre-existing @@ -1053,6 +1054,7 @@ qemuNamespaceMknodOne(qemuNamespaceMknodItem *data) } else { VIR_DEBUG("Creating dev %s (%d,%d)", data->file, major(data->sb.st_rdev), minor(data->sb.st_rdev)); + existed = false; unlink(data->file); if (mknod(data->file, data->sb.st_mode, data->sb.st_rdev) < 0) { virReportSystemError(errno, -- 2.47.2