]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dsync: Fixed handling of deleted directories.
authorTimo Sirainen <tss@iki.fi>
Thu, 29 Oct 2015 13:06:16 +0000 (15:06 +0200)
committerTimo Sirainen <tss@iki.fi>
Thu, 29 Oct 2015 13:06:16 +0000 (15:06 +0200)
We may still know about the directory node even if it doesn't exist, and we
still want to delete it.

src/doveadm/dsync/dsync-mailbox-tree-fill.c

index 47e3f0898369ab4fe6e583c2d242a003a58177f9..895d1c608ce74a1706e36220fbc2db3f653dd431 100644 (file)
@@ -177,7 +177,8 @@ dsync_mailbox_tree_add_change_timestamps(struct dsync_mailbox_tree *tree,
                        memcpy(del->guid, rec->mailbox_guid, sizeof(del->guid));
                        break;
                case MAILBOX_LOG_RECORD_DELETE_DIR:
-                       if (node != NULL) {
+                       if (node != NULL &&
+                           node->existence == DSYNC_MAILBOX_NODE_EXISTS) {
                                /* directory exists again, skip it */
                                break;
                        }