]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
crimson/seastore: fix cache::get_extent got retired extent
authorchunmei-liu <chunmei.liu@intel.com>
Thu, 10 Jun 2021 03:37:07 +0000 (20:37 -0700)
committerchunmei-liu <chunmei.liu@intel.com>
Mon, 14 Jun 2021 22:29:18 +0000 (15:29 -0700)
commit3fdd94c43fb767b379e0fb6dc7ef9d57f0c6b554
tree67e08c5701a62d8eec98c4dbaa8934ad92007475
parent3a4ae22b8f9cd475fa725c30966ac2c2867b12fe
crimson/seastore: fix cache::get_extent got retired extent

one transaction got an extent whose state is MUTATION_PENDINGat that time.
but another transaction do split and set the extent state to RETIRED.
when the first transaction resume and do continuation, the state of the extent
has been changed to RETIRED. So need eagain to try again.

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
src/crimson/os/seastore/cache.cc
src/crimson/os/seastore/cache.h
src/crimson/os/seastore/cached_extent.cc
src/crimson/os/seastore/cached_extent.h
src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_accessor.h
src/test/crimson/seastore/test_object_data_handler.cc