]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-index: fsync change broke .newlock dotlock for transaction log.
authorTimo Sirainen <tss@iki.fi>
Fri, 25 Jun 2010 16:02:18 +0000 (17:02 +0100)
committerTimo Sirainen <tss@iki.fi>
Fri, 25 Jun 2010 16:02:18 +0000 (17:02 +0100)
--HG--
branch : HEAD

src/lib-index/mail-transaction-log.c

index c4e411efe698d3a3a8791addff1e1b6c495e94d5..266857d6df5ebd3cb71bf3dd58f3ba4b5f36e86b 100644 (file)
@@ -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);