diff src/lib-storage/index/dbox-single/sdbox-storage.c @ 12521:b22766c1aa51

lib-storage: Don't allocate index until mailbox_open()
author Timo Sirainen <tss@iki.fi>
date Sun, 05 Dec 2010 23:44:38 +0000
parents b26d6da05d48
children 67257180c7ea
line wrap: on
line diff
--- a/src/lib-storage/index/dbox-single/sdbox-storage.c	Sun Dec 05 23:18:55 2010 +0000
+++ b/src/lib-storage/index/dbox-single/sdbox-storage.c	Sun Dec 05 23:44:38 2010 +0000
@@ -48,10 +48,6 @@
 	mbox->box.mail_vfuncs = &sdbox_mail_vfuncs;
 
 	index_storage_mailbox_alloc(&mbox->box, name, flags, DBOX_INDEX_PREFIX);
-	mail_index_set_fsync_mode(mbox->box.index,
-				  storage->set->parsed_fsync_mode,
-				  MAIL_INDEX_SYNC_TYPE_APPEND |
-				  MAIL_INDEX_SYNC_TYPE_EXPUNGE);
 
 	ibox = INDEX_STORAGE_CONTEXT(&mbox->box);
 	ibox->save_commit_pre = sdbox_transaction_save_commit_pre;
@@ -61,9 +57,6 @@
 		MAIL_INDEX_OPEN_FLAG_NEVER_IN_MEMORY;
 
 	mbox->storage = (struct sdbox_storage *)storage;
-	mbox->hdr_ext_id =
-		mail_index_ext_register(mbox->box.index, "dbox-hdr",
-					sizeof(struct sdbox_index_header), 0, 0);
 	return &mbox->box;
 }
 
@@ -226,6 +219,9 @@
 
 	if (dbox_mailbox_open(box) < 0)
 		return -1;
+	mbox->hdr_ext_id =
+		mail_index_ext_register(box->index, "dbox-hdr",
+					sizeof(struct sdbox_index_header), 0, 0);
 
 	/* get/generate mailbox guid */
 	if (sdbox_read_header(mbox, &hdr, FALSE) < 0) {