From 2243b3d59380b914f4ced75494fdec09d2f97bc6 Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Wed, 30 Jun 2021 11:55:39 +0800 Subject: [PATCH] crimson/os/seastore/cache: add the missing extent invalid check see 2bc257beb2ef1253e38c254745f42b3ac5db52de Signed-off-by: Yingxin Cheng --- src/crimson/os/seastore/cache.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/crimson/os/seastore/cache.h b/src/crimson/os/seastore/cache.h index 5316804362b50..071bc7e9c1036 100644 --- a/src/crimson/os/seastore/cache.h +++ b/src/crimson/os/seastore/cache.h @@ -326,9 +326,14 @@ public: return trans_intr::make_interruptible( get_extent_by_type(type, offset, laddr, length) ).si_then([=, &t](CachedExtentRef ret) { - t.add_to_read_set(ret); - return get_extent_ertr::make_ready_future( - std::move(ret)); + if (!ret->is_valid()) { + t.conflicted = true; + return get_extent_ertr::make_ready_future(); + } else { + t.add_to_read_set(ret); + return get_extent_ertr::make_ready_future( + std::move(ret)); + } }); } } -- 2.39.5