dovecot-2.2: lib-index: Changed mail_index_set_fsync_mode() to u...

dovecot at dovecot.org dovecot at dovecot.org
Sat Sep 15 19:56:59 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/0efc12f3eb2a
changeset: 15063:0efc12f3eb2a
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Sep 15 19:54:21 2012 +0300
description:
lib-index: Changed mail_index_set_fsync_mode() to use a separate enum for the mask.

diffstat:

 src/lib-index/mail-index-private.h               |   2 +-
 src/lib-index/mail-index-transaction-export.c    |  16 ++++++++--------
 src/lib-index/mail-index.c                       |   2 +-
 src/lib-index/mail-index.h                       |   9 ++++++++-
 src/lib-storage/index/cydir/cydir-storage.c      |   4 ++--
 src/lib-storage/index/dbox-common/dbox-storage.c |   4 ++--
 6 files changed, 22 insertions(+), 15 deletions(-)

diffs (148 lines):

diff -r 9935621836c8 -r 0efc12f3eb2a src/lib-index/mail-index-private.h
--- a/src/lib-index/mail-index-private.h	Sat Sep 15 19:12:04 2012 +0300
+++ b/src/lib-index/mail-index-private.h	Sat Sep 15 19:54:21 2012 +0300
@@ -169,7 +169,7 @@
 	unsigned int open_count;
 	enum mail_index_open_flags flags;
 	enum fsync_mode fsync_mode;
-	enum mail_index_sync_type fsync_mask;
+	enum mail_index_fsync_mask fsync_mask;
 	mode_t mode;
 	gid_t gid;
 	char *gid_origin;
diff -r 9935621836c8 -r 0efc12f3eb2a src/lib-index/mail-index-transaction-export.c
--- a/src/lib-index/mail-index-transaction-export.c	Sat Sep 15 19:12:04 2012 +0300
+++ b/src/lib-index/mail-index-transaction-export.c	Sat Sep 15 19:54:21 2012 +0300
@@ -333,13 +333,13 @@
 	log_append_buffer(ctx, tmp_buf, MAIL_TRANSACTION_KEYWORD_UPDATE);
 }
 
-static enum mail_index_sync_type
+static enum mail_index_fsync_mask
 log_append_keyword_updates(struct mail_index_export_context *ctx)
 {
         const struct mail_index_transaction_keyword_update *updates;
 	const char *const *keywords;
 	buffer_t *tmp_buf;
-	enum mail_index_sync_type change_mask = 0;
+	enum mail_index_fsync_mask change_mask = 0;
 	unsigned int i, count, keywords_count;
 
 	tmp_buf = buffer_create_dynamic(pool_datastack_create(), 64);
@@ -352,14 +352,14 @@
 	for (i = 0; i < count; i++) {
 		if (array_is_created(&updates[i].add_seq) &&
 		    array_count(&updates[i].add_seq) > 0) {
-			change_mask |= MAIL_INDEX_SYNC_TYPE_KEYWORD_ADD;
+			change_mask |= MAIL_INDEX_FSYNC_MASK_KEYWORDS;
 			log_append_keyword_update(ctx, tmp_buf,
 					MODIFY_ADD, keywords[i],
 					updates[i].add_seq.arr.buffer);
 		}
 		if (array_is_created(&updates[i].remove_seq) &&
 		    array_count(&updates[i].remove_seq) > 0) {
-			change_mask |= MAIL_INDEX_SYNC_TYPE_KEYWORD_REMOVE;
+			change_mask |= MAIL_INDEX_FSYNC_MASK_KEYWORDS;
 			log_append_keyword_update(ctx, tmp_buf,
 					MODIFY_REMOVE, keywords[i],
 					updates[i].remove_seq.arr.buffer);
@@ -372,7 +372,7 @@
 				   struct mail_transaction_log_append_ctx *append_ctx)
 {
 	static uint8_t null4[4] = { 0, 0, 0, 0 };
-	enum mail_index_sync_type change_mask = 0;
+	enum mail_index_fsync_mask change_mask = 0;
 	struct mail_index_export_context ctx;
 
 	memset(&ctx, 0, sizeof(ctx));
@@ -394,13 +394,13 @@
 				  MAIL_TRANSACTION_HEADER_UPDATE);
 	}
 	if (array_is_created(&t->appends)) {
-		change_mask |= MAIL_INDEX_SYNC_TYPE_APPEND;
+		change_mask |= MAIL_INDEX_FSYNC_MASK_APPENDS;
 		log_append_buffer(&ctx, t->appends.arr.buffer,
 				  MAIL_TRANSACTION_APPEND);
 	}
 
 	if (array_is_created(&t->updates)) {
-		change_mask |= MAIL_INDEX_SYNC_TYPE_FLAGS;
+		change_mask |= MAIL_INDEX_FSYNC_MASK_FLAGS;
 		log_append_flag_updates(&ctx, t);
 	}
 
@@ -425,7 +425,7 @@
 		/* non-external expunges are only requests, ignore them when
 		   checking fsync_mask */
 		if ((t->flags & MAIL_INDEX_TRANSACTION_FLAG_EXTERNAL) != 0)
-			change_mask |= MAIL_INDEX_SYNC_TYPE_EXPUNGE;
+			change_mask |= MAIL_INDEX_FSYNC_MASK_EXPUNGES;
 		log_append_buffer(&ctx, t->expunges.arr.buffer,
 				  MAIL_TRANSACTION_EXPUNGE_GUID);
 	}
diff -r 9935621836c8 -r 0efc12f3eb2a src/lib-index/mail-index.c
--- a/src/lib-index/mail-index.c	Sat Sep 15 19:12:04 2012 +0300
+++ b/src/lib-index/mail-index.c	Sat Sep 15 19:54:21 2012 +0300
@@ -86,7 +86,7 @@
 
 void mail_index_set_fsync_mode(struct mail_index *index,
 			       enum fsync_mode mode,
-			       enum mail_index_sync_type mask)
+			       enum mail_index_fsync_mask mask)
 {
 	index->fsync_mode = mode;
 	index->fsync_mask = mask;
diff -r 9935621836c8 -r 0efc12f3eb2a src/lib-index/mail-index.h
--- a/src/lib-index/mail-index.h	Sat Sep 15 19:12:04 2012 +0300
+++ b/src/lib-index/mail-index.h	Sat Sep 15 19:54:21 2012 +0300
@@ -136,6 +136,13 @@
 	MAIL_INDEX_SYNC_TYPE_KEYWORD_REMOVE	= 0x10
 };
 
+enum mail_index_fsync_mask {
+	MAIL_INDEX_FSYNC_MASK_APPENDS	= 0x01,
+	MAIL_INDEX_FSYNC_MASK_EXPUNGES	= 0x02,
+	MAIL_INDEX_FSYNC_MASK_FLAGS	= 0x04,
+	MAIL_INDEX_FSYNC_MASK_KEYWORDS	= 0x08
+};
+
 enum mail_index_sync_flags {
 	/* Resync all dirty messages' flags. */
 	MAIL_INDEX_SYNC_FLAG_FLUSH_DIRTY	= 0x01,
@@ -214,7 +221,7 @@
 /* Specify how often to do fsyncs. If mode is FSYNC_MODE_OPTIMIZED, the mask
    can be used to specify which transaction types to fsync. */
 void mail_index_set_fsync_mode(struct mail_index *index, enum fsync_mode mode,
-			       enum mail_index_sync_type mask);
+			       enum mail_index_fsync_mask mask);
 void mail_index_set_permissions(struct mail_index *index,
 				mode_t mode, gid_t gid, const char *gid_origin);
 /* Set locking method and maximum time to wait for a lock (-1U = default). */
diff -r 9935621836c8 -r 0efc12f3eb2a src/lib-storage/index/cydir/cydir-storage.c
--- a/src/lib-storage/index/cydir/cydir-storage.c	Sat Sep 15 19:12:04 2012 +0300
+++ b/src/lib-storage/index/cydir/cydir-storage.c	Sat Sep 15 19:54:21 2012 +0300
@@ -83,8 +83,8 @@
 		return -1;
 	mail_index_set_fsync_mode(box->index,
 				  box->storage->set->parsed_fsync_mode,
-				  MAIL_INDEX_SYNC_TYPE_APPEND |
-				  MAIL_INDEX_SYNC_TYPE_EXPUNGE);
+				  MAIL_INDEX_FSYNC_MASK_APPENDS |
+				  MAIL_INDEX_FSYNC_MASK_EXPUNGES);
 	return 0;
 }
 
diff -r 9935621836c8 -r 0efc12f3eb2a src/lib-storage/index/dbox-common/dbox-storage.c
--- a/src/lib-storage/index/dbox-common/dbox-storage.c	Sat Sep 15 19:12:04 2012 +0300
+++ b/src/lib-storage/index/dbox-common/dbox-storage.c	Sat Sep 15 19:54:21 2012 +0300
@@ -190,8 +190,8 @@
 		return -1;
 	mail_index_set_fsync_mode(box->index,
 				  box->storage->set->parsed_fsync_mode,
-				  MAIL_INDEX_SYNC_TYPE_APPEND |
-				  MAIL_INDEX_SYNC_TYPE_EXPUNGE);
+				  MAIL_INDEX_FSYNC_MASK_APPENDS |
+				  MAIL_INDEX_FSYNC_MASK_EXPUNGES);
 	return 0;
 }
 


More information about the dovecot-cvs mailing list