From 563734198c4dfb91c70e90d57240b5eb90ea37a9 Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Mon, 16 Oct 2023 16:19:52 +0800 Subject: [PATCH] crimson/os/seastore/transaction_manager: indirect lba mappings should always have the entire original mappings as their targets Signed-off-by: Xuehan Xu --- src/crimson/os/seastore/transaction_manager.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/crimson/os/seastore/transaction_manager.h b/src/crimson/os/seastore/transaction_manager.h index dd1898ba77c..dfce85c5e1b 100644 --- a/src/crimson/os/seastore/transaction_manager.h +++ b/src/crimson/os/seastore/transaction_manager.h @@ -401,6 +401,9 @@ public: auto remap_len = remap.len; auto remap_laddr = original_laddr + remap_offset; auto remap_paddr = original_paddr.add_offset(remap_offset); + if (intermediate_key != L_ADDR_NULL) { + remap_paddr = original_paddr; + } ceph_assert(remap_len < original_len); ceph_assert(remap_offset + remap_len <= original_len); ceph_assert(remap_len != 0); -- 2.39.5