[dovecot-cvs] dovecot/src/lib-storage/index/mbox mbox-storage.h, 1.28, 1.29 mbox-transaction.c, 1.6, 1.7

cras at dovecot.org cras at dovecot.org
Sun Aug 29 10:52:05 EEST 2004


Update of /home/cvs/dovecot/src/lib-storage/index/mbox
In directory talvi:/tmp/cvs-serv23420/lib-storage/index/mbox

Modified Files:
	mbox-storage.h mbox-transaction.c 
Log Message:
Added sync flags parameter to mailbox_transaction_commit(), so EXPUNGE can
do a full sync with dirty syncing enabled.



Index: mbox-storage.h
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/mbox/mbox-storage.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- mbox-storage.h	22 Aug 2004 09:17:09 -0000	1.28
+++ mbox-storage.h	29 Aug 2004 07:52:03 -0000	1.29
@@ -34,7 +34,8 @@
 
 struct mailbox_transaction_context *
 mbox_transaction_begin(struct mailbox *box, int hide);
-int mbox_transaction_commit(struct mailbox_transaction_context *t);
+int mbox_transaction_commit(struct mailbox_transaction_context *t,
+			    enum mailbox_sync_flags flags);
 void mbox_transaction_rollback(struct mailbox_transaction_context *t);
 
 struct mailbox_sync_context *

Index: mbox-transaction.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/mbox/mbox-transaction.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- mbox-transaction.c	28 Aug 2004 16:39:54 -0000	1.6
+++ mbox-transaction.c	29 Aug 2004 07:52:03 -0000	1.7
@@ -16,7 +16,8 @@
 	return &t->ictx.mailbox_ctx;
 }
 
-int mbox_transaction_commit(struct mailbox_transaction_context *_t)
+int mbox_transaction_commit(struct mailbox_transaction_context *_t,
+			    enum mailbox_sync_flags flags)
 {
 	struct mbox_transaction_context *t =
 		(struct mbox_transaction_context *)_t;
@@ -37,8 +38,12 @@
 	t = NULL;
 
 	if (ret == 0) {
-		if (mbox_sync(ibox, MBOX_SYNC_LAST_COMMIT |
-			      (mbox_modified ? MBOX_SYNC_HEADER : 0)) < 0)
+		enum mbox_sync_flags mbox_sync_flags = MBOX_SYNC_LAST_COMMIT;
+		if ((flags & MAILBOX_SYNC_FLAG_FULL) != 0)
+			mbox_sync_flags |= MBOX_SYNC_UNDIRTY;
+		if (mbox_modified)
+			mbox_sync_flags |= MBOX_SYNC_HEADER;
+		if (mbox_sync(ibox, mbox_sync_flags) < 0)
 			ret = -1;
 	}
 



More information about the dovecot-cvs mailing list