From 8cc9f40ea1592ee71ae1c68773de23febacbdee8 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Tue, 26 May 2020 11:15:42 -0700 Subject: [PATCH] crimson/os/seastore/cache.h: actually call complete_load Signed-off-by: Samuel Just --- src/crimson/os/seastore/cache.h | 1 + src/crimson/os/seastore/cached_extent.h | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/src/crimson/os/seastore/cache.h b/src/crimson/os/seastore/cache.h index 3007ba6d2294a..a0360109fa882 100644 --- a/src/crimson/os/seastore/cache.h +++ b/src/crimson/os/seastore/cache.h @@ -196,6 +196,7 @@ public: length, ref->get_bptr()).safe_then( [ref=std::move(ref)]() mutable { + ref->on_clean_read(); ref->complete_io(); return get_extent_ertr::make_ready_future>( std::move(ref)); diff --git a/src/crimson/os/seastore/cached_extent.h b/src/crimson/os/seastore/cached_extent.h index 463f5eeae595f..4f40a3ecd2860 100644 --- a/src/crimson/os/seastore/cached_extent.h +++ b/src/crimson/os/seastore/cached_extent.h @@ -80,6 +80,16 @@ public: */ virtual void on_initial_write() {} + /** + * on_clean_read + * + * Called after read of initially written extent. + * State will be CLEAN. Implentation may use this + * call to fixup the buffer with the newly available + * absolute get_paddr(). + */ + virtual void on_clean_read() {} + /** * on_delta_write * -- 2.39.5