From: Samuel Just Date: Mon, 11 Jan 2021 23:00:58 +0000 (-0800) Subject: crimson/os/seastore/cache: add newly read extent prior to read X-Git-Tag: v17.1.0~3095^2~15 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=2198c7932358dbede68311ffd48864642a816584;p=ceph-ci.git crimson/os/seastore/cache: add newly read extent prior to read We already block access to it, but it needs to be in the cache for a concurrent transaction to see it and block appropriately. Signed-off-by: Samuel Just --- diff --git a/src/crimson/os/seastore/cache.h b/src/crimson/os/seastore/cache.h index 62427216284..28d5f43aaf1 100644 --- a/src/crimson/os/seastore/cache.h +++ b/src/crimson/os/seastore/cache.h @@ -156,6 +156,7 @@ public: ref->set_io_wait(); ref->set_paddr(offset); ref->state = CachedExtent::extent_state_t::CLEAN; + add_extent(ref); return segment_manager.read( offset, @@ -167,7 +168,6 @@ public: ref->on_clean_read(); ref->complete_io(); - add_extent(ref); return get_extent_ertr::make_ready_future>( std::move(ref)); },