From 724d2ffa04c2c8702890733f35d473e92d7a1977 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Tue, 4 Nov 2025 01:29:55 +0300 Subject: [PATCH] Do not mark "inverse child" as deleted during rename-delete --- src/cmd/cli_rm.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/cmd/cli_rm.cpp b/src/cmd/cli_rm.cpp index 927c42d0..43b53025 100644 --- a/src/cmd/cli_rm.cpp +++ b/src/cmd/cli_rm.cpp @@ -97,8 +97,6 @@ struct snap_remover_t goto resume_8; else if (state == 9) goto resume_9; - else if (state == 10) - goto resume_10; else if (state == 100) goto resume_100; assert(!state); @@ -157,11 +155,6 @@ resume_3: resume_4: while (!wait_result(4)) return; - // Mark child as deleted - start_mark_deleted(inverse_child); -resume_9: - while (!wait_result(9)) - return; // Delete "inverse" child data start_delete_source(inverse_child); resume_5: @@ -190,8 +183,8 @@ resume_6: } // Mark child as deleted start_mark_deleted(chain_list[current_child]); -resume_10: - while (!wait_result(10)) +resume_9: + while (!wait_result(9)) return; start_delete_source(chain_list[current_child]); resume_7: @@ -456,6 +449,7 @@ resume_100: ); // Fill new configuration inode_config_t new_cfg = *child_cfg; + new_cfg.deleted = false; new_cfg.num = target_cfg->num; new_cfg.parent_id = new_parent; json11::Json::array cmp = json11::Json::array {