Mercurial > dovecot > core-2.2
changeset 22325:e01bc3015b2f
lib-index: Check .log.2 rotation only when syncing
Instead of also whenever appending transactions to .log file. This
shouldn't change the behavior much, and it's needed for the following
change to work correctly.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Tue, 11 Jul 2017 15:33:56 +0300 |
parents | 8be59fab1d63 |
children | ba1a35c5ead7 |
files | src/lib-index/mail-transaction-log.c |
diffstat | 1 files changed, 11 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-transaction-log.c Tue Jul 11 15:32:33 2017 +0300 +++ b/src/lib-index/mail-transaction-log.c Tue Jul 11 15:33:56 2017 +0300 @@ -467,17 +467,6 @@ const char *reason; int ret = 0; - if (!log->log_2_unlink_checked) { - /* we need to check once in a while if .log.2 should be deleted - to avoid wasting space on such old files. but we also don't - want to waste time on checking it when the same mailbox - gets opened over and over again rapidly (e.g. pop3). so - do this only when there have actually been some changes - to mailbox (i.e. when it's being locked here) */ - log->log_2_unlink_checked = TRUE; - mail_transaction_log_2_unlink_old(log); - } - /* we want to get the head file locked. this is a bit racy, since by the time we have it locked a new log file may have been created. @@ -534,6 +523,17 @@ i_assert(!log->index->log_sync_locked); + if (!log->log_2_unlink_checked) { + /* we need to check once in a while if .log.2 should be deleted + to avoid wasting space on such old files. but we also don't + want to waste time on checking it when the same mailbox + gets opened over and over again rapidly (e.g. pop3). so + do this only when there have actually been some changes + to mailbox (i.e. when it's being locked here) */ + log->log_2_unlink_checked = TRUE; + mail_transaction_log_2_unlink_old(log); + } + if (mail_transaction_log_lock_head(log, lock_reason) < 0) return -1;