Mercurial > dovecot > core-2.2
changeset 22460:18726a70209b
lib-storage: Try to get mailbox list index's permissions from its parent directory
This avoids stat()ing the mail/index root directory, which is especially
useful when mailbox list index is stored in tmpfs.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Mon, 24 Jul 2017 21:08:33 +0300 |
parents | d802f801c8f9 |
children | 618910705ddd |
files | src/lib-storage/list/mailbox-list-index.c |
diffstat | 1 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/list/mailbox-list-index.c Mon Jul 24 21:07:44 2017 +0300 +++ b/src/lib-storage/list/mailbox-list-index.c Mon Jul 24 21:08:33 2017 +0300 @@ -56,7 +56,6 @@ { struct mailbox_list_index *ilist = INDEX_LIST_CONTEXT(list); const struct mail_storage_settings *set = list->mail_set; - struct mailbox_permissions perm; enum mail_index_open_flags index_flags; unsigned int lock_timeout; @@ -77,10 +76,14 @@ lock_timeout = set->mail_max_lock_timeout == 0 ? UINT_MAX : set->mail_max_lock_timeout; - mailbox_list_get_root_permissions(list, &perm); - mail_index_set_permissions(ilist->index, perm.file_create_mode, - perm.file_create_gid, - perm.file_create_gid_origin); + if (!mail_index_use_existing_permissions(ilist->index)) { + struct mailbox_permissions perm; + + mailbox_list_get_root_permissions(list, &perm); + mail_index_set_permissions(ilist->index, perm.file_create_mode, + perm.file_create_gid, + perm.file_create_gid_origin); + } mail_index_set_log_rotation(ilist->index, MAILBOX_LIST_INDEX_LOG_ROTATE_MIN_SIZE, MAILBOX_LIST_INDEX_LOG_ROTATE_MAX_SIZE,