From: Timo Sirainen Date: Thu, 13 Jun 2013 21:16:58 +0000 (+0300) Subject: dsync: Don't try to delete nonexistent mailbox directories. X-Git-Tag: 2.2.3~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b67692d132511d389a25a2acade62bbdfec54f9b;p=thirdparty%2Fdovecot%2Fcore.git dsync: Don't try to delete nonexistent mailbox directories. --- diff --git a/src/doveadm/dsync/dsync-mailbox-tree-sync.c b/src/doveadm/dsync/dsync-mailbox-tree-sync.c index ac9cbacc5f..2cf7bc276e 100644 --- a/src/doveadm/dsync/dsync-mailbox-tree-sync.c +++ b/src/doveadm/dsync/dsync-mailbox-tree-sync.c @@ -868,13 +868,14 @@ sync_rename_delete_node_dirs(struct dsync_mailbox_tree_sync_ctx *ctx, for (child = node->first_child; child != NULL; child = child->next) sync_rename_delete_node_dirs(ctx, tree, child); - node->existence = DSYNC_MAILBOX_NODE_NONEXISTENT; - node->sync_temporary_name = FALSE; if (tree == ctx->local_tree && - ctx->sync_type != DSYNC_MAILBOX_TREES_SYNC_TYPE_PRESERVE_LOCAL) { + ctx->sync_type != DSYNC_MAILBOX_TREES_SYNC_TYPE_PRESERVE_LOCAL && + node->existence != DSYNC_MAILBOX_NODE_NONEXISTENT) { sync_add_dir_change(ctx, node, DSYNC_MAILBOX_TREE_SYNC_TYPE_DELETE_DIR); } + node->existence = DSYNC_MAILBOX_NODE_NONEXISTENT; + node->sync_temporary_name = FALSE; } static bool