From 3e7347222c8082cbed6770ea46002c9036e61d18 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Sun, 1 Sep 2013 13:44:09 -0700 Subject: [PATCH] ReplicatedPG/Backend: move _do_push,_do_pull_response,do_push Signed-off-by: Samuel Just --- src/osd/ReplicatedBackend.h | 4 ++-- src/osd/ReplicatedPG.cc | 24 ++++++++++++++---------- src/osd/ReplicatedPG.h | 10 +--------- 3 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/osd/ReplicatedBackend.h b/src/osd/ReplicatedBackend.h index 60c31c4c2be34..c4f501360d8d7 100644 --- a/src/osd/ReplicatedBackend.h +++ b/src/osd/ReplicatedBackend.h @@ -204,8 +204,8 @@ private: void sub_op_push_reply(OpRequestRef op); void sub_op_pull(OpRequestRef op); - void _do_push(OpRequestRef op) {} - void _do_pull_response(OpRequestRef op) {} + void _do_push(OpRequestRef op); + void _do_pull_response(OpRequestRef op); void do_push(OpRequestRef op) { if (is_primary()) { _do_pull_response(op); diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index fb03ca83b6e2e..32a3878242c61 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1569,7 +1569,7 @@ void ReplicatedPG::do_scan( } } -void ReplicatedPG::_do_push(OpRequestRef op) +void ReplicatedBackend::_do_push(OpRequestRef op) { MOSDPGPush *m = static_cast(op->request); assert(m->get_header().type == MSG_OSD_PG_PUSH); @@ -1586,18 +1586,20 @@ void ReplicatedPG::_do_push(OpRequestRef op) MOSDPGPushReply *reply = new MOSDPGPushReply; reply->set_priority(m->get_priority()); - reply->pgid = info.pgid; + reply->pgid = get_info().pgid; reply->map_epoch = m->map_epoch; reply->replies.swap(replies); reply->compute_cost(cct); - t->register_on_complete(new C_OSD_SendMessageOnConn( - osd, reply, m->get_connection())); + t->register_on_complete( + get_parent()->bless_context( + new C_OSD_SendMessageOnConn( + osd, reply, m->get_connection()))); - osd->store->queue_transaction(osr.get(), t); + get_parent()->queue_transaction(t); } -void ReplicatedPG::_do_pull_response(OpRequestRef op) +void ReplicatedBackend::_do_pull_response(OpRequestRef op) { MOSDPGPush *m = static_cast(op->request); assert(m->get_header().type == MSG_OSD_PG_PUSH); @@ -1617,16 +1619,18 @@ void ReplicatedPG::_do_pull_response(OpRequestRef op) if (replies.size()) { MOSDPGPull *reply = new MOSDPGPull; reply->set_priority(m->get_priority()); - reply->pgid = info.pgid; + reply->pgid = get_info().pgid; reply->map_epoch = m->map_epoch; reply->pulls.swap(replies); reply->compute_cost(cct); - t->register_on_complete(new C_OSD_SendMessageOnConn( - osd, reply, m->get_connection())); + t->register_on_complete( + get_parent()->bless_context( + new C_OSD_SendMessageOnConn( + osd, reply, m->get_connection()))); } - osd->store->queue_transaction(osr.get(), t); + get_parent()->queue_transaction(t); } void ReplicatedPG::do_pull(OpRequestRef op) diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index 4939299494463..8562150fdaa92 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -905,15 +905,7 @@ public: OpRequestRef op, ThreadPool::TPHandle &handle); void do_backfill(OpRequestRef op); - void _do_push(OpRequestRef op); - void _do_pull_response(OpRequestRef op); - void do_push(OpRequestRef op) { - if (is_primary()) { - _do_pull_response(op); - } else { - _do_push(op); - } - } + void do_pull(OpRequestRef op); void do_push_reply(OpRequestRef op); RepGather *trim_object(const hobject_t &coid); -- 2.39.5