]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: ECBackend::handle_sub_write() handles the end of local write
authorRadosław Zarzyński <rzarzyns@redhat.com>
Tue, 24 Oct 2023 10:51:24 +0000 (12:51 +0200)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 24 Mar 2026 16:06:23 +0000 (16:06 +0000)
Signed-off-by: Radosław Zarzyński <rzarzyns@redhat.com>
src/crimson/osd/ec_backend.cc

index ddc4891ba2bc27e11228ac31aaa846e49bd509a7..619c5fabbe56a1cb6a7a44f46f0f9b32673fc030 100644 (file)
@@ -380,7 +380,23 @@ void ECBackend::handle_sub_write(
   const ZTracer::Trace &trace,
   ECListener& eclistener)
 {
-  std::ignore = handle_sub_write(from, std::move(op), eclistener);
+  LOG_PREFIX(ECBackend::handle_sub_write);
+  const auto tid = op.tid;
+  DEBUG("tid {}", tid);
+  std::ignore = handle_sub_write(
+    from, std::move(op), eclistener
+  ).si_then([tid, &eclistener, this] {
+    assert(eclistener.pgb_is_primary());
+    ECSubWriteReply reply;
+    reply.tid = tid;
+    //reply.last_complete = last_complete;
+    reply.committed = true;
+    reply.applied = true;
+    reply.from = eclistener.whoami_shard();
+    logger().debug("ECBackend::{} from {}",
+                   "handle_sub_write::reply", reply.from);
+    return handle_rep_write_reply(std::move(reply));
+  }, crimson::ct_error::assert_all{});
 }
 
 ECBackend::write_iertr::future<>