On Wed, Oct 16, 2024 at 09:23:06 +0200, Martin Kletzander wrote: > 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 original state (false) because the function then behaves the same The *original* state, if it existed, was 'true'. You're reseting it to the *proper* state as the code will unlink and re-create it thus that specific file didn't exist. > 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 <mkletzan@xxxxxxxxxx> > --- > 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 71e29b4ba4f6..33a773917373 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, Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>