Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5975:78fe45cdc192 HEAD
Added MAIL_STORAGE_FLAG_FSYNC_DISABLE and moved FSYNC_DISABLE environment
handling elsewhere.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 13 Jul 2007 00:12:21 +0300 |
parents | b88278b5d8d3 |
children | 3a19830ab7f6 |
files | src/lib-storage/index/index-storage.c src/lib-storage/mail-storage.c src/lib-storage/mail-storage.h |
diffstat | 3 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/index-storage.c Fri Jul 13 00:05:44 2007 +0300 +++ b/src/lib-storage/index/index-storage.c Fri Jul 13 00:12:21 2007 +0300 @@ -354,11 +354,6 @@ i_assert(!ibox->box.opened); - if (getenv("FSYNC_DISABLE") != NULL) { - ibox->fsync_disable = TRUE; - index_flags |= MAIL_INDEX_OPEN_FLAG_FSYNC_DISABLE; - } - if (!ibox->move_to_memory) index_flags |= MAIL_INDEX_OPEN_FLAG_CREATE; #ifndef MMAP_CONFLICTS_WRITE @@ -369,6 +364,10 @@ index_flags |= MAIL_INDEX_OPEN_FLAG_DOTLOCK_USE_EXCL; if ((storage->flags & MAIL_STORAGE_FLAG_NFS_FLUSH_INDEX) != 0) index_flags |= MAIL_INDEX_OPEN_FLAG_NFS_FLUSH; + if ((storage->flags & MAIL_STORAGE_FLAG_FSYNC_DISABLE) != 0) { + index_flags |= MAIL_INDEX_OPEN_FLAG_FSYNC_DISABLE; + ibox->fsync_disable = TRUE; + } ret = mail_index_open(ibox->index, index_flags, storage->lock_method); if (ret <= 0 || ibox->move_to_memory) {
--- a/src/lib-storage/mail-storage.c Fri Jul 13 00:05:44 2007 +0300 +++ b/src/lib-storage/mail-storage.c Fri Jul 13 00:12:21 2007 +0300 @@ -84,6 +84,8 @@ *flags_r |= MAIL_STORAGE_FLAG_DOTLOCK_USE_EXCL; if (getenv("MAIL_SAVE_CRLF") != NULL) *flags_r |= MAIL_STORAGE_FLAG_SAVE_CRLF; + if (getenv("FSYNC_DISABLE") != NULL) + *flags_r |= MAIL_STORAGE_FLAG_FSYNC_DISABLE; str = getenv("POP3_UIDL_FORMAT"); if (str != NULL && (str = strchr(str, '%')) != NULL &&
--- a/src/lib-storage/mail-storage.h Fri Jul 13 00:05:44 2007 +0300 +++ b/src/lib-storage/mail-storage.h Fri Jul 13 00:12:21 2007 +0300 @@ -36,6 +36,8 @@ /* Flush NFS caches for mail storage / index */ MAIL_STORAGE_FLAG_NFS_FLUSH_STORAGE = 0x800, MAIL_STORAGE_FLAG_NFS_FLUSH_INDEX = 0x1000, + /* Don't use fsync() or fdatasync() */ + MAIL_STORAGE_FLAG_FSYNC_DISABLE = 0x2000 }; enum mailbox_open_flags {