dovecot-2.0-sslstream: lib-storage: Moved struct mail_index_* fr...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Feb 13 03:00:52 EET 2010
details: http://hg.dovecot.org/dovecot-2.0-sslstream/rev/e7f066508299
changeset: 10658:e7f066508299
user: Timo Sirainen <tss at iki.fi>
date: Sun Feb 07 15:44:33 2010 +0200
description:
lib-storage: Moved struct mail_index_* from index_mailbox to mailbox.
We're relying more and more of all mailboxes being used via lib-index, and
this change makes accessing the indexes easier.
diffstat:
50 files changed, 290 insertions(+), 304 deletions(-)
src/lib-storage/index/cydir/cydir-save.c | 2
src/lib-storage/index/cydir/cydir-storage.c | 4
src/lib-storage/index/cydir/cydir-sync.c | 6 -
src/lib-storage/index/dbox-common/dbox-sync-rebuild.c | 2
src/lib-storage/index/dbox-multi/mdbox-mail.c | 10 -
src/lib-storage/index/dbox-multi/mdbox-save.c | 6 -
src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c | 10 -
src/lib-storage/index/dbox-multi/mdbox-storage.c | 24 ++--
src/lib-storage/index/dbox-multi/mdbox-sync.c | 10 -
src/lib-storage/index/dbox-single/sdbox-mail.c | 4
src/lib-storage/index/dbox-single/sdbox-save.c | 2
src/lib-storage/index/dbox-single/sdbox-storage.c | 16 +-
src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c | 2
src/lib-storage/index/dbox-single/sdbox-sync.c | 10 -
src/lib-storage/index/index-fetch.c | 30 ++---
src/lib-storage/index/index-mail-headers.c | 19 +--
src/lib-storage/index/index-mail.c | 22 +--
src/lib-storage/index/index-search-result.c | 6 -
src/lib-storage/index/index-search.c | 2
src/lib-storage/index/index-sort-string.c | 3
src/lib-storage/index/index-status.c | 20 +--
src/lib-storage/index/index-storage.c | 79 +++++---------
src/lib-storage/index/index-storage.h | 7 -
src/lib-storage/index/index-sync-search.c | 2
src/lib-storage/index/index-sync.c | 40 +++----
src/lib-storage/index/index-thread.c | 7 -
src/lib-storage/index/index-transaction.c | 27 ++--
src/lib-storage/index/maildir/maildir-copy.c | 2
src/lib-storage/index/maildir/maildir-mail.c | 12 +-
src/lib-storage/index/maildir/maildir-save.c | 4
src/lib-storage/index/maildir/maildir-storage.c | 4
src/lib-storage/index/maildir/maildir-sync-index.c | 25 ++--
src/lib-storage/index/maildir/maildir-sync.c | 16 +-
src/lib-storage/index/maildir/maildir-uidlist.c | 10 -
src/lib-storage/index/maildir/maildir-util.c | 2
src/lib-storage/index/mbox/mbox-lock.c | 2
src/lib-storage/index/mbox/mbox-mail.c | 6 -
src/lib-storage/index/mbox/mbox-save.c | 8 -
src/lib-storage/index/mbox/mbox-storage.c | 10 -
src/lib-storage/index/mbox/mbox-sync-parse.c | 10 +
src/lib-storage/index/mbox/mbox-sync.c | 29 ++---
src/lib-storage/index/raw/raw-storage.c | 2
src/lib-storage/index/raw/raw-sync.c | 6 -
src/lib-storage/index/test-index-fetch.c | 8 -
src/lib-storage/mail-storage-private.h | 8 +
src/lib-storage/mail-storage.c | 9 +
src/plugins/virtual/virtual-mail.c | 7 -
src/plugins/virtual/virtual-search.c | 2
src/plugins/virtual/virtual-storage.c | 4
src/plugins/virtual/virtual-sync.c | 36 ++----
diffs (truncated from 2217 to 300 lines):
diff -r 9d3b5cbef222 -r e7f066508299 src/lib-storage/index/cydir/cydir-save.c
--- a/src/lib-storage/index/cydir/cydir-save.c Sun Feb 07 04:50:40 2010 +0200
+++ b/src/lib-storage/index/cydir/cydir-save.c Sun Feb 07 15:44:33 2010 +0200
@@ -85,7 +85,7 @@ int cydir_save_begin(struct mail_save_co
enum mail_flags save_flags;
struct istream *crlf_input;
- if (mail_index_is_deleted(ctx->mbox->ibox.index)) {
+ if (mail_index_is_deleted(trans->box->index)) {
mailbox_set_deleted(trans->box);
return -1;
}
diff -r 9d3b5cbef222 -r e7f066508299 src/lib-storage/index/cydir/cydir-storage.c
--- a/src/lib-storage/index/cydir/cydir-storage.c Sun Feb 07 04:50:40 2010 +0200
+++ b/src/lib-storage/index/cydir/cydir-storage.c Sun Feb 07 15:44:33 2010 +0200
@@ -65,7 +65,7 @@ cydir_mailbox_alloc(struct mail_storage
mbox->ibox.box.pool = pool;
mbox->ibox.box.storage = storage;
mbox->ibox.box.list = list;
- mbox->ibox.mail_vfuncs = &cydir_mail_vfuncs;
+ mbox->ibox.box.mail_vfuncs = &cydir_mail_vfuncs;
mbox->ibox.save_commit_pre = cydir_transaction_save_commit_pre;
mbox->ibox.save_commit_post = cydir_transaction_save_commit_post;
@@ -73,7 +73,7 @@ cydir_mailbox_alloc(struct mail_storage
index_storage_mailbox_alloc(&mbox->ibox, name, input, flags,
CYDIR_INDEX_PREFIX);
- mail_index_set_fsync_types(mbox->ibox.index,
+ mail_index_set_fsync_types(mbox->ibox.box.index,
MAIL_INDEX_SYNC_TYPE_APPEND |
MAIL_INDEX_SYNC_TYPE_EXPUNGE);
diff -r 9d3b5cbef222 -r e7f066508299 src/lib-storage/index/cydir/cydir-sync.c
--- a/src/lib-storage/index/cydir/cydir-sync.c Sun Feb 07 04:50:40 2010 +0200
+++ b/src/lib-storage/index/cydir/cydir-sync.c Sun Feb 07 15:44:33 2010 +0200
@@ -122,12 +122,12 @@ int cydir_sync_begin(struct cydir_mailbo
if (!force)
sync_flags |= MAIL_INDEX_SYNC_FLAG_REQUIRE_CHANGES;
- ret = mail_index_sync_begin(mbox->ibox.index, &ctx->index_sync_ctx,
+ ret = mail_index_sync_begin(mbox->ibox.box.index, &ctx->index_sync_ctx,
&ctx->sync_view, &ctx->trans,
sync_flags);
if (ret <= 0) {
if (ret < 0)
- mail_storage_set_index_error(&mbox->ibox);
+ mail_storage_set_index_error(&mbox->ibox.box);
i_free(ctx);
*ctx_r = NULL;
return ret;
@@ -146,7 +146,7 @@ int cydir_sync_finish(struct cydir_sync_
*_ctx = NULL;
if (success) {
if (mail_index_sync_commit(&ctx->index_sync_ctx) < 0) {
- mail_storage_set_index_error(&ctx->mbox->ibox);
+ mail_storage_set_index_error(&ctx->mbox->ibox.box);
ret = -1;
}
} else {
diff -r 9d3b5cbef222 -r e7f066508299 src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
--- a/src/lib-storage/index/dbox-common/dbox-sync-rebuild.c Sun Feb 07 04:50:40 2010 +0200
+++ b/src/lib-storage/index/dbox-common/dbox-sync-rebuild.c Sun Feb 07 15:44:33 2010 +0200
@@ -99,7 +99,7 @@ dbox_sync_index_rebuild_init(struct inde
ctx->trans = trans;
mail_index_reset(ctx->trans);
index_mailbox_reset_uidvalidity(ibox);
- mail_index_ext_lookup(ibox->index, "cache", &ctx->cache_ext_id);
+ mail_index_ext_lookup(box->index, "cache", &ctx->cache_ext_id);
/* if backup index file exists, try to use it */
index_dir = mailbox_list_get_path(box->list, box->name,
diff -r 9d3b5cbef222 -r e7f066508299 src/lib-storage/index/dbox-multi/mdbox-mail.c
--- a/src/lib-storage/index/dbox-multi/mdbox-mail.c Sun Feb 07 04:50:40 2010 +0200
+++ b/src/lib-storage/index/dbox-multi/mdbox-mail.c Sun Feb 07 15:44:33 2010 +0200
@@ -61,8 +61,8 @@ static void dbox_mail_set_expunged(struc
struct mdbox_mailbox *mbox = (struct mdbox_mailbox *)mail->imail.ibox;
struct mail *_mail = &mail->imail.mail.mail;
- (void)mail_index_refresh(mbox->ibox.index);
- if (mail_index_is_expunged(mbox->ibox.view, _mail->seq)) {
+ (void)mail_index_refresh(_mail->box->index);
+ if (mail_index_is_expunged(_mail->box->view, _mail->seq)) {
mail_set_expunged(_mail);
return;
}
@@ -112,8 +112,8 @@ int mdbox_mail_open(struct dbox_mail *ma
if (mail->open_file != NULL) {
/* already open */
} else if (_mail->uid != 0) {
- if (mdbox_mail_lookup(mbox, mbox->ibox.view, _mail->seq,
- &map_uid) < 0)
+ if (mdbox_mail_lookup(mbox, _mail->box->view,
+ _mail->seq, &map_uid) < 0)
return -1;
if (dbox_mail_open_init(mail, map_uid) < 0)
return -1;
@@ -160,7 +160,7 @@ static int mdbox_mail_get_save_date(stru
const void *data;
bool expunged;
- mail_index_lookup_ext(mbox->ibox.view, mail->seq,
+ mail_index_lookup_ext(mail->box->view, mail->seq,
mbox->ext_id, &data, &expunged);
dbox_rec = data;
if (dbox_rec == NULL || dbox_rec->map_uid == 0) {
diff -r 9d3b5cbef222 -r e7f066508299 src/lib-storage/index/dbox-multi/mdbox-save.c
--- a/src/lib-storage/index/dbox-multi/mdbox-save.c Sun Feb 07 04:50:40 2010 +0200
+++ b/src/lib-storage/index/dbox-multi/mdbox-save.c Sun Feb 07 15:44:33 2010 +0200
@@ -97,7 +97,7 @@ int mdbox_save_begin(struct mail_save_co
struct dbox_save_mail *save_mail;
uoff_t mail_size, append_offset;
- if (mail_index_is_deleted(ctx->mbox->ibox.index)) {
+ if (mail_index_is_deleted(_ctx->transaction->box->index)) {
mailbox_set_deleted(_ctx->transaction->box);
return -1;
}
@@ -344,7 +344,7 @@ int mdbox_copy(struct mail_save_context
memset(&rec, 0, sizeof(rec));
rec.save_date = ioloop_time;
- if (mdbox_mail_lookup(src_mbox, src_mbox->ibox.view, mail->seq,
+ if (mdbox_mail_lookup(src_mbox, mail->box->view, mail->seq,
&rec.map_uid) < 0)
return -1;
@@ -358,7 +358,7 @@ int mdbox_copy(struct mail_save_context
mail_index_update_ext(ctx->ctx.trans, ctx->ctx.seq,
ctx->mbox->ext_id, &rec, NULL);
- mail_index_lookup_ext(src_mbox->ibox.view, mail->seq,
+ mail_index_lookup_ext(mail->box->view, mail->seq,
src_mbox->guid_ext_id, &data, &expunged);
if (data != NULL) {
mail_index_update_ext(ctx->ctx.trans, ctx->ctx.seq,
diff -r 9d3b5cbef222 -r e7f066508299 src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
--- a/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c Sun Feb 07 04:50:40 2010 +0200
+++ b/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c Sun Feb 07 15:44:33 2010 +0200
@@ -420,11 +420,11 @@ rebuild_mailbox(struct mdbox_storage_reb
}
mbox = (struct mdbox_mailbox *)box;
- ret = mail_index_sync_begin(mbox->ibox.index, &sync_ctx, &view, &trans,
+ ret = mail_index_sync_begin(box->index, &sync_ctx, &view, &trans,
MAIL_INDEX_SYNC_FLAG_AVOID_FLAG_UPDATES);
if (ret <= 0) {
i_assert(ret != 0);
- mail_storage_set_index_error(&mbox->ibox);
+ mail_storage_set_index_error(box);
mailbox_close(&box);
return -1;
}
@@ -434,7 +434,7 @@ rebuild_mailbox(struct mdbox_storage_reb
dbox_sync_index_rebuild_deinit(&rebuild_ctx);
if (mail_index_sync_commit(&sync_ctx) < 0) {
- mail_storage_set_index_error(&mbox->ibox);
+ mail_storage_set_index_error(box);
ret = -1;
}
@@ -580,13 +580,13 @@ static int rebuild_restore_msg(struct md
return -1;
}
if (ctx->prev_msg.box == NULL) {
- ret = mail_index_sync_begin(mbox->ibox.index,
+ ret = mail_index_sync_begin(box->index,
&ctx->prev_msg.sync_ctx,
&ctx->prev_msg.view,
&ctx->prev_msg.trans, 0);
if (ret <= 0) {
i_assert(ret != 0);
- mail_storage_set_index_error(&mbox->ibox);
+ mail_storage_set_index_error(box);
mailbox_close(&box);
return -1;
}
diff -r 9d3b5cbef222 -r e7f066508299 src/lib-storage/index/dbox-multi/mdbox-storage.c
--- a/src/lib-storage/index/dbox-multi/mdbox-storage.c Sun Feb 07 04:50:40 2010 +0200
+++ b/src/lib-storage/index/dbox-multi/mdbox-storage.c Sun Feb 07 15:44:33 2010 +0200
@@ -116,7 +116,7 @@ mdbox_mailbox_alloc(struct mail_storage
mbox->ibox.box.pool = pool;
mbox->ibox.box.storage = storage;
mbox->ibox.box.list = list;
- mbox->ibox.mail_vfuncs = &mdbox_mail_vfuncs;
+ mbox->ibox.box.mail_vfuncs = &mdbox_mail_vfuncs;
mbox->ibox.save_commit_pre = mdbox_transaction_save_commit_pre;
mbox->ibox.save_commit_post = mdbox_transaction_save_commit_post;
@@ -124,7 +124,7 @@ mdbox_mailbox_alloc(struct mail_storage
index_storage_mailbox_alloc(&mbox->ibox, name, input, flags,
DBOX_INDEX_PREFIX);
- mail_index_set_fsync_types(mbox->ibox.index,
+ mail_index_set_fsync_types(mbox->ibox.box.index,
MAIL_INDEX_SYNC_TYPE_APPEND |
MAIL_INDEX_SYNC_TYPE_EXPUNGE);
@@ -133,14 +133,14 @@ mdbox_mailbox_alloc(struct mail_storage
mbox->storage = (struct mdbox_storage *)storage;
mbox->ext_id =
- mail_index_ext_register(mbox->ibox.index, "mdbox", 0,
+ mail_index_ext_register(mbox->ibox.box.index, "mdbox", 0,
sizeof(struct mdbox_mail_index_record),
sizeof(uint32_t));
mbox->hdr_ext_id =
- mail_index_ext_register(mbox->ibox.index, "mdbox-hdr",
+ mail_index_ext_register(mbox->ibox.box.index, "mdbox-hdr",
sizeof(struct mdbox_index_header), 0, 0);
mbox->guid_ext_id =
- mail_index_ext_register(mbox->ibox.index, "guid",
+ mail_index_ext_register(mbox->ibox.box.index, "guid",
0, MAIL_GUID_128_SIZE, 1);
return &mbox->ibox.box;
}
@@ -151,7 +151,7 @@ int mdbox_read_header(struct mdbox_mailb
const void *data;
size_t data_size;
- mail_index_get_header_ext(mbox->ibox.view, mbox->hdr_ext_id,
+ mail_index_get_header_ext(mbox->ibox.box.view, mbox->hdr_ext_id,
&data, &data_size);
if (data_size < MDBOX_INDEX_HEADER_MIN_SIZE &&
(!mbox->creating || data_size != 0)) {
@@ -202,8 +202,8 @@ static int mdbox_write_index_header(stru
if (dbox_map_open(mbox->storage->map, TRUE) < 0)
return -1;
- hdr = mail_index_get_header(mbox->ibox.view);
- trans = mail_index_transaction_begin(mbox->ibox.view, 0);
+ hdr = mail_index_get_header(box->view);
+ trans = mail_index_transaction_begin(box->view, 0);
mdbox_update_header(mbox, trans, update);
uid_validity = hdr->uid_validity;
@@ -226,7 +226,7 @@ static int mdbox_write_index_header(stru
&uid_next, sizeof(uid_next), TRUE);
}
if (update != NULL && update->min_highest_modseq != 0 &&
- mail_index_modseq_get_highest(mbox->ibox.view) <
+ mail_index_modseq_get_highest(box->view) <
update->min_highest_modseq) {
mail_index_update_highest_modseq(trans,
update->min_highest_modseq);
@@ -234,7 +234,7 @@ static int mdbox_write_index_header(stru
if (mail_index_transaction_commit(&trans) < 0) {
mail_storage_set_internal_error(box->storage);
- mail_index_reset_error(mbox->ibox.index);
+ mail_index_reset_error(box->index);
return -1;
}
return 0;
@@ -326,9 +326,9 @@ mdbox_mailbox_unref_mails(struct mailbox
/* get a list of all map_uids in this mailbox */
i_array_init(&map_uids, 128);
- hdr = mail_index_get_header(mbox->ibox.view);
+ hdr = mail_index_get_header(box->view);
for (seq = 1; seq <= hdr->messages_count; seq++) {
- mail_index_lookup_ext(mbox->ibox.view, seq, mbox->ext_id,
+ mail_index_lookup_ext(box->view, seq, mbox->ext_id,
&data, &expunged);
dbox_rec = data;
if (dbox_rec == NULL) {
diff -r 9d3b5cbef222 -r e7f066508299 src/lib-storage/index/dbox-multi/mdbox-sync.c
--- a/src/lib-storage/index/dbox-multi/mdbox-sync.c Sun Feb 07 04:50:40 2010 +0200
+++ b/src/lib-storage/index/dbox-multi/mdbox-sync.c Sun Feb 07 15:44:33 2010 +0200
@@ -167,14 +167,14 @@ static int mdbox_refresh_header(struct m
struct mdbox_index_header hdr;
int ret;
- view = mail_index_view_open(mbox->ibox.index);
+ view = mail_index_view_open(mbox->ibox.box.index);
ret = mdbox_read_header(mbox, &hdr);
mail_index_view_close(&view);
if (ret == 0) {
ret = mbox->storage->storage.files_corrupted ? -1 : 0;
} else if (retry) {
- (void)mail_index_refresh(mbox->ibox.index);
+ (void)mail_index_refresh(mbox->ibox.box.index);
return mdbox_refresh_header(mbox, FALSE);
}
return ret;
@@ -213,13 +213,13 @@ int mdbox_sync_begin(struct mdbox_mailbo
sync_flags |= MAIL_INDEX_SYNC_FLAG_AVOID_FLAG_UPDATES;
for (i = 0;; i++) {
- ret = mail_index_sync_begin(mbox->ibox.index,
+ ret = mail_index_sync_begin(mbox->ibox.box.index,
&ctx->index_sync_ctx,
&ctx->sync_view, &ctx->trans,
sync_flags);
if (ret <= 0) {
if (ret < 0)
- mail_storage_set_index_error(&mbox->ibox);
+ mail_storage_set_index_error(&mbox->ibox.box);
More information about the dovecot-cvs
mailing list