* [PATCH] util/filemonitor-inotify: Use QEMU_LOCK_GUARD()
@ 2026-06-22 7:36 Evgeny Kolmakov
0 siblings, 0 replies; only message in thread
From: Evgeny Kolmakov @ 2026-06-22 7:36 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, berrange, Evgeny Kolmakov
Replace manual qemu_mutex_(un)lock() calls with
QEMU_LOCK_GUARD() to remove 'goto cleanup' code
Signed-off-by: Evgeny Kolmakov <randomjack94dev@gmail.com>
---
util/filemonitor-inotify.c | 28 ++++++++--------------------
1 file changed, 8 insertions(+), 20 deletions(-)
diff --git a/util/filemonitor-inotify.c b/util/filemonitor-inotify.c
index 7352b9fe53..fe2057f820 100644
--- a/util/filemonitor-inotify.c
+++ b/util/filemonitor-inotify.c
@@ -21,6 +21,7 @@
#include "qemu/osdep.h"
#include "qemu/filemonitor.h"
#include "qemu/main-loop.h"
+#include "qemu/lockable.h"
#include "qemu/error-report.h"
#include "qapi/error.h"
#include "trace.h"
@@ -59,10 +60,9 @@ static void qemu_file_monitor_watch(void *arg)
int used = 0;
int len;
- qemu_mutex_lock(&mon->lock);
+ QEMU_LOCK_GUARD(&mon->lock);
if (mon->fd == -1) {
- qemu_mutex_unlock(&mon->lock);
return;
}
@@ -72,11 +72,10 @@ static void qemu_file_monitor_watch(void *arg)
if (errno != EAGAIN) {
error_report("Failure monitoring inotify FD '%s',"
"disabling events", strerror(errno));
- goto cleanup;
}
/* no more events right now */
- goto cleanup;
+ return;
}
/* Loop over all events in the buffer */
@@ -151,9 +150,6 @@ static void qemu_file_monitor_watch(void *arg)
}
}
}
-
- cleanup:
- qemu_mutex_unlock(&mon->lock);
}
@@ -257,9 +253,8 @@ qemu_file_monitor_add_watch(QFileMonitor *mon,
{
QFileMonitorDir *dir;
QFileMonitorWatch watch;
- int64_t ret = -1;
- qemu_mutex_lock(&mon->lock);
+ QEMU_LOCK_GUARD(&mon->lock);
dir = g_hash_table_lookup(mon->dirs, dirpath);
if (!dir) {
int rv = inotify_add_watch(mon->fd, dirpath,
@@ -268,7 +263,7 @@ qemu_file_monitor_add_watch(QFileMonitor *mon,
if (rv < 0) {
error_setg_errno(errp, errno, "Unable to watch '%s'", dirpath);
- goto cleanup;
+ return -1;
}
trace_qemu_file_monitor_enable_watch(mon, dirpath, rv);
@@ -297,11 +292,7 @@ qemu_file_monitor_add_watch(QFileMonitor *mon,
filename ? filename : "<none>",
cb, opaque, watch.id);
- ret = watch.id;
-
- cleanup:
- qemu_mutex_unlock(&mon->lock);
- return ret;
+ return watch.id;
}
@@ -312,13 +303,13 @@ void qemu_file_monitor_remove_watch(QFileMonitor *mon,
QFileMonitorDir *dir;
gsize i;
- qemu_mutex_lock(&mon->lock);
+ QEMU_LOCK_GUARD(&mon->lock);
trace_qemu_file_monitor_remove_watch(mon, dirpath, id);
dir = g_hash_table_lookup(mon->dirs, dirpath);
if (!dir) {
- goto cleanup;
+ return;
}
for (i = 0; i < dir->watches->len; i++) {
@@ -342,7 +333,4 @@ void qemu_file_monitor_remove_watch(QFileMonitor *mon,
qemu_set_fd_handler(mon->fd, NULL, NULL, NULL);
}
}
-
- cleanup:
- qemu_mutex_unlock(&mon->lock);
}
--
2.43.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-22 7:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-22 7:36 [PATCH] util/filemonitor-inotify: Use QEMU_LOCK_GUARD() Evgeny Kolmakov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.