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