]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
crimson/os/seastore/transaction_manager: fix delayed alloc addr in rewrite_logical_extent
authorSamuel Just <sjust@redhat.com>
Sat, 11 Sep 2021 04:11:24 +0000 (21:11 -0700)
committerSamuel Just <sjust@redhat.com>
Mon, 13 Sep 2021 23:37:17 +0000 (16:37 -0700)
commitf9e51c2f0da46202d83ca0ff87625efad3773a51
tree24fcba44ecb3a96170a6758c7dc776de5ad5e234
parentd8326344c9dcc4ce023e8df1bd16c868225a5e2c
crimson/os/seastore/transaction_manager: fix delayed alloc addr in rewrite_logical_extent

Setting nlextent's to the addr of the original extent violates invariants
in the intrusive_set we're using for ExtentIndex and generally breaks the
assumption in cache that paddrs are unique until reuse.  This means we'll
do an extra update_mapping for now -- we can refactor SegmentCleaner to
avoid it later.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/transaction_manager.cc