dovecot-2.0: index-storage: Code cleanup.
dovecot at dovecot.org
dovecot at dovecot.org
Fri Jul 31 02:30:23 EEST 2009
details: http://hg.dovecot.org/dovecot-2.0/rev/fa5e27725f6b
changeset: 9701:fa5e27725f6b
user: Timo Sirainen <tss at iki.fi>
date: Thu Jul 30 19:30:15 2009 -0400
description:
index-storage: Code cleanup.
diffstat:
14 files changed, 31 insertions(+), 28 deletions(-)
src/lib-storage/index/cydir/cydir-sync.c | 2 +-
src/lib-storage/index/dbox/dbox-sync.c | 2 +-
src/lib-storage/index/index-storage.c | 2 --
src/lib-storage/index/index-storage.h | 2 --
src/lib-storage/index/index-sync.c | 3 ++-
src/lib-storage/index/maildir/maildir-save.c | 2 +-
src/lib-storage/index/maildir/maildir-sync-index.c | 3 ++-
src/lib-storage/index/maildir/maildir-sync.c | 15 ++++++++-------
src/lib-storage/index/mbox/mbox-file.c | 3 ++-
src/lib-storage/index/mbox/mbox-sync-private.h | 1 +
src/lib-storage/index/mbox/mbox-sync-update.c | 4 ++--
src/lib-storage/index/mbox/mbox-sync.c | 16 +++++++++-------
src/lib-storage/index/raw/raw-sync.c | 2 +-
src/plugins/virtual/virtual-sync.c | 2 +-
diffs (288 lines):
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/cydir/cydir-sync.c
--- a/src/lib-storage/index/cydir/cydir-sync.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/cydir/cydir-sync.c Thu Jul 30 19:30:15 2009 -0400
@@ -117,7 +117,7 @@ int cydir_sync_begin(struct cydir_mailbo
ctx->mbox = mbox;
sync_flags = MAIL_INDEX_SYNC_FLAG_FLUSH_DIRTY;
- if (!mbox->ibox.keep_recent)
+ if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0)
sync_flags |= MAIL_INDEX_SYNC_FLAG_DROP_RECENT;
if (!force)
sync_flags |= MAIL_INDEX_SYNC_FLAG_REQUIRE_CHANGES;
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/dbox/dbox-sync.c
--- a/src/lib-storage/index/dbox/dbox-sync.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/dbox/dbox-sync.c Thu Jul 30 19:30:15 2009 -0400
@@ -245,7 +245,7 @@ int dbox_sync_begin(struct dbox_mailbox
ctx->mbox = mbox;
ctx->flags = flags;
- if (!mbox->ibox.keep_recent)
+ if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0)
sync_flags |= MAIL_INDEX_SYNC_FLAG_DROP_RECENT;
if (!rebuild && (flags & DBOX_SYNC_FLAG_FORCE) == 0)
sync_flags |= MAIL_INDEX_SYNC_FLAG_REQUIRE_CHANGES;
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/index-storage.c
--- a/src/lib-storage/index/index-storage.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/index-storage.c Thu Jul 30 19:30:15 2009 -0400
@@ -483,8 +483,6 @@ void index_storage_mailbox_alloc(struct
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;
ibox->next_lock_notify = time(NULL) + LOCK_NOTIFY_INTERVAL;
ibox->commit_log_file_seq = 0;
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/index-storage.h
--- a/src/lib-storage/index/index-storage.h Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/index-storage.h Thu Jul 30 19:30:15 2009 -0400
@@ -50,8 +50,6 @@ struct index_mailbox {
/* we've discovered there aren't enough permissions to modify mailbox */
unsigned int backend_readonly:1;
- unsigned int keep_recent:1;
- unsigned int keep_locked:1;
unsigned int sent_diskspace_warning:1;
unsigned int sent_readonly_flags_warning:1;
unsigned int notify_pending:1;
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/index-sync.c
--- a/src/lib-storage/index/index-sync.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/index-sync.c Thu Jul 30 19:30:15 2009 -0400
@@ -326,7 +326,8 @@ int index_mailbox_sync_deinit(struct mai
}
index_mailbox_expunge_unseen_recent(ctx);
- if (ibox->keep_recent && ibox->box.opened) {
+ if ((ibox->box.flags & MAILBOX_FLAG_KEEP_RECENT) != 0 &&
+ ibox->box.opened) {
/* mailbox syncing didn't necessarily update our recent state */
hdr = mail_index_get_header(ibox->view);
if (hdr->first_recent_uid > ibox->recent_flags_prev_uid) {
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/maildir/maildir-save.c
--- a/src/lib-storage/index/maildir/maildir-save.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/maildir/maildir-save.c Thu Jul 30 19:30:15 2009 -0400
@@ -678,7 +678,7 @@ maildir_save_sync_index(struct maildir_s
index_mailbox_set_recent_uid(&mbox->ibox, uid);
}
- if (!mbox->ibox.keep_recent) {
+ if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) {
/* maildir_sync_index() dropped recent flags from
existing messages. we'll still need to drop recent
flags from these newly added messages. */
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/maildir/maildir-sync-index.c
--- a/src/lib-storage/index/maildir/maildir-sync-index.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/maildir/maildir-sync-index.c Thu Jul 30 19:30:15 2009 -0400
@@ -225,7 +225,8 @@ int maildir_sync_index_begin(struct mail
sync_flags = 0;
/* don't drop recent messages if we're saving messages */
- if (!mbox->ibox.keep_recent && maildir_sync_ctx != NULL)
+ if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0 &&
+ maildir_sync_ctx != NULL)
sync_flags |= MAIL_INDEX_SYNC_FLAG_DROP_RECENT;
if (mail_index_sync_begin(mbox->ibox.index, &sync_ctx, &view, &trans,
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/maildir/maildir-sync.c
--- a/src/lib-storage/index/maildir/maildir-sync.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/maildir/maildir-sync.c Thu Jul 30 19:30:15 2009 -0400
@@ -420,7 +420,8 @@ maildir_scan_dir(struct maildir_sync_con
dest = t_str_new(1024);
move_new = new_dir && !mailbox_is_readonly(&ctx->mbox->ibox.box) &&
- !ctx->mbox->ibox.keep_recent && ctx->locked;
+ (ctx->mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0 &&
+ ctx->locked;
errno = 0;
for (; (dp = readdir(dirp)) != NULL; errno = 0) {
@@ -669,11 +670,11 @@ static int maildir_sync_get_changes(stru
static int maildir_sync_get_changes(struct maildir_sync_context *ctx,
bool *new_changed_r, bool *cur_changed_r)
{
+ struct maildir_mailbox *mbox = ctx->mbox;
enum mail_index_sync_flags flags = 0;
bool undirty = (ctx->flags & MAILBOX_SYNC_FLAG_FULL_READ) != 0;
- if (maildir_sync_quick_check(ctx->mbox, undirty,
- ctx->new_dir, ctx->cur_dir,
+ if (maildir_sync_quick_check(mbox, undirty, ctx->new_dir, ctx->cur_dir,
new_changed_r, cur_changed_r) < 0)
return -1;
@@ -681,7 +682,7 @@ static int maildir_sync_get_changes(stru
return 1;
if (have_recent_messages(ctx)) {
- if (!ctx->mbox->ibox.keep_recent) {
+ if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) {
*new_changed_r = TRUE;
return 1;
} else if (*new_changed_r) {
@@ -694,10 +695,10 @@ static int maildir_sync_get_changes(stru
}
}
- if (!ctx->mbox->ibox.keep_recent)
+ if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0)
flags |= MAIL_INDEX_SYNC_FLAG_DROP_RECENT;
- return mail_index_sync_have_any(ctx->mbox->ibox.index, flags) ? 1 : 0;
+ return mail_index_sync_have_any(mbox->ibox.index, flags) ? 1 : 0;
}
static int maildir_sync_context(struct maildir_sync_context *ctx, bool forced,
@@ -934,7 +935,7 @@ maildir_storage_sync_init(struct mailbox
} T_END;
i_assert(!maildir_uidlist_is_locked(mbox->uidlist) ||
- mbox->ibox.keep_locked);
+ (box->flags & MAILBOX_FLAG_KEEP_LOCKED) != 0);
if (lost_files) {
/* lost some files from new/, see if thery're in cur/ */
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/mbox/mbox-file.c
--- a/src/lib-storage/index/mbox/mbox-file.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/mbox/mbox-file.c Thu Jul 30 19:30:15 2009 -0400
@@ -95,7 +95,8 @@ static void mbox_file_fix_atime(struct m
struct utimbuf buf;
struct stat st;
- if (mbox->ibox.recent_flags_count > 0 && mbox->ibox.keep_recent &&
+ if (mbox->ibox.recent_flags_count > 0 &&
+ (mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) != 0 &&
mbox->mbox_fd != -1 && !mbox->ibox.backend_readonly) {
/* we've seen recent messages which we want to keep recent.
keep file's atime lower than mtime so \Marked status
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/mbox/mbox-sync-private.h
--- a/src/lib-storage/index/mbox/mbox-sync-private.h Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/mbox/mbox-sync-private.h Thu Jul 30 19:30:15 2009 -0400
@@ -138,6 +138,7 @@ struct mbox_sync_context {
unsigned int first_mail_crlf_expunged:1;
/* global flags: */
+ unsigned int keep_recent:1;
unsigned int delay_writes:1;
unsigned int renumber_uids:1;
unsigned int moved_offsets:1;
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/mbox/mbox-sync-update.c
--- a/src/lib-storage/index/mbox/mbox-sync-update.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/mbox/mbox-sync-update.c Thu Jul 30 19:30:15 2009 -0400
@@ -382,7 +382,7 @@ static void mbox_sync_update_header_real
{
i_assert(ctx->mail.uid != 0 || ctx->mail.pseudo);
- if (!ctx->sync_ctx->mbox->ibox.keep_recent)
+ if (!ctx->sync_ctx->keep_recent)
ctx->mail.flags &= ~MAIL_RECENT;
mbox_sync_update_status(ctx);
@@ -412,7 +412,7 @@ mbox_sync_update_header_from_real(struct
(ctx->mail.flags & MAIL_RECENT) != 0) {
ctx->mail.flags = (ctx->mail.flags & ~STATUS_FLAGS_MASK) |
(mail->flags & STATUS_FLAGS_MASK);
- if (!ctx->sync_ctx->mbox->ibox.keep_recent)
+ if (!ctx->sync_ctx->keep_recent)
ctx->mail.flags &= ~MAIL_RECENT;
mbox_sync_update_status(ctx);
}
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/mbox/mbox-sync.c
--- a/src/lib-storage/index/mbox/mbox-sync.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/mbox/mbox-sync.c Thu Jul 30 19:30:15 2009 -0400
@@ -157,7 +157,7 @@ mbox_sync_read_next_mail(struct mbox_syn
if ((mail_ctx->mail.flags & MAIL_RECENT) != 0 &&
!mail_ctx->mail.pseudo) {
- if (!sync_ctx->mbox->ibox.keep_recent) {
+ if (!sync_ctx->keep_recent) {
/* need to add 'O' flag to Status-header */
mail_ctx->need_rewrite = TRUE;
}
@@ -913,7 +913,7 @@ static int mbox_sync_partial_seek_next(s
return 1;
if (sync_ctx->hdr->first_recent_uid <= next_uid &&
- !sync_ctx->mbox->ibox.keep_recent) {
+ !sync_ctx->keep_recent) {
/* we'll need to rewrite Status: O headers */
return 1;
}
@@ -922,7 +922,7 @@ static int mbox_sync_partial_seek_next(s
if (sync_ctx->hdr->first_recent_uid < sync_ctx->hdr->next_uid &&
(uid > sync_ctx->hdr->first_recent_uid || uid == 0) &&
- !sync_ctx->mbox->ibox.keep_recent) {
+ !sync_ctx->keep_recent) {
/* we'll need to rewrite Status: O headers */
uid = sync_ctx->hdr->first_recent_uid;
}
@@ -1469,7 +1469,7 @@ static int mbox_sync_update_index_header
}
mail_index_view_close(&view);
- first_recent_uid = !sync_ctx->mbox->ibox.keep_recent ?
+ first_recent_uid = !sync_ctx->keep_recent ?
sync_ctx->next_uid : sync_ctx->last_nonrecent_uid + 1;
if (sync_ctx->hdr->first_recent_uid < first_recent_uid) {
mail_index_update_header(sync_ctx->t,
@@ -1771,7 +1771,7 @@ again:
}
sync_flags = 0;
- if (!mbox->ibox.keep_recent)
+ if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0)
sync_flags |= MAIL_INDEX_SYNC_FLAG_DROP_RECENT;
if ((flags & MBOX_SYNC_REWRITE) != 0)
sync_flags |= MAIL_INDEX_SYNC_FLAG_FLUSH_DIRTY;
@@ -1792,7 +1792,7 @@ again:
return ret;
}
- if (!mbox->ibox.keep_recent) {
+ if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) {
/* see if we need to drop recent flags */
sync_ctx.hdr = mail_index_get_header(sync_view);
if (sync_ctx.hdr->first_recent_uid < sync_ctx.hdr->next_uid)
@@ -1813,6 +1813,8 @@ again:
memset(&sync_ctx, 0, sizeof(sync_ctx));
sync_ctx.mbox = mbox;
+ sync_ctx.keep_recent =
+ (mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) != 0;
sync_ctx.hdr = mail_index_get_header(sync_view);
sync_ctx.from_line = str_new(default_pool, 256);
@@ -1888,7 +1890,7 @@ again:
sync_ctx.t = NULL;
sync_ctx.index_sync_ctx = NULL;
- if (ret == 0 && mbox->mbox_fd != -1 && mbox->ibox.keep_recent &&
+ if (ret == 0 && mbox->mbox_fd != -1 && sync_ctx.keep_recent &&
!sync_ctx.mbox->ibox.backend_readonly) {
/* try to set atime back to its original value */
struct utimbuf buf;
diff -r ac98c24da6ee -r fa5e27725f6b src/lib-storage/index/raw/raw-sync.c
--- a/src/lib-storage/index/raw/raw-sync.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/lib-storage/index/raw/raw-sync.c Thu Jul 30 19:30:15 2009 -0400
@@ -18,7 +18,7 @@ static int raw_sync(struct raw_mailbox *
sync_flags = MAIL_INDEX_SYNC_FLAG_FLUSH_DIRTY |
MAIL_INDEX_SYNC_FLAG_REQUIRE_CHANGES;
- if (!mbox->ibox.keep_recent)
+ if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0)
sync_flags |= MAIL_INDEX_SYNC_FLAG_DROP_RECENT;
ret = mail_index_sync_begin(mbox->ibox.index, &index_sync_ctx,
diff -r ac98c24da6ee -r fa5e27725f6b src/plugins/virtual/virtual-sync.c
--- a/src/plugins/virtual/virtual-sync.c Thu Jul 30 19:19:42 2009 -0400
+++ b/src/plugins/virtual/virtual-sync.c Thu Jul 30 19:30:15 2009 -0400
@@ -1448,7 +1448,7 @@ static int virtual_sync(struct virtual_m
index_sync_flags = MAIL_INDEX_SYNC_FLAG_FLUSH_DIRTY |
MAIL_INDEX_SYNC_FLAG_AVOID_FLAG_UPDATES;
- if (!mbox->ibox.keep_recent)
+ if ((mbox->ibox.box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0)
index_sync_flags |= MAIL_INDEX_SYNC_FLAG_DROP_RECENT;
ret = mail_index_sync_begin(ctx->index, &ctx->index_sync_ctx,
More information about the dovecot-cvs
mailing list