dovecot-2.1: lib-index: Added mail_index_reset_fscked()

dovecot at dovecot.org dovecot at dovecot.org
Wed Dec 7 01:48:14 EET 2011


details:   http://hg.dovecot.org/dovecot-2.1/rev/8535def4ad01
changeset: 13806:8535def4ad01
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Dec 07 01:46:42 2011 +0200
description:
lib-index: Added mail_index_reset_fscked()

diffstat:

 src/lib-index/mail-index-fsck.c    |  10 ++++++++++
 src/lib-index/mail-index-private.h |   1 +
 src/lib-index/mail-index.h         |   3 +++
 3 files changed, 14 insertions(+), 0 deletions(-)

diffs (48 lines):

diff -r b6083d4d77d5 -r 8535def4ad01 src/lib-index/mail-index-fsck.c
--- a/src/lib-index/mail-index-fsck.c	Wed Dec 07 01:28:20 2011 +0200
+++ b/src/lib-index/mail-index-fsck.c	Wed Dec 07 01:46:42 2011 +0200
@@ -431,6 +431,8 @@
 
 	i_warning("fscking index file %s", index->filepath);
 
+	index->fscked = TRUE;
+
 	if (index->log->head == NULL) {
 		/* we're trying to open the index files, but there wasn't
 		   any .log file. */
@@ -469,3 +471,11 @@
 	ret = mail_index_fsck(index);
 	i_assert(ret == 0);
 }
+
+bool mail_index_reset_fscked(struct mail_index *index)
+{
+	bool ret = index->fscked;
+
+	index->fscked = FALSE;
+	return ret;
+}
diff -r b6083d4d77d5 -r 8535def4ad01 src/lib-index/mail-index-private.h
--- a/src/lib-index/mail-index-private.h	Wed Dec 07 01:28:20 2011 +0200
+++ b/src/lib-index/mail-index-private.h	Wed Dec 07 01:46:42 2011 +0200
@@ -241,6 +241,7 @@
 	unsigned int modseqs_enabled:1;
 	unsigned int initial_create:1;
 	unsigned int initial_mapped:1;
+	unsigned int fscked:1;
 };
 
 extern struct mail_index_module_register mail_index_module_register;
diff -r b6083d4d77d5 -r 8535def4ad01 src/lib-index/mail-index.h
--- a/src/lib-index/mail-index.h	Wed Dec 07 01:28:20 2011 +0200
+++ b/src/lib-index/mail-index.h	Wed Dec 07 01:46:42 2011 +0200
@@ -360,6 +360,9 @@
 /* Check and fix any found problems. Returns -1 if we couldn't lock for sync,
    0 if everything went ok. */
 int mail_index_fsck(struct mail_index *index);
+/* Returns TRUE if mail_index_fsck() has been called since the last
+   mail_index_reset_fscked() call. */
+bool mail_index_reset_fscked(struct mail_index *index);
 
 /* Synchronize changes in view. You have to go through all records, or view
    will be marked inconsistent. Only sync_mask type records are


More information about the dovecot-cvs mailing list