changeset 21120:aca58a1e6717

lib-index: Fix flushing NFS if minimum wanted transaction log file is lost
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 16 Nov 2016 13:29:49 +0200
parents 82e3be158fe5
children 9146cf854cb9
files src/lib-index/mail-transaction-log-view.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-index/mail-transaction-log-view.c	Tue Nov 15 18:55:36 2016 +0200
+++ b/src/lib-index/mail-transaction-log-view.c	Wed Nov 16 13:29:49 2016 +0200
@@ -156,9 +156,11 @@
 	for (seq = min_file_seq; seq <= max_file_seq; seq++) {
 		if (file == NULL || file->hdr.file_seq != seq) {
 			/* see if we could find the missing file. if we know
-			   the max. file sequence, make sure NFS attribute
-			   cache gets flushed if necessary. */
-			bool nfs_flush = max_file_seq != (uint32_t)-1;
+			   the max. file sequence or we don't have the the min.
+			   file, make sure NFS attribute cache gets flushed if
+			   necessary. */
+			bool nfs_flush = seq == min_file_seq ||
+				max_file_seq != (uint32_t)-1;
 
 			ret = mail_transaction_log_find_file(view->log, seq,
 							     nfs_flush, &file);