From 24e815548a542b9eb4238bf35b1750f4bd95d7dd Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 30 Nov 2021 18:02:14 +0200 Subject: [PATCH] dsync: Remove -D parameter that disables syncing mailbox renames It hasn't been necessary for a long time, and its behavior seems to be broken. --- src/doveadm/doveadm-dsync.c | 11 ++--------- src/doveadm/dsync/dsync-brain-mailbox-tree.c | 3 +-- src/doveadm/dsync/dsync-brain-private.h | 1 - src/doveadm/dsync/dsync-brain.c | 2 -- src/doveadm/dsync/dsync-brain.h | 3 --- src/doveadm/dsync/dsync-ibc-stream.c | 6 +----- 6 files changed, 4 insertions(+), 22 deletions(-) diff --git a/src/doveadm/doveadm-dsync.c b/src/doveadm/doveadm-dsync.c index e0d4f89be9..2ef7cf4cd1 100644 --- a/src/doveadm/doveadm-dsync.c +++ b/src/doveadm/doveadm-dsync.c @@ -105,7 +105,6 @@ struct dsync_cmd_context { bool reverse_backup:1; bool remote_user_prefix:1; bool no_mail_sync:1; - bool no_mailbox_renames:1; bool local_location_from_arg:1; bool replicator_notify:1; bool exited:1; @@ -669,8 +668,6 @@ cmd_dsync_run(struct doveadm_mail_cmd_context *_ctx, struct mail_user *user) brain_flags |= DSYNC_BRAIN_FLAG_SYNC_VISIBLE_NAMESPACES; if (ctx->purge_remote) brain_flags |= DSYNC_BRAIN_FLAG_PURGE_REMOTE; - if (ctx->no_mailbox_renames) - brain_flags |= DSYNC_BRAIN_FLAG_NO_MAILBOX_RENAMES; if (ctx->backup) { if (ctx->reverse_backup) @@ -1056,9 +1053,6 @@ cmd_mailbox_dsync_parse_arg(struct doveadm_mail_cmd_context *_ctx, int c) case 'd': ctx->default_replica_location = TRUE; break; - case 'D': - ctx->no_mailbox_renames = TRUE; - break; case 'E': /* dsync wrapper detection flag */ legacy_dsync = TRUE; @@ -1326,7 +1320,6 @@ DOVEADM_CMD_PARAM('O', "sync-flags", CMD_PARAM_STR, 0) \ DOVEADM_CMD_PARAM('I', "sync-max-size", CMD_PARAM_STR, 0) \ DOVEADM_CMD_PARAM('T', "timeout", CMD_PARAM_INT64, 0) \ DOVEADM_CMD_PARAM('d', "default-destination", CMD_PARAM_BOOL, 0) \ -DOVEADM_CMD_PARAM('D', "disable-mailbox-renames", CMD_PARAM_BOOL, 0) \ DOVEADM_CMD_PARAM('E', "legacy-dsync", CMD_PARAM_BOOL, 0) \ DOVEADM_CMD_PARAM('\0', "destination", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONAL) @@ -1340,7 +1333,7 @@ DOVEADM_CMD_PARAM('\0', "destination", CMD_PARAM_ARRAY, CMD_PARAM_FLAG_POSITIONA struct doveadm_cmd_ver2 doveadm_cmd_dsync_mirror = { .mail_cmd = cmd_dsync_alloc, .name = "sync", - .usage = "[-1fDPRU] "DSYNC_COMMON_USAGE, + .usage = "[-1fPRU] "DSYNC_COMMON_USAGE, .flags = CMD_FLAG_NO_UNORDERED_OPTIONS, DOVEADM_CMD_PARAMS_START DSYNC_COMMON_PARAMS @@ -1350,7 +1343,7 @@ DOVEADM_CMD_PARAMS_END struct doveadm_cmd_ver2 doveadm_cmd_dsync_backup = { .mail_cmd = cmd_dsync_backup_alloc, .name = "backup", - .usage = "[-fDPRU] "DSYNC_COMMON_USAGE, + .usage = "[-fPRU] "DSYNC_COMMON_USAGE, .flags = CMD_FLAG_NO_UNORDERED_OPTIONS, DOVEADM_CMD_PARAMS_START DSYNC_COMMON_PARAMS diff --git a/src/doveadm/dsync/dsync-brain-mailbox-tree.c b/src/doveadm/dsync/dsync-brain-mailbox-tree.c index b3e899bd69..0539571295 100644 --- a/src/doveadm/dsync/dsync-brain-mailbox-tree.c +++ b/src/doveadm/dsync/dsync-brain-mailbox-tree.c @@ -316,8 +316,7 @@ static void dsync_brain_mailbox_trees_sync(struct dsync_brain *brain) enum dsync_mailbox_trees_sync_type sync_type; enum dsync_mailbox_trees_sync_flags sync_flags = (brain->debug ? DSYNC_MAILBOX_TREES_SYNC_FLAG_DEBUG : 0) | - (brain->master_brain ? DSYNC_MAILBOX_TREES_SYNC_FLAG_MASTER_BRAIN : 0) | - (brain->no_mailbox_renames ? DSYNC_MAILBOX_TREES_SYNC_FLAG_NO_RENAMES : 0); + (brain->master_brain ? DSYNC_MAILBOX_TREES_SYNC_FLAG_MASTER_BRAIN : 0); int ret; if (brain->no_backup_overwrite) diff --git a/src/doveadm/dsync/dsync-brain-private.h b/src/doveadm/dsync/dsync-brain-private.h index 1d407822d9..62bbac1f6f 100644 --- a/src/doveadm/dsync/dsync-brain-private.h +++ b/src/doveadm/dsync/dsync-brain-private.h @@ -118,7 +118,6 @@ struct dsync_brain { bool no_mail_sync:1; bool no_backup_overwrite:1; bool no_mail_prefetch:1; - bool no_mailbox_renames:1; bool changes_during_remote_sync:1; bool require_full_resync:1; bool verbose_proctitle:1; diff --git a/src/doveadm/dsync/dsync-brain.c b/src/doveadm/dsync/dsync-brain.c index 17fecb8930..153d7597ba 100644 --- a/src/doveadm/dsync/dsync-brain.c +++ b/src/doveadm/dsync/dsync-brain.c @@ -160,8 +160,6 @@ dsync_brain_set_flags(struct dsync_brain *brain, enum dsync_brain_flags flags) (flags & DSYNC_BRAIN_FLAG_NO_BACKUP_OVERWRITE) != 0; brain->no_mail_prefetch = (flags & DSYNC_BRAIN_FLAG_NO_MAIL_PREFETCH) != 0; - brain->no_mailbox_renames = - (flags & DSYNC_BRAIN_FLAG_NO_MAILBOX_RENAMES) != 0; brain->no_notify = (flags & DSYNC_BRAIN_FLAG_NO_NOTIFY) != 0; brain->empty_hdr_workaround = (flags & DSYNC_BRAIN_FLAG_EMPTY_HDR_WORKAROUND) != 0; } diff --git a/src/doveadm/dsync/dsync-brain.h b/src/doveadm/dsync/dsync-brain.h index d2c16163c7..93b8e95ea9 100644 --- a/src/doveadm/dsync/dsync-brain.h +++ b/src/doveadm/dsync/dsync-brain.h @@ -28,9 +28,6 @@ enum dsync_brain_flags { only with pipe ibc. It's useful if most of the mails can be copied directly within filesystem without having to read them. */ DSYNC_BRAIN_FLAG_NO_MAIL_PREFETCH = 0x100, - /* Disable mailbox renaming logic. This is just a kludge that should - be removed once the renaming logic has no more bugs.. */ - DSYNC_BRAIN_FLAG_NO_MAILBOX_RENAMES = 0x200, /* Add MAILBOX_TRANSACTION_FLAG_NO_NOTIFY to transactions. */ DSYNC_BRAIN_FLAG_NO_NOTIFY = 0x400, /* Workaround missing Date/Message-ID headers */ diff --git a/src/doveadm/dsync/dsync-ibc-stream.c b/src/doveadm/dsync/dsync-ibc-stream.c index 7f734c08fc..f440b06543 100644 --- a/src/doveadm/dsync/dsync-ibc-stream.c +++ b/src/doveadm/dsync/dsync-ibc-stream.c @@ -76,7 +76,7 @@ static const struct { .optional_keys = "sync_ns_prefix sync_box sync_box_guid sync_type " "debug sync_visible_namespaces exclude_mailboxes " "send_mail_requests backup_send backup_recv lock_timeout " - "no_mail_sync no_mailbox_renames no_backup_overwrite purge_remote " + "no_mail_sync no_backup_overwrite purge_remote " "no_notify sync_since_timestamp sync_max_size sync_flags sync_until_timestamp " "virtual_all_box empty_hdr_workaround import_commit_msgs_interval " "hashed_headers alt_char" @@ -742,8 +742,6 @@ dsync_ibc_stream_send_handshake(struct dsync_ibc *_ibc, dsync_serializer_encode_add(encoder, "sync_visible_namespaces", ""); if ((set->brain_flags & DSYNC_BRAIN_FLAG_NO_MAIL_SYNC) != 0) dsync_serializer_encode_add(encoder, "no_mail_sync", ""); - if ((set->brain_flags & DSYNC_BRAIN_FLAG_NO_MAILBOX_RENAMES) != 0) - dsync_serializer_encode_add(encoder, "no_mailbox_renames", ""); if ((set->brain_flags & DSYNC_BRAIN_FLAG_NO_BACKUP_OVERWRITE) != 0) dsync_serializer_encode_add(encoder, "no_backup_overwrite", ""); if ((set->brain_flags & DSYNC_BRAIN_FLAG_PURGE_REMOTE) != 0) @@ -886,8 +884,6 @@ dsync_ibc_stream_recv_handshake(struct dsync_ibc *_ibc, set->brain_flags |= DSYNC_BRAIN_FLAG_SYNC_VISIBLE_NAMESPACES; if (dsync_deserializer_decode_try(decoder, "no_mail_sync", &value)) set->brain_flags |= DSYNC_BRAIN_FLAG_NO_MAIL_SYNC; - if (dsync_deserializer_decode_try(decoder, "no_mailbox_renames", &value)) - set->brain_flags |= DSYNC_BRAIN_FLAG_NO_MAILBOX_RENAMES; if (dsync_deserializer_decode_try(decoder, "no_backup_overwrite", &value)) set->brain_flags |= DSYNC_BRAIN_FLAG_NO_BACKUP_OVERWRITE; if (dsync_deserializer_decode_try(decoder, "purge_remote", &value)) -- 2.47.3