]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/os/seastore/transaction_manager: indirect lba mappings should
authorXuehan Xu <xuxuehan@qianxin.com>
Mon, 16 Oct 2023 08:19:52 +0000 (16:19 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Thu, 2 Nov 2023 03:37:11 +0000 (11:37 +0800)
always have the entire original mappings as their targets

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
src/crimson/os/seastore/transaction_manager.h

index dd1898ba77c7ef16893c16c943282de50b9c9584..dfce85c5e1b84311d69e21cf1b486e51bfba9ebd 100644 (file)
@@ -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);