From: Timo Sirainen Date: Thu, 4 Feb 2021 00:15:22 +0000 (+0200) Subject: lib-storage: mailbox_list_init_fs() - Add event_parent X-Git-Tag: 2.3.15~145 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e6d8ac87a2f1ec7a715917090faa1c030182e7a3;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: mailbox_list_init_fs() - Add event_parent --- diff --git a/src/lib-storage/index/dbox-common/dbox-storage.c b/src/lib-storage/index/dbox-common/dbox-storage.c index a54f0a4282..a79f899322 100644 --- a/src/lib-storage/index/dbox-common/dbox-storage.c +++ b/src/lib-storage/index/dbox-common/dbox-storage.c @@ -125,7 +125,7 @@ int dbox_storage_create(struct mail_storage *_storage, set->mail_attachment_dir); storage->attachment_dir = p_strdup(_storage->pool, dir); - if (mailbox_list_init_fs(ns->list, name, args, + if (mailbox_list_init_fs(ns->list, _storage->event, name, args, storage->attachment_dir, &storage->attachment_fs, &error) < 0) { *error_r = t_strdup_printf("mail_attachment_fs: %s", diff --git a/src/lib-storage/mailbox-list.c b/src/lib-storage/mailbox-list.c index 512b893020..46671930f4 100644 --- a/src/lib-storage/mailbox-list.c +++ b/src/lib-storage/mailbox-list.c @@ -2041,7 +2041,8 @@ void mailbox_list_last_error_pop(struct mailbox_list *list) array_delete(&list->error_stack, count-1, 1); } -int mailbox_list_init_fs(struct mailbox_list *list, const char *driver, +int mailbox_list_init_fs(struct mailbox_list *list, struct event *event_parent, + const char *driver, const char *args, const char *root_dir, struct fs **fs_r, const char **error_r) { @@ -2053,6 +2054,9 @@ int mailbox_list_init_fs(struct mailbox_list *list, const char *driver, i_zero(&ssl_set); i_zero(&fs_set); mail_user_init_fs_settings(list->ns->user, &fs_set, &ssl_set); + /* fs_set.event_parent points to user->event by default */ + if (event_parent != NULL) + fs_set.event_parent = event_parent; fs_set.root_path = root_dir; fs_set.temp_file_prefix = mailbox_list_get_global_temp_prefix(list); diff --git a/src/lib-storage/mailbox-list.h b/src/lib-storage/mailbox-list.h index f0118927fb..a329896312 100644 --- a/src/lib-storage/mailbox-list.h +++ b/src/lib-storage/mailbox-list.h @@ -321,8 +321,10 @@ mailbox_list_get_last_internal_error(struct mailbox_list *list, void mailbox_list_last_error_push(struct mailbox_list *list); void mailbox_list_last_error_pop(struct mailbox_list *list); -/* Create a fs based on the settings in the given mailbox_list. */ -int mailbox_list_init_fs(struct mailbox_list *list, const char *driver, +/* Create a fs based on the settings in the given mailbox_list. If event_parent + is NULL, use user->event as the parent. */ +int mailbox_list_init_fs(struct mailbox_list *list, struct event *event_parent, + const char *driver, const char *args, const char *root_dir, struct fs **fs_r, const char **error_r); /* Return mailbox_list that was used to create the fs via