From: Samuel Just Date: Thu, 4 Jul 2024 03:46:25 +0000 (-0700) Subject: crimson/.../internal_client_request: record epoch at construction and use for interru... X-Git-Tag: v19.2.1~307^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=35e9e7edc8ad3bdba86f21b965bbef6800bcaa71;p=ceph.git crimson/.../internal_client_request: record epoch at construction and use for interruption Signed-off-by: Samuel Just (cherry picked from commit 238f15e42df3d0bd3e699ba24e8a940af9ae20ba) --- diff --git a/src/crimson/osd/osd_operations/internal_client_request.cc b/src/crimson/osd/osd_operations/internal_client_request.cc index d72c128683da..22d7f3e492ad 100644 --- a/src/crimson/osd/osd_operations/internal_client_request.cc +++ b/src/crimson/osd/osd_operations/internal_client_request.cc @@ -25,7 +25,7 @@ SET_SUBSYS(osd); namespace crimson::osd { InternalClientRequest::InternalClientRequest(Ref pg) - : pg(std::move(pg)) + : pg(pg), start_epoch(pg->get_osdmap_epoch()) { assert(bool(this->pg)); assert(this->pg->is_primary()); @@ -125,7 +125,7 @@ seastar::future<> InternalClientRequest::start() } else { return seastar::stop_iteration::no; } - }, pg); + }, pg, start_epoch); }).then([this] { track_event(); }).finally([this] { diff --git a/src/crimson/osd/osd_operations/internal_client_request.h b/src/crimson/osd/osd_operations/internal_client_request.h index 97ce0492f547..f198e5846433 100644 --- a/src/crimson/osd/osd_operations/internal_client_request.h +++ b/src/crimson/osd/osd_operations/internal_client_request.h @@ -44,6 +44,7 @@ private: seastar::future<> do_process(); Ref pg; + epoch_t start_epoch; OpInfo op_info; PipelineHandle handle;