]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: ClientRequest sends error to client when loading obc fails 48445/head
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 11 Oct 2022 13:38:30 +0000 (13:38 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 20 Oct 2022 13:31:43 +0000 (13:31 +0000)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/osd_operations/client_request.cc

index 1d234e23ac2fe368696891fb7b7259cd5fa3243c..3f2e5c81ba655e469eb481d116a1a4fc080623e9 100644 (file)
@@ -260,11 +260,12 @@ ClientRequest::process_op(instance_handle_t &ihref, Ref<PG> &pg)
          });
       }
       });
-  }).safe_then_interruptible([pg=std::move(pg)] (const seq_mode_t mode) {
+  }).safe_then_interruptible([pg] (const seq_mode_t mode) {
     return seastar::make_ready_future<seq_mode_t>(mode);
-  }, PG::load_obc_ertr::all_same_way([](auto &code) {
+  }, PG::load_obc_ertr::all_same_way([this, pg=std::move(pg)](const auto &code) {
     logger().error("ClientRequest saw error code {}", code);
-    return seastar::make_ready_future<seq_mode_t>(seq_mode_t::OUT_OF_ORDER);
+    assert(code.value() > 0);
+    return reply_op_error(pg, -code.value());
   }));
 }