Mercurial > dovecot > core
changeset 26740:076df2d1f13f
lib-fs: Set internal fs/file/iter pointers to events
This will be used by the following commit
author | Timo Sirainen <timo.sirainen@open-xchange.com> |
---|---|
date | Fri, 29 Nov 2019 15:30:46 +0200 |
parents | 0a65e166052f |
children | 80f031c559f4 |
files | src/lib-fs/fs-api-private.h src/lib-fs/fs-api.c |
diffstat | 2 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-fs/fs-api-private.h Fri Nov 29 16:08:37 2019 +0200 +++ b/src/lib-fs/fs-api-private.h Fri Nov 29 15:30:46 2019 +0200 @@ -7,6 +7,10 @@ #include <sys/time.h> +#define FS_EVENT_FIELD_FS "lib-fs#fs" +#define FS_EVENT_FIELD_FILE "lib-fs#file" +#define FS_EVENT_FIELD_ITER "lib-fs#iter" + struct fs_api_module_register { unsigned int id; };
--- a/src/lib-fs/fs-api.c Fri Nov 29 16:08:37 2019 +0200 +++ b/src/lib-fs/fs-api.c Fri Nov 29 15:30:46 2019 +0200 @@ -161,6 +161,7 @@ if (fs_alloc(fs_class, args, set, fs_r, error_r) < 0) return -1; (*fs_r)->event = fs_create_event(*fs_r, set->event); + event_set_ptr((*fs_r)->event, FS_EVENT_FIELD_FS, *fs_r); temp_file_prefix = set->temp_file_prefix != NULL ? set->temp_file_prefix : ".temp.dovecot"; @@ -271,6 +272,8 @@ file->fs = fs; file->flags = mode_flags & ~FS_OPEN_MODE_MASK; file->event = fs_create_event(fs, event); + event_set_ptr(file->event, FS_EVENT_FIELD_FS, fs); + event_set_ptr(file->event, FS_EVENT_FIELD_FILE, file); fs->v.file_init(file, path, mode_flags & FS_OPEN_MODE_MASK, mode_flags & ~FS_OPEN_MODE_MASK); } T_END; @@ -1141,6 +1144,8 @@ iter->fs = fs; iter->flags = flags; iter->event = fs_create_event(fs, event); + event_set_ptr(iter->event, FS_EVENT_FIELD_FS, fs); + event_set_ptr(iter->event, FS_EVENT_FIELD_ITER, iter); fs->v.iter_init(iter, path, flags); } T_END; iter->start_time = now;