From: Timo Sirainen Date: Fri, 25 Jun 2010 16:02:18 +0000 (+0100) Subject: lib-index: fsync change broke .newlock dotlock for transaction log. X-Git-Tag: 2.0.rc1~83 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a1db3e2071f4ca76b98f5eda9ff8429df391ac30;p=thirdparty%2Fdovecot%2Fcore.git lib-index: fsync change broke .newlock dotlock for transaction log. --HG-- branch : HEAD --- diff --git a/src/lib-index/mail-transaction-log.c b/src/lib-index/mail-transaction-log.c index c4e411efe6..266857d6df 100644 --- a/src/lib-index/mail-transaction-log.c +++ b/src/lib-index/mail-transaction-log.c @@ -80,12 +80,16 @@ int mail_transaction_log_open(struct mail_transaction_log *log) MAIL_TRANSACTION_LOG_SUFFIX, NULL); log->filepath2 = i_strconcat(log->filepath, ".2", NULL); + /* these settings aren't available at alloc() time, so we need to + set them here: */ log->nfs_flush = (log->index->flags & MAIL_INDEX_OPEN_FLAG_NFS_FLUSH) != 0; log->dotlock_settings.use_excl_lock = + log->dotlock_settings.nfs_flush = (log->index->flags & MAIL_INDEX_OPEN_FLAG_DOTLOCK_USE_EXCL) != 0; - log->dotlock_settings.nfs_flush = log->nfs_flush; - log->new_dotlock_settings = log->dotlock_settings; + log->dotlock_settings.nfs_flush = + log->new_dotlock_settings.nfs_flush = + log->nfs_flush; if (log->open_file != NULL) mail_transaction_log_file_free(&log->open_file);