From: Timo Sirainen Date: Mon, 23 Feb 2009 18:40:01 +0000 (-0500) Subject: maildir: We didn't properly handle missing control directory at startup. X-Git-Tag: 1.2.beta2~59 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9ef0f38972e7f42ff8d1795f47f6a3e6d621be9c;p=thirdparty%2Fdovecot%2Fcore.git maildir: We didn't properly handle missing control directory at startup. Also some other error handling when some dirs were missing were done wrong. --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/maildir/maildir-keywords.c b/src/lib-storage/index/maildir/maildir-keywords.c index c70ac84447..8836e12704 100644 --- a/src/lib-storage/index/maildir/maildir-keywords.c +++ b/src/lib-storage/index/maildir/maildir-keywords.c @@ -371,7 +371,7 @@ static int maildir_keywords_commit(struct maildir_keywords *mk) } /* the control dir doesn't exist. create it unless the whole mailbox was just deleted. */ - if (maildir_set_deleted(mk->mbox)) + if (!maildir_set_deleted(mk->mbox)) return -1; } diff --git a/src/lib-storage/index/maildir/maildir-sync.c b/src/lib-storage/index/maildir/maildir-sync.c index 2999619a38..bb30f6c333 100644 --- a/src/lib-storage/index/maildir/maildir-sync.c +++ b/src/lib-storage/index/maildir/maildir-sync.c @@ -344,7 +344,7 @@ maildir_stat(struct maildir_mailbox *mbox, const char *path, struct stat *st_r) if (errno != ENOENT || i == MAILDIR_DELETE_RETRY_COUNT) break; - if (maildir_set_deleted(mbox)) + if (!maildir_set_deleted(mbox)) return -1; /* try again */ } @@ -380,7 +380,7 @@ static int maildir_scan_dir(struct maildir_sync_context *ctx, bool new_dir) return -1; } - if (maildir_set_deleted(ctx->mbox)) + if (!maildir_set_deleted(ctx->mbox)) return -1; /* try again */ } diff --git a/src/lib-storage/index/maildir/maildir-uidlist.c b/src/lib-storage/index/maildir/maildir-uidlist.c index 579d1a808f..19b6f88763 100644 --- a/src/lib-storage/index/maildir/maildir-uidlist.c +++ b/src/lib-storage/index/maildir/maildir-uidlist.c @@ -164,7 +164,7 @@ static int maildir_uidlist_lock_timeout(struct maildir_uidlist *uidlist, } /* the control dir doesn't exist. create it unless the whole mailbox was just deleted. */ - if (maildir_set_deleted(uidlist->mbox)) + if (!maildir_set_deleted(uidlist->mbox)) return -1; } @@ -1119,7 +1119,7 @@ static int maildir_uidlist_recreate(struct maildir_uidlist *uidlist) } /* the control dir doesn't exist. create it unless the whole mailbox was just deleted. */ - if (maildir_set_deleted(uidlist->mbox)) + if (!maildir_set_deleted(uidlist->mbox)) return -1; }