diff options
-rw-r--r-- | authz/listfile.c | 2 | ||||
-rw-r--r-- | hw/usb/dev-mtp.c | 10 | ||||
-rw-r--r-- | include/authz/listfile.h | 2 | ||||
-rw-r--r-- | include/qemu/filemonitor.h | 16 | ||||
-rw-r--r-- | tests/test-util-filemonitor.c | 130 | ||||
-rw-r--r-- | util/filemonitor-inotify.c | 25 | ||||
-rw-r--r-- | util/filemonitor-stub.c | 4 | ||||
-rw-r--r-- | util/trace-events | 6 |
8 files changed, 105 insertions, 90 deletions
diff --git a/authz/listfile.c b/authz/listfile.c index d4579767e7..bc2b58ef6d 100644 --- a/authz/listfile.c +++ b/authz/listfile.c @@ -93,7 +93,7 @@ qauthz_list_file_load(QAuthZListFile *fauthz, Error **errp) static void -qauthz_list_file_event(int wd G_GNUC_UNUSED, +qauthz_list_file_event(int64_t wd G_GNUC_UNUSED, QFileMonitorEvent ev G_GNUC_UNUSED, const char *name G_GNUC_UNUSED, void *opaque) diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c index 4dc1317e2e..ebf210fbf8 100644 --- a/hw/usb/dev-mtp.c +++ b/hw/usb/dev-mtp.c @@ -170,7 +170,7 @@ struct MTPObject { char *path; struct stat stat; /* file monitor watch id */ - int watchid; + int64_t watchid; MTPObject *parent; uint32_t nchildren; QLIST_HEAD(, MTPObject) children; @@ -498,7 +498,7 @@ static MTPObject *usb_mtp_object_lookup_name(MTPObject *parent, return NULL; } -static MTPObject *usb_mtp_object_lookup_id(MTPState *s, int id) +static MTPObject *usb_mtp_object_lookup_id(MTPState *s, int64_t id) { MTPObject *iter; @@ -511,7 +511,7 @@ static MTPObject *usb_mtp_object_lookup_id(MTPState *s, int id) return NULL; } -static void file_monitor_event(int id, +static void file_monitor_event(int64_t id, QFileMonitorEvent ev, const char *name, void *opaque) @@ -625,8 +625,8 @@ static void usb_mtp_object_readdir(MTPState *s, MTPObject *o) } if (s->file_monitor) { - int id = qemu_file_monitor_add_watch(s->file_monitor, o->path, NULL, - file_monitor_event, s, &err); + int64_t id = qemu_file_monitor_add_watch(s->file_monitor, o->path, NULL, + file_monitor_event, s, &err); if (id == -1) { error_report("usb-mtp: failed to add watch for %s: %s", o->path, error_get_pretty(err)); diff --git a/include/authz/listfile.h b/include/authz/listfile.h index ebbd5a4288..0d618c903c 100644 --- a/include/authz/listfile.h +++ b/include/authz/listfile.h @@ -92,7 +92,7 @@ struct QAuthZListFile { char *filename; bool refresh; QFileMonitor *file_monitor; - int file_watch; + int64_t file_watch; }; diff --git a/include/qemu/filemonitor.h b/include/qemu/filemonitor.h index cd031832ed..64267d09b2 100644 --- a/include/qemu/filemonitor.h +++ b/include/qemu/filemonitor.h @@ -52,7 +52,7 @@ typedef enum { * empty. * */ -typedef void (*QFileMonitorHandler)(int id, +typedef void (*QFileMonitorHandler)(int64_t id, QFileMonitorEvent event, const char *filename, void *opaque); @@ -103,12 +103,12 @@ void qemu_file_monitor_free(QFileMonitor *mon); * * Returns: a positive integer watch ID, or -1 on error */ -int qemu_file_monitor_add_watch(QFileMonitor *mon, - const char *dirpath, - const char *filename, - QFileMonitorHandler cb, - void *opaque, - Error **errp); +int64_t qemu_file_monitor_add_watch(QFileMonitor *mon, + const char *dirpath, + const char *filename, + QFileMonitorHandler cb, + void *opaque, + Error **errp); /** * qemu_file_monitor_remove_watch: @@ -123,6 +123,6 @@ int qemu_file_monitor_add_watch(QFileMonitor *mon, */ void qemu_file_monitor_remove_watch(QFileMonitor *mon, const char *dirpath, - int id); + int64_t id); #endif /* QEMU_FILE_MONITOR_H */ diff --git a/tests/test-util-filemonitor.c b/tests/test-util-filemonitor.c index 71a7cf5de0..46e781c022 100644 --- a/tests/test-util-filemonitor.c +++ b/tests/test-util-filemonitor.c @@ -43,12 +43,12 @@ typedef struct { int type; const char *filesrc; const char *filedst; - int watchid; + int64_t *watchid; int eventid; } QFileMonitorTestOp; typedef struct { - int id; + int64_t id; QFileMonitorEvent event; char *filename; } QFileMonitorTestRecord; @@ -90,7 +90,7 @@ qemu_file_monitor_test_event_loop(void *opaque G_GNUC_UNUSED) * an ordered list of all events that it receives */ static void -qemu_file_monitor_test_handler(int id, +qemu_file_monitor_test_handler(int64_t id, QFileMonitorEvent event, const char *filename, void *opaque) @@ -156,7 +156,7 @@ qemu_file_monitor_test_next_record(QFileMonitorTestData *data) */ static bool qemu_file_monitor_test_expect(QFileMonitorTestData *data, - int id, + int64_t id, QFileMonitorEvent event, const char *filename) { @@ -166,13 +166,14 @@ qemu_file_monitor_test_expect(QFileMonitorTestData *data, rec = qemu_file_monitor_test_next_record(data); if (!rec) { - g_printerr("Missing event watch id %d event %d file %s\n", + g_printerr("Missing event watch id %" PRIx64 " event %d file %s\n", id, event, filename); return false; } if (id != rec->id) { - g_printerr("Expected watch id %d but got %d\n", id, rec->id); + g_printerr("Expected watch id %" PRIx64 " but got %" PRIx64 "\n", + id, rec->id); goto cleanup; } @@ -198,170 +199,176 @@ qemu_file_monitor_test_expect(QFileMonitorTestData *data, static void test_file_monitor_events(void) { + int64_t watch0 = 0; + int64_t watch1 = 0; + int64_t watch2 = 0; + int64_t watch3 = 0; + int64_t watch4 = 0; + int64_t watch5 = 0; QFileMonitorTestOp ops[] = { { .type = QFILE_MONITOR_TEST_OP_ADD_WATCH, - .filesrc = NULL, .watchid = 0 }, + .filesrc = NULL, .watchid = &watch0 }, { .type = QFILE_MONITOR_TEST_OP_ADD_WATCH, - .filesrc = "one.txt", .watchid = 1 }, + .filesrc = "one.txt", .watchid = &watch1 }, { .type = QFILE_MONITOR_TEST_OP_ADD_WATCH, - .filesrc = "two.txt", .watchid = 2 }, + .filesrc = "two.txt", .watchid = &watch2 }, { .type = QFILE_MONITOR_TEST_OP_CREATE, .filesrc = "one.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "one.txt", .watchid = 0, + .filesrc = "one.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "one.txt", .watchid = 1, + .filesrc = "one.txt", .watchid = &watch1, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_CREATE, .filesrc = "two.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 0, + .filesrc = "two.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 2, + .filesrc = "two.txt", .watchid = &watch2, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_CREATE, .filesrc = "three.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "three.txt", .watchid = 0, + .filesrc = "three.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_UNLINK, .filesrc = "three.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "three.txt", .watchid = 0, + .filesrc = "three.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_DELETED }, { .type = QFILE_MONITOR_TEST_OP_RENAME, .filesrc = "one.txt", .filedst = "two.txt" }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "one.txt", .watchid = 0, + .filesrc = "one.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_DELETED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "one.txt", .watchid = 1, + .filesrc = "one.txt", .watchid = &watch1, .eventid = QFILE_MONITOR_EVENT_DELETED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 0, + .filesrc = "two.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 2, + .filesrc = "two.txt", .watchid = &watch2, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_APPEND, .filesrc = "two.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 0, + .filesrc = "two.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_MODIFIED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 2, + .filesrc = "two.txt", .watchid = &watch2, .eventid = QFILE_MONITOR_EVENT_MODIFIED }, { .type = QFILE_MONITOR_TEST_OP_TOUCH, .filesrc = "two.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 0, + .filesrc = "two.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_ATTRIBUTES }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 2, + .filesrc = "two.txt", .watchid = &watch2, .eventid = QFILE_MONITOR_EVENT_ATTRIBUTES }, { .type = QFILE_MONITOR_TEST_OP_DEL_WATCH, - .filesrc = "one.txt", .watchid = 1 }, + .filesrc = "one.txt", .watchid = &watch1 }, { .type = QFILE_MONITOR_TEST_OP_ADD_WATCH, - .filesrc = "one.txt", .watchid = 3 }, + .filesrc = "one.txt", .watchid = &watch3 }, { .type = QFILE_MONITOR_TEST_OP_CREATE, .filesrc = "one.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "one.txt", .watchid = 0, + .filesrc = "one.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "one.txt", .watchid = 3, + .filesrc = "one.txt", .watchid = &watch3, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_DEL_WATCH, - .filesrc = "one.txt", .watchid = 3 }, + .filesrc = "one.txt", .watchid = &watch3 }, { .type = QFILE_MONITOR_TEST_OP_UNLINK, .filesrc = "one.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "one.txt", .watchid = 0, + .filesrc = "one.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_DELETED }, { .type = QFILE_MONITOR_TEST_OP_MKDIR, .filesrc = "fish", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "fish", .watchid = 0, + .filesrc = "fish", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_ADD_WATCH, - .filesrc = "fish/", .watchid = 4 }, + .filesrc = "fish/", .watchid = &watch4 }, { .type = QFILE_MONITOR_TEST_OP_ADD_WATCH, - .filesrc = "fish/one.txt", .watchid = 5 }, + .filesrc = "fish/one.txt", .watchid = &watch5 }, { .type = QFILE_MONITOR_TEST_OP_CREATE, .filesrc = "fish/one.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "one.txt", .watchid = 4, + .filesrc = "one.txt", .watchid = &watch4, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "one.txt", .watchid = 5, + .filesrc = "one.txt", .watchid = &watch5, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_DEL_WATCH, - .filesrc = "fish/one.txt", .watchid = 5 }, + .filesrc = "fish/one.txt", .watchid = &watch5 }, { .type = QFILE_MONITOR_TEST_OP_RENAME, .filesrc = "fish/one.txt", .filedst = "two.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "one.txt", .watchid = 4, + .filesrc = "one.txt", .watchid = &watch4, .eventid = QFILE_MONITOR_EVENT_DELETED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 0, + .filesrc = "two.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 2, + .filesrc = "two.txt", .watchid = &watch2, .eventid = QFILE_MONITOR_EVENT_CREATED }, { .type = QFILE_MONITOR_TEST_OP_RMDIR, .filesrc = "fish", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "", .watchid = 4, + .filesrc = "", .watchid = &watch4, .eventid = QFILE_MONITOR_EVENT_IGNORED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "fish", .watchid = 0, + .filesrc = "fish", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_DELETED }, { .type = QFILE_MONITOR_TEST_OP_DEL_WATCH, - .filesrc = "fish", .watchid = 4 }, + .filesrc = "fish", .watchid = &watch4 }, { .type = QFILE_MONITOR_TEST_OP_UNLINK, .filesrc = "two.txt", }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 0, + .filesrc = "two.txt", .watchid = &watch0, .eventid = QFILE_MONITOR_EVENT_DELETED }, { .type = QFILE_MONITOR_TEST_OP_EVENT, - .filesrc = "two.txt", .watchid = 2, + .filesrc = "two.txt", .watchid = &watch2, .eventid = QFILE_MONITOR_EVENT_DELETED }, { .type = QFILE_MONITOR_TEST_OP_DEL_WATCH, - .filesrc = "two.txt", .watchid = 2 }, + .filesrc = "two.txt", .watchid = &watch2 }, { .type = QFILE_MONITOR_TEST_OP_DEL_WATCH, - .filesrc = NULL, .watchid = 0 }, + .filesrc = NULL, .watchid = &watch0 }, }; Error *local_err = NULL; GError *gerr = NULL; @@ -374,6 +381,7 @@ test_file_monitor_events(void) char *pathsrc = NULL; char *pathdst = NULL; QFileMonitorTestData data; + GHashTable *ids = g_hash_table_new(g_int64_hash, g_int64_equal); qemu_mutex_init(&data.lock); data.records = NULL; @@ -414,7 +422,6 @@ test_file_monitor_events(void) for (i = 0; i < G_N_ELEMENTS(ops); i++) { const QFileMonitorTestOp *op = &(ops[i]); int fd; - int watchid; struct utimbuf ubuf; char *watchdir; const char *watchfile; @@ -427,8 +434,8 @@ test_file_monitor_events(void) switch (op->type) { case QFILE_MONITOR_TEST_OP_ADD_WATCH: if (debug) { - g_printerr("Add watch %s %s %d\n", - dir, op->filesrc, op->watchid); + g_printerr("Add watch %s %s\n", + dir, op->filesrc); } if (op->filesrc && strchr(op->filesrc, '/')) { watchdir = g_strdup_printf("%s/%s", dir, op->filesrc); @@ -442,7 +449,7 @@ test_file_monitor_events(void) watchdir = g_strdup(dir); watchfile = op->filesrc; } - watchid = + *op->watchid = qemu_file_monitor_add_watch(mon, watchdir, watchfile, @@ -450,20 +457,23 @@ test_file_monitor_events(void) &data, &local_err); g_free(watchdir); - if (watchid < 0) { + if (*op->watchid < 0) { g_printerr("Unable to add watch %s", error_get_pretty(local_err)); goto cleanup; } - if (watchid != op->watchid) { - g_printerr("Unexpected watch ID %d, wanted %d\n", - watchid, op->watchid); + if (debug) { + g_printerr("Watch ID %" PRIx64 "\n", *op->watchid); + } + if (g_hash_table_contains(ids, op->watchid)) { + g_printerr("Watch ID %" PRIx64 "already exists", *op->watchid); goto cleanup; } + g_hash_table_add(ids, op->watchid); break; case QFILE_MONITOR_TEST_OP_DEL_WATCH: if (debug) { - g_printerr("Del watch %s %d\n", dir, op->watchid); + g_printerr("Del watch %s %" PRIx64 "\n", dir, *op->watchid); } if (op->filesrc && strchr(op->filesrc, '/')) { watchdir = g_strdup_printf("%s/%s", dir, op->filesrc); @@ -472,18 +482,19 @@ test_file_monitor_events(void) } else { watchdir = g_strdup(dir); } + g_hash_table_remove(ids, op->watchid); qemu_file_monitor_remove_watch(mon, watchdir, - op->watchid); + *op->watchid); g_free(watchdir); break; case QFILE_MONITOR_TEST_OP_EVENT: if (debug) { - g_printerr("Event id=%d event=%d file=%s\n", - op->watchid, op->eventid, op->filesrc); + g_printerr("Event id=%" PRIx64 " event=%d file=%s\n", + *op->watchid, op->eventid, op->filesrc); } if (!qemu_file_monitor_test_expect( - &data, op->watchid, op->eventid, op->filesrc)) + &data, *op->watchid, op->eventid, op->filesrc)) goto cleanup; break; case QFILE_MONITOR_TEST_OP_CREATE: @@ -596,6 +607,8 @@ test_file_monitor_events(void) pathsrc = pathdst = NULL; } + g_assert_cmpint(g_hash_table_size(ids), ==, 0); + err = 0; cleanup: @@ -647,6 +660,7 @@ test_file_monitor_events(void) abort(); } } + g_hash_table_unref(ids); g_free(dir); g_assert(err == 0); } diff --git a/util/filemonitor-inotify.c b/util/filemonitor-inotify.c index 3eb29f860b..b5f4b93f3f 100644 --- a/util/filemonitor-inotify.c +++ b/util/filemonitor-inotify.c @@ -29,7 +29,6 @@ struct QFileMonitor { int fd; - int nextid; /* watch ID counter */ QemuMutex lock; /* protects dirs & idmap */ GHashTable *dirs; /* dirname => QFileMonitorDir */ GHashTable *idmap; /* inotify ID => dirname */ @@ -37,7 +36,7 @@ struct QFileMonitor { typedef struct { - int id; /* watch ID */ + int64_t id; /* watch ID */ char *filename; /* optional filter */ QFileMonitorHandler cb; void *opaque; @@ -46,7 +45,8 @@ typedef struct { typedef struct { char *path; - int id; /* inotify ID */ + int inotify_id; /* inotify ID */ + int next_file_id; /* file ID counter */ GArray *watches; /* QFileMonitorWatch elements */ } QFileMonitorDir; @@ -126,7 +126,8 @@ static void qemu_file_monitor_watch(void *arg) g_assert_not_reached(); } - trace_qemu_file_monitor_event(mon, dir->path, name, ev->mask, dir->id); + trace_qemu_file_monitor_event(mon, dir->path, name, ev->mask, + dir->inotify_id); for (i = 0; i < dir->watches->len; i++) { QFileMonitorWatch *watch = &g_array_index(dir->watches, QFileMonitorWatch, @@ -237,7 +238,7 @@ qemu_file_monitor_free(QFileMonitor *mon) g_idle_add((GSourceFunc)qemu_file_monitor_free_idle, mon); } -int +int64_t qemu_file_monitor_add_watch(QFileMonitor *mon, const char *dirpath, const char *filename, @@ -247,7 +248,7 @@ qemu_file_monitor_add_watch(QFileMonitor *mon, { QFileMonitorDir *dir; QFileMonitorWatch watch; - int ret = -1; + int64_t ret = -1; qemu_mutex_lock(&mon->lock); dir = g_hash_table_lookup(mon->dirs, dirpath); @@ -265,7 +266,7 @@ qemu_file_monitor_add_watch(QFileMonitor *mon, dir = g_new0(QFileMonitorDir, 1); dir->path = g_strdup(dirpath); - dir->id = rv; + dir->inotify_id = rv; dir->watches = g_array_new(FALSE, TRUE, sizeof(QFileMonitorWatch)); g_hash_table_insert(mon->dirs, dir->path, dir); @@ -276,7 +277,7 @@ qemu_file_monitor_add_watch(QFileMonitor *mon, } } - watch.id = mon->nextid++; + watch.id = (((int64_t)dir->inotify_id) << 32) | dir->next_file_id++; watch.filename = g_strdup(filename); watch.cb = cb; watch.opaque = opaque; @@ -297,7 +298,7 @@ qemu_file_monitor_add_watch(QFileMonitor *mon, void qemu_file_monitor_remove_watch(QFileMonitor *mon, const char *dirpath, - int id) + int64_t id) { QFileMonitorDir *dir; gsize i; @@ -322,10 +323,10 @@ void qemu_file_monitor_remove_watch(QFileMonitor *mon, } if (dir->watches->len == 0) { - inotify_rm_watch(mon->fd, dir->id); - trace_qemu_file_monitor_disable_watch(mon, dir->path, dir->id); + inotify_rm_watch(mon->fd, dir->inotify_id); + trace_qemu_file_monitor_disable_watch(mon, dir->path, dir->inotify_id); - g_hash_table_remove(mon->idmap, GINT_TO_POINTER(dir->id)); + g_hash_table_remove(mon->idmap, GINT_TO_POINTER(dir->inotify_id)); g_hash_table_remove(mon->dirs, dir->path); if (g_hash_table_size(mon->dirs) == 0) { diff --git a/util/filemonitor-stub.c b/util/filemonitor-stub.c index 48268b2bb6..2c0e97edd8 100644 --- a/util/filemonitor-stub.c +++ b/util/filemonitor-stub.c @@ -38,7 +38,7 @@ qemu_file_monitor_free(QFileMonitor *mon G_GNUC_UNUSED) } -int +int64_t qemu_file_monitor_add_watch(QFileMonitor *mon G_GNUC_UNUSED, const char *dirpath G_GNUC_UNUSED, const char *filename G_GNUC_UNUSED, @@ -54,6 +54,6 @@ qemu_file_monitor_add_watch(QFileMonitor *mon G_GNUC_UNUSED, void qemu_file_monitor_remove_watch(QFileMonitor *mon G_GNUC_UNUSED, const char *dirpath G_GNUC_UNUSED, - int id G_GNUC_UNUSED) + int64_t id G_GNUC_UNUSED) { } diff --git a/util/trace-events b/util/trace-events index 56c27287be..9dbd237dad 100644 --- a/util/trace-events +++ b/util/trace-events @@ -22,13 +22,13 @@ buffer_move(const char *buf, size_t len, const char *from) "%s: %zd bytes from % buffer_free(const char *buf, size_t len) "%s: capacity %zd" # filemonitor-inotify.c -qemu_file_monitor_add_watch(void *mon, const char *dirpath, const char *filename, void *cb, void *opaque, int id) "File monitor %p add watch dir='%s' file='%s' cb=%p opaque=%p id=%u" -qemu_file_monitor_remove_watch(void *mon, const char *dirpath, int id) "File monitor %p remove watch dir='%s' id=%u" +qemu_file_monitor_add_watch(void *mon, const char *dirpath, const char *filename, void *cb, void *opaque, int64_t id) "File monitor %p add watch dir='%s' file='%s' cb=%p opaque=%p id=%" PRId64 +qemu_file_monitor_remove_watch(void *mon, const char *dirpath, int64_t id) "File monitor %p remove watch dir='%s' id=%" PRId64 qemu_file_monitor_new(void *mon, int fd) "File monitor %p created fd=%d" qemu_file_monitor_enable_watch(void *mon, const char *dirpath, int id) "File monitor %p enable watch dir='%s' id=%u" qemu_file_monitor_disable_watch(void *mon, const char *dirpath, int id) "Fle monitor %p disable watch dir='%s' id=%u" qemu_file_monitor_event(void *mon, const char *dirpath, const char *filename, int mask, unsigned int id) "File monitor %p event dir='%s' file='%s' mask=0x%x id=%u" -qemu_file_monitor_dispatch(void *mon, const char *dirpath, const char *filename, int ev, void *cb, void *opaque, unsigned int id) "File monitor %p dispatch dir='%s' file='%s' ev=%d cb=%p opaque=%p id=%u" +qemu_file_monitor_dispatch(void *mon, const char *dirpath, const char *filename, int ev, void *cb, void *opaque, int64_t id) "File monitor %p dispatch dir='%s' file='%s' ev=%d cb=%p opaque=%p id=%" PRId64 # qemu-coroutine.c qemu_aio_coroutine_enter(void *ctx, void *from, void *to, void *opaque) "ctx %p from %p to %p opaque %p" |