From ee314b93512b1503f89013a1c994a29a524717db Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 27 Jan 2018 17:51:20 -0600 Subject: [PATCH] osd/ECBackend: unify commit+applied msg; drop applied callback Signed-off-by: Sage Weil --- src/osd/ECBackend.cc | 53 +++----------------------------------------- src/osd/ECBackend.h | 4 ---- 2 files changed, 3 insertions(+), 54 deletions(-) diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc index bac5ef4ca95..299676ac375 100644 --- a/src/osd/ECBackend.cc +++ b/src/osd/ECBackend.cc @@ -850,6 +850,7 @@ void ECBackend::sub_write_committed( reply.tid = tid; reply.last_complete = last_complete; reply.committed = true; + reply.applied = true; reply.from = get_parent()->whoami_shard(); handle_sub_write_reply( get_parent()->whoami_shard(), @@ -863,6 +864,7 @@ void ECBackend::sub_write_committed( r->op.tid = tid; r->op.last_complete = last_complete; r->op.committed = true; + r->op.applied = true; r->op.from = get_parent()->whoami_shard(); r->set_priority(CEPH_MSG_PRIO_HIGH); r->trace = trace; @@ -872,53 +874,6 @@ void ECBackend::sub_write_committed( } } -struct SubWriteApplied : public Context { - ECBackend *pg; - OpRequestRef msg; - ceph_tid_t tid; - eversion_t version; - const ZTracer::Trace trace; - SubWriteApplied( - ECBackend *pg, - OpRequestRef msg, - ceph_tid_t tid, - eversion_t version, - const ZTracer::Trace &trace) - : pg(pg), msg(msg), tid(tid), version(version), trace(trace) {} - void finish(int) override { - if (msg) - msg->mark_event("sub_op_applied"); - pg->sub_write_applied(tid, version, trace); - } -}; -void ECBackend::sub_write_applied( - ceph_tid_t tid, eversion_t version, - const ZTracer::Trace &trace) { - parent->op_applied(version); - if (get_parent()->pgb_is_primary()) { - ECSubWriteReply reply; - reply.from = get_parent()->whoami_shard(); - reply.tid = tid; - reply.applied = true; - handle_sub_write_reply( - get_parent()->whoami_shard(), - reply, trace); - } else { - MOSDECSubOpWriteReply *r = new MOSDECSubOpWriteReply; - r->pgid = get_parent()->primary_spg_t(); - r->map_epoch = get_parent()->get_epoch(); - r->min_epoch = get_parent()->get_interval_start_epoch(); - r->op.from = get_parent()->whoami_shard(); - r->op.tid = tid; - r->op.applied = true; - r->set_priority(CEPH_MSG_PRIO_HIGH); - r->trace = trace; - r->trace.event("sending sub op apply"); - get_parent()->send_message_osd_cluster( - get_parent()->primary_shard().osd, r, get_parent()->get_epoch()); - } -} - void ECBackend::handle_sub_write( pg_shard_t from, OpRequestRef msg, @@ -969,14 +924,12 @@ void ECBackend::handle_sub_write( this, msg, op.tid, op.at_version, get_parent()->get_info().last_complete, trace))); - localt.register_on_applied( - get_parent()->bless_context( - new SubWriteApplied(this, msg, op.tid, op.at_version, trace))); vector tls; tls.reserve(2); tls.push_back(std::move(op.t)); tls.push_back(std::move(localt)); get_parent()->queue_transactions(tls, msg); + parent->op_applied(op.at_version); } void ECBackend::handle_sub_read( diff --git a/src/osd/ECBackend.h b/src/osd/ECBackend.h index 1fccb5644a2..55f07866374 100644 --- a/src/osd/ECBackend.h +++ b/src/osd/ECBackend.h @@ -57,10 +57,6 @@ public: ) override; friend struct SubWriteApplied; friend struct SubWriteCommitted; - void sub_write_applied( - ceph_tid_t tid, - eversion_t version, - const ZTracer::Trace &trace); void sub_write_committed( ceph_tid_t tid, eversion_t version, -- 2.39.5