]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: fix missed OpSequencer::abort() on primary change. 41865/head
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 15 Jun 2021 00:05:20 +0000 (00:05 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 15 Jun 2021 14:32:39 +0000 (14:32 +0000)
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 <rzarzyns@redhat.com>
src/crimson/osd/osd_operations/client_request.cc

index c89134c18252a1253a5e35fba82504b48f4e8902..90f52a7306dca3b21f356ed64982fec31b2ad9fb 100644 (file)
@@ -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);