From: Radoslaw Zarzynski Date: Tue, 15 Jun 2021 00:05:20 +0000 (+0000) Subject: crimson/osd: fix missed OpSequencer::abort() on primary change. X-Git-Tag: v17.1.0~1648^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=2b14df40efe18f07f5dd91aec5f1fe959bf5bc5c;p=ceph.git crimson/osd: fix missed OpSequencer::abort() on primary change. Commit b5efdc6f1c9563357d7dfd33a8f379053592a215 has unified the interruption handling among `InternalClientRequest` and `ClientRequest`. Unfortunately, a call to `abort()` of `OpSequencer` has been overlooked and dropped. This was causing crashes at Sepia after after fixing the ordering issues in `ClientRequest`. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/osd_operations/client_request.cc b/src/crimson/osd/osd_operations/client_request.cc index c89134c18252a..90f52a7306dca 100644 --- a/src/crimson/osd/osd_operations/client_request.cc +++ b/src/crimson/osd/osd_operations/client_request.cc @@ -125,6 +125,7 @@ seastar::future<> ClientRequest::start() }); }, [this, pgref](std::exception_ptr eptr) { if (should_abort_request(*this, std::move(eptr))) { + sequencer.abort(); return seastar::stop_iteration::yes; } else { sequencer.maybe_reset(*this);