From: Xuehan Xu Date: Mon, 16 Oct 2023 08:19:52 +0000 (+0800) Subject: crimson/os/seastore/transaction_manager: indirect lba mappings should X-Git-Tag: v19.0.0~185^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=563734198c4dfb91c70e90d57240b5eb90ea37a9;p=ceph.git crimson/os/seastore/transaction_manager: indirect lba mappings should always have the entire original mappings as their targets Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/os/seastore/transaction_manager.h b/src/crimson/os/seastore/transaction_manager.h index dd1898ba77c7..dfce85c5e1b8 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);