Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5977:38a73d870731 HEAD
Added mail_nfs_storage and mail_nfs_index settings.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 13 Jul 2007 00:18:24 +0300 |
parents | 3a19830ab7f6 |
children | 28836909b3b0 |
files | dovecot-example.conf src/lib-storage/mail-storage.c src/master/mail-process.c src/master/master-settings-defs.c src/master/master-settings.c src/master/master-settings.h |
diffstat | 6 files changed, 26 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/dovecot-example.conf Fri Jul 13 00:15:56 2007 +0300 +++ b/dovecot-example.conf Fri Jul 13 00:18:24 2007 +0300 @@ -303,6 +303,13 @@ # goes down. #fsync_disable = no +# Mail storage exists in NFS. Set this to yes to make Dovecot flush NFS caches +# whenever needed. If you're using only a single mail server this isn't needed. +#mail_nfs_storage = no +# Mail index files also exist in NFS. Setting this to yes requires +# mmap_disable=yes and fsync_disable=no. +#mail_nfs_index = no + # Disable mailbox list indexing. #mailbox_list_index_disable = no
--- a/src/lib-storage/mail-storage.c Fri Jul 13 00:15:56 2007 +0300 +++ b/src/lib-storage/mail-storage.c Fri Jul 13 00:18:24 2007 +0300 @@ -86,6 +86,15 @@ *flags_r |= MAIL_STORAGE_FLAG_SAVE_CRLF; if (getenv("FSYNC_DISABLE") != NULL) *flags_r |= MAIL_STORAGE_FLAG_FSYNC_DISABLE; + if (getenv("MAIL_NFS_STORAGE") != NULL) + *flags_r |= MAIL_STORAGE_FLAG_NFS_FLUSH_STORAGE; + if (getenv("MAIL_NFS_INDEX") != NULL) { + *flags_r |= MAIL_STORAGE_FLAG_NFS_FLUSH_INDEX; + if ((*flags_r & MAIL_STORAGE_FLAG_MMAP_DISABLE) == 0) + i_fatal("mail_nfs_index=yes requires mmap_disable=yes"); + if ((*flags_r & MAIL_STORAGE_FLAG_FSYNC_DISABLE) != 0) + i_fatal("mail_nfs_index=yes requires fsync_disable=no"); + } str = getenv("POP3_UIDL_FORMAT"); if (str != NULL && (str = strchr(str, '%')) != NULL &&
--- a/src/master/mail-process.c Fri Jul 13 00:15:56 2007 +0300 +++ b/src/master/mail-process.c Fri Jul 13 00:18:24 2007 +0300 @@ -334,6 +334,10 @@ env_put("DOTLOCK_USE_EXCL=1"); if (set->fsync_disable) env_put("FSYNC_DISABLE=1"); + if (set->mail_nfs_storage) + env_put("MAIL_NFS_STORAGE=1"); + if (set->mail_nfs_index) + env_put("MAIL_NFS_INDEX=1"); if (set->mailbox_list_index_disable) env_put("MAILBOX_LIST_INDEX_DISABLE=1"); if (set->maildir_stat_dirs)
--- a/src/master/master-settings-defs.c Fri Jul 13 00:15:56 2007 +0300 +++ b/src/master/master-settings-defs.c Fri Jul 13 00:18:24 2007 +0300 @@ -79,6 +79,8 @@ DEF_BOOL(mmap_disable), DEF_BOOL(dotlock_use_excl), DEF_BOOL(fsync_disable), + DEF_BOOL(mail_nfs_storage), + DEF_BOOL(mail_nfs_index), DEF_BOOL(mailbox_list_index_disable), DEF_STR(lock_method), DEF_BOOL(maildir_stat_dirs),
--- a/src/master/master-settings.c Fri Jul 13 00:15:56 2007 +0300 +++ b/src/master/master-settings.c Fri Jul 13 00:18:24 2007 +0300 @@ -235,6 +235,8 @@ #endif MEMBER(dotlock_use_excl) FALSE, MEMBER(fsync_disable) FALSE, + MEMBER(mail_nfs_storage) FALSE, + MEMBER(mail_nfs_index) FALSE, MEMBER(mailbox_list_index_disable) FALSE, MEMBER(lock_method) "fcntl", MEMBER(maildir_stat_dirs) FALSE,
--- a/src/master/master-settings.h Fri Jul 13 00:15:56 2007 +0300 +++ b/src/master/master-settings.h Fri Jul 13 00:18:24 2007 +0300 @@ -91,6 +91,8 @@ bool mmap_disable; bool dotlock_use_excl; bool fsync_disable; + bool mail_nfs_storage; + bool mail_nfs_index; bool mailbox_list_index_disable; const char *lock_method; bool maildir_stat_dirs;