# HG changeset patch # User Timo Sirainen # Date 1499776436 -10800 # Node ID e01bc3015b2f2e188a3141d5f33095d3b2f90c26 # Parent 8be59fab1d63695688f39fa0eba12912eff543a1 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. diff -r 8be59fab1d63 -r e01bc3015b2f src/lib-index/mail-transaction-log.c --- 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;