diff options
author | Samuel Just <sam.just@inktank.com> | 2013-09-01 14:35:27 -0700 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-09-14 00:45:32 -0700 |
commit | 5361f3501df24d73e2aeb75027707fc144e44dce (patch) | |
tree | 7468f294c96a6e85e991b17310940eb76636dc10 | |
parent | 05287db378a97721045d6092d025df266e44af1e (diff) | |
download | ceph-5361f3501df24d73e2aeb75027707fc144e44dce.tar.gz |
ReplicatedPG/Backend: move over send_pushes/send_pulls/prep_push_op_blank
Signed-off-by: Samuel Just <sam.just@inktank.com>
-rw-r--r-- | src/osd/ReplicatedBackend.h | 10 | ||||
-rw-r--r-- | src/osd/ReplicatedPG.cc | 39 | ||||
-rw-r--r-- | src/osd/ReplicatedPG.h | 10 |
3 files changed, 27 insertions, 32 deletions
diff --git a/src/osd/ReplicatedBackend.h b/src/osd/ReplicatedBackend.h index 0ee803d6afa..39e75879b62 100644 --- a/src/osd/ReplicatedBackend.h +++ b/src/osd/ReplicatedBackend.h @@ -222,16 +222,16 @@ private: bufferlist *data_usable); void _failed_push(int from, const hobject_t &soid); - void send_pushes(int prio, map<int, vector<PushOp> > &pushes) {} - void prep_push_op_blank(const hobject_t& soid, PushOp *op) {} + void send_pushes(int prio, map<int, vector<PushOp> > &pushes); + void prep_push_op_blank(const hobject_t& soid, PushOp *op); int send_push_op_legacy(int priority, int peer, - PushOp &pop) { return 1; } + PushOp &pop); int send_pull_legacy(int priority, int peer, const ObjectRecoveryInfo& recovery_info, - ObjectRecoveryProgress progress) { return 1;} + ObjectRecoveryProgress progress); void send_pulls( int priority, - map<int, vector<PullOp> > &pulls) {} + map<int, vector<PullOp> > &pulls); int build_push_op(const ObjectRecoveryInfo &recovery_info, const ObjectRecoveryProgress &progress, diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 94573fd16e6..e439cbe7824 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -278,7 +278,8 @@ void ReplicatedPG::wait_for_missing_object(const hobject_t& soid, OpRequestRef o dout(7) << "missing " << soid << " v " << v << ", pulling." << dendl; map<int, vector<PullOp> > pulls; prepare_pull(soid, v, cct->_conf->osd_client_op_priority, &pulls); - send_pulls(cct->_conf->osd_client_op_priority, pulls); + // TODOSAM: replace + //send_pulls(g_conf->osd_client_op_priority, pulls); } waiting_for_missing_object[soid].push_back(op); op->mark_delayed("waiting for missing object"); @@ -336,7 +337,8 @@ void ReplicatedPG::wait_for_degraded_object(const hobject_t& soid, OpRequestRef } map<int, vector<PushOp> > pushes; prep_object_replica_pushes(soid, v, cct->_conf->osd_client_op_priority, &pushes); - send_pushes(cct->_conf->osd_client_op_priority, pushes); + // TODOSAM: replace + //send_pushes(g_conf->osd_client_op_priority, pushes); } waiting_for_degraded_object[soid].push_back(op); op->mark_delayed("waiting for degraded object"); @@ -5968,9 +5970,9 @@ void ReplicatedPG::prep_push( pi.recovery_progress = new_progress; } -int ReplicatedPG::send_pull_legacy(int prio, int peer, - const ObjectRecoveryInfo &recovery_info, - ObjectRecoveryProgress progress) +int ReplicatedBackend::send_pull_legacy(int prio, int peer, + const ObjectRecoveryInfo &recovery_info, + ObjectRecoveryProgress progress) { // send op tid_t tid = osd->get_tid(); @@ -5983,7 +5985,7 @@ int ReplicatedPG::send_pull_legacy(int prio, int peer, << " from osd." << peer << " tid " << tid << dendl; - MOSDSubOp *subop = new MOSDSubOp(rid, info.pgid, recovery_info.soid, + MOSDSubOp *subop = new MOSDSubOp(rid, get_info().pgid, recovery_info.soid, false, CEPH_OSD_FLAG_ACK, get_osdmap()->get_epoch(), tid, recovery_info.version); @@ -6243,7 +6245,7 @@ void ReplicatedBackend::handle_push( t); } -void ReplicatedPG::send_pushes(int prio, map<int, vector<PushOp> > &pushes) +void ReplicatedBackend::send_pushes(int prio, map<int, vector<PushOp> > &pushes) { for (map<int, vector<PushOp> >::iterator i = pushes.begin(); i != pushes.end(); @@ -6267,7 +6269,7 @@ void ReplicatedPG::send_pushes(int prio, map<int, vector<PushOp> > &pushes) uint64_t cost = 0; uint64_t pushes = 0; MOSDPGPush *msg = new MOSDPGPush(); - msg->pgid = info.pgid; + msg->pgid = get_info().pgid; msg->map_epoch = get_osdmap()->get_epoch(); msg->set_priority(prio); for (; @@ -6288,7 +6290,7 @@ void ReplicatedPG::send_pushes(int prio, map<int, vector<PushOp> > &pushes) } } -void ReplicatedPG::send_pulls(int prio, map<int, vector<PullOp> > &pulls) +void ReplicatedBackend::send_pulls(int prio, map<int, vector<PullOp> > &pulls) { for (map<int, vector<PullOp> >::iterator i = pulls.begin(); i != pulls.end(); @@ -6315,7 +6317,7 @@ void ReplicatedPG::send_pulls(int prio, map<int, vector<PullOp> > &pulls) << " to osd." << i->first << dendl; MOSDPGPull *msg = new MOSDPGPull(); msg->set_priority(prio); - msg->pgid = info.pgid; + msg->pgid = get_info().pgid; msg->map_epoch = get_osdmap()->get_epoch(); msg->pulls.swap(i->second); msg->compute_cost(cct); @@ -6432,11 +6434,11 @@ int ReplicatedPG::build_push_op(const ObjectRecoveryInfo &recovery_info, return 0; } -int ReplicatedPG::send_push_op_legacy(int prio, int peer, PushOp &pop) +int ReplicatedBackend::send_push_op_legacy(int prio, int peer, PushOp &pop) { tid_t tid = osd->get_tid(); osd_reqid_t rid(osd->get_cluster_msgr_name(), 0, tid); - MOSDSubOp *subop = new MOSDSubOp(rid, info.pgid, pop.soid, + MOSDSubOp *subop = new MOSDSubOp(rid, get_info().pgid, pop.soid, false, 0, get_osdmap()->get_epoch(), tid, pop.recovery_info.version); subop->ops = vector<OSDOp>(1); @@ -6457,7 +6459,7 @@ int ReplicatedPG::send_push_op_legacy(int prio, int peer, PushOp &pop) return 0; } -void ReplicatedPG::prep_push_op_blank(const hobject_t& soid, PushOp *op) +void ReplicatedBackend::prep_push_op_blank(const hobject_t& soid, PushOp *op) { op->recovery_info.version = eversion_t(); op->version = eversion_t(); @@ -7569,8 +7571,9 @@ int ReplicatedPG::recover_primary(int max, ThreadPool::TPHandle &handle) if (!skipped) pg_log.set_last_requested(v); } - - send_pulls(cct->_conf->osd_recovery_op_priority, pulls); + + // TODOSAM: replace + //send_pulls(g_conf->osd_recovery_op_priority, pulls); return started; } @@ -7675,7 +7678,8 @@ int ReplicatedPG::recover_replicas(int max, ThreadPool::TPHandle &handle) } } - send_pushes(cct->_conf->osd_recovery_op_priority, pushes); + // TODOSAM: replace + //send_pushes(g_conf->osd_recovery_op_priority, pushes); return started; } @@ -7847,7 +7851,8 @@ int ReplicatedPG::recover_backfill( prep_backfill_object_push( i->first, i->second.first, i->second.second, backfill_target, &pushes); } - send_pushes(cct->_conf->osd_recovery_op_priority, pushes); + // TODOSAM: replace + //send_pushes(g_conf->osd_recovery_op_priority, pushes); release_waiting_for_backfill_pos(); dout(5) << "backfill_pos is " << backfill_pos << " and pinfo.last_backfill is " diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index 704804e8744..d41204268c6 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -543,17 +543,11 @@ protected: set<hobject_t> temp_contents; ObjectRecoveryInfo recalc_subsets(const ObjectRecoveryInfo& recovery_info); - void send_pushes(int prio, map<int, vector<PushOp> > &pushes); int build_push_op(const ObjectRecoveryInfo &recovery_info, const ObjectRecoveryProgress &progress, ObjectRecoveryProgress *out_progress, PushOp *out_op); - int send_push_op_legacy(int priority, int peer, - PushOp &pop); - int send_pull_legacy(int priority, int peer, - const ObjectRecoveryInfo& recovery_info, - ObjectRecoveryProgress progress); void submit_push_data(ObjectRecoveryInfo &recovery_info, bool first, bool complete, @@ -657,16 +651,12 @@ protected: interval_set<uint64_t> &data_subset, map<hobject_t, interval_set<uint64_t> >& clone_subsets, PushOp *op); - void prep_push_op_blank(const hobject_t& soid, PushOp *op); void finish_degraded_object(const hobject_t& oid); // Cancels/resets pulls from peer void check_recovery_sources(const OSDMapRef map); - void send_pulls( - int priority, - map<int, vector<PullOp> > &pulls); int prepare_pull( const hobject_t& oid, eversion_t v, int priority, |