From 91c5256bf081235e7dccd10c3a525c9c4c9a89a4 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 30 Jul 2009 19:19:42 -0400 Subject: [PATCH] index-storage: Code cleanup. --HG-- branch : HEAD --- src/lib-storage/index/dbox/dbox-storage.c | 5 +++-- src/lib-storage/index/index-storage.c | 16 ++++++++-------- src/lib-storage/index/index-storage.h | 3 +-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/lib-storage/index/dbox/dbox-storage.c b/src/lib-storage/index/dbox/dbox-storage.c index b377f3a28d..be21347fc2 100644 --- a/src/lib-storage/index/dbox/dbox-storage.c +++ b/src/lib-storage/index/dbox/dbox-storage.c @@ -155,8 +155,6 @@ dbox_mailbox_alloc(struct mail_storage *storage, struct mailbox_list *list, mbox->ibox.box.storage = storage; mbox->ibox.box.list = list; mbox->ibox.mail_vfuncs = &dbox_mail_vfuncs; - mbox->ibox.keep_index_backups = TRUE; - mbox->ibox.index_never_in_memory = TRUE; index_storage_mailbox_alloc(&mbox->ibox, name, input, flags, DBOX_INDEX_PREFIX); @@ -164,6 +162,9 @@ dbox_mailbox_alloc(struct mail_storage *storage, struct mailbox_list *list, MAIL_INDEX_SYNC_TYPE_APPEND | MAIL_INDEX_SYNC_TYPE_EXPUNGE); + mbox->ibox.index_flags |= MAIL_INDEX_OPEN_FLAG_KEEP_BACKUPS | + MAIL_INDEX_OPEN_FLAG_NEVER_IN_MEMORY; + mbox->storage = (struct dbox_storage *)storage; mbox->alt_path = p_strdup(pool, dbox_get_alt_path(list, mbox->ibox.box.path)); diff --git a/src/lib-storage/index/index-storage.c b/src/lib-storage/index/index-storage.c index 4350e5495c..964881588d 100644 --- a/src/lib-storage/index/index-storage.c +++ b/src/lib-storage/index/index-storage.c @@ -385,13 +385,11 @@ int index_storage_mailbox_open(struct mailbox *box) i_assert(!box->opened); - index_flags = mail_storage_settings_to_index_flags(box->storage->set); - if (!ibox->move_to_memory) - index_flags |= MAIL_INDEX_OPEN_FLAG_CREATE; - if (ibox->keep_index_backups) - index_flags |= MAIL_INDEX_OPEN_FLAG_KEEP_BACKUPS; - if (ibox->index_never_in_memory) { - index_flags |= MAIL_INDEX_OPEN_FLAG_NEVER_IN_MEMORY; + index_flags = ibox->index_flags; + if (ibox->move_to_memory) + ibox->index_flags &= ~MAIL_INDEX_OPEN_FLAG_CREATE; + + if ((index_flags & MAIL_INDEX_OPEN_FLAG_NEVER_IN_MEMORY) != 0) { if (mail_index_is_in_memory(ibox->index)) { mail_storage_set_critical(box->storage, "Couldn't create index file"); @@ -414,7 +412,7 @@ int index_storage_mailbox_open(struct mailbox *box) ret = mail_index_open(ibox->index, index_flags, lock_method); if (ret <= 0 || ibox->move_to_memory) { - if (ibox->index_never_in_memory) { + if ((index_flags & MAIL_INDEX_OPEN_FLAG_NEVER_IN_MEMORY) != 0) { mail_storage_set_index_error(ibox); return -1; } @@ -483,6 +481,8 @@ void index_storage_mailbox_alloc(struct index_mailbox *ibox, const char *name, MAILBOX_LIST_PATH_TYPE_MAILBOX); ibox->box.path = p_strdup(box->pool, path); + ibox->index_flags = MAIL_INDEX_OPEN_FLAG_CREATE | + mail_storage_settings_to_index_flags(box->storage->set); ibox->keep_recent = (flags & MAILBOX_FLAG_KEEP_RECENT) != 0; ibox->keep_locked = (flags & MAILBOX_FLAG_KEEP_LOCKED) != 0; diff --git a/src/lib-storage/index/index-storage.h b/src/lib-storage/index/index-storage.h index c1d599df41..70d0b20aa6 100644 --- a/src/lib-storage/index/index-storage.h +++ b/src/lib-storage/index/index-storage.h @@ -19,6 +19,7 @@ enum mailbox_lock_notify_type { struct index_mailbox { struct mailbox box; union mail_index_view_module_context view_module_ctx; + enum mail_index_open_flags index_flags; struct mail_index *index; struct mail_index_view *view; @@ -55,8 +56,6 @@ struct index_mailbox { unsigned int sent_readonly_flags_warning:1; unsigned int notify_pending:1; unsigned int move_to_memory:1; - unsigned int keep_index_backups:1; - unsigned int index_never_in_memory:1; }; struct index_transaction_context { -- 2.47.3