From: Timo Sirainen Date: Mon, 4 Sep 2017 13:55:30 +0000 (+0300) Subject: lib-storage: Optimize INBOX notifications with mailbox_list_index_include_inbox=yes X-Git-Tag: 2.3.0.rc1~1113 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=91cec71840dda9bd4c26b8e88e6af18262d6b36a;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Optimize INBOX notifications with mailbox_list_index_include_inbox=yes There's no need for special INBOX checks in that case, because INBOX is tracked in the mailbox list index the same as any other mailbox. --- diff --git a/src/lib-storage/list/mailbox-list-index-notify.c b/src/lib-storage/list/mailbox-list-index-notify.c index 38b132caf4..33c3172fdd 100644 --- a/src/lib-storage/list/mailbox-list-index-notify.c +++ b/src/lib-storage/list/mailbox-list-index-notify.c @@ -101,9 +101,14 @@ int mailbox_list_index_notify_init(struct mailbox_list *list, inotify->subscriptions = mailbox_tree_dup(list->subscriptions); } inotify->list_log_path = i_strdup(ilist->index->log->filepath); - if ((list->ns->flags & NAMESPACE_FLAG_INBOX_ANY) != 0 && - mailbox_list_get_path(list, "INBOX", MAILBOX_LIST_PATH_TYPE_INDEX, - &index_dir) > 0) { + if (list->mail_set->mailbox_list_index_include_inbox) { + /* INBOX can be handled also using mailbox list index */ + } else if ((list->ns->flags & NAMESPACE_FLAG_INBOX_ANY) == 0) { + /* no INBOX in this namespace */ + } else if (mailbox_list_get_path(list, "INBOX", MAILBOX_LIST_PATH_TYPE_INDEX, + &index_dir) <= 0) { + /* no indexes for INBOX? can't handle it */ + } else { /* FIXME: annoyingly hardcoded filename. */ inotify->inbox_log_path = i_strdup_printf( "%s/"MAIL_INDEX_PREFIX".log", index_dir);