From: Greg Farnum Date: Mon, 14 Feb 2011 21:23:42 +0000 (-0800) Subject: PG: remove the object locking stubs and some dead code. X-Git-Tag: v0.25~83^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=935eaf3a62807843b5a54e883f91135a9cd7b915;p=ceph.git PG: remove the object locking stubs and some dead code. These are unused (#if 0'd, so no way to use them!) and require a memory-hogging hash_map. Goodbye! Signed-off-by: Greg Farnum --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 93a8248aeaa..1e919794c43 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -2706,28 +2706,6 @@ void PG::adjust_local_snaps(ObjectStore::Transaction &t, interval_set } -// ============================== -// Object locking - -// -// If the target object of the operation op is locked for writing by another client, the function puts op to the waiting queue waiting_for_wr_unlock -// returns true if object was locked, otherwise returns false -// -bool PG::block_if_wrlocked(MOSDOp* op, object_info_t& oi) -{ - sobject_t soid(op->get_oid(), CEPH_NOSNAP); - - if (oi.wrlock_by.tid && - oi.wrlock_by.name != op->get_orig_source()) { - //the object is locked for writing by someone else -- add the op to the waiting queue - dout(10) << "blocked on wrlock on " << oi << dendl; - waiting_for_wr_unlock[soid].push_back(op); - return true; - } - - return false; //the object wasn't locked, so the operation can be handled right away -} - void PG::take_object_waiters(map >& m) { for (map >::iterator it = m.begin(); diff --git a/src/osd/PG.h b/src/osd/PG.h index b57011ca82a..37910bd0e06 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -774,8 +774,6 @@ public: void take_object_waiters(map >& m); - hash_map > waiting_for_wr_unlock; - bool block_if_wrlocked(MOSDOp* op, object_info_t& oi); diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index fcfc2b4a3db..cbe29e2257d 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -2378,43 +2378,6 @@ void ReplicatedPG::op_applied(RepGather *repop) } update_stats(); -#if 0 - // any completion stuff to do here? - if (repop->ctx->ops.size()) { - const sobject_t& soid = repop->ctx->obs->oi.soid; - OSDOp& first = repop->ctx->ops[0]; - - switch (first.op.op) { - case CEPH_OSD_OP_UNBALANCEREADS: - dout(0) << "op_applied completed unbalance-reads on " << oid << dendl; - unbalancing_reads.erase(oid); - if (waiting_for_unbalanced_reads.count(oid)) { - osd->take_waiters(waiting_for_unbalanced_reads[oid]); - waiting_for_unbalanced_reads.erase(oid); - } - break; - - case CEPH_OSD_OP_BALANCEREADS: - dout(0) << "op_applied completed balance-reads on " << oid << dendl; - /* - if (waiting_for_balanced_reads.count(oid)) { - osd->take_waiters(waiting_for_balanced_reads[oid]); - waiting_for_balanced_reads.erase(oid); - } - */ - break; - - case CEPH_OSD_OP_WRUNLOCK: - dout(0) << "op_applied completed wrunlock on " << soid << dendl; - if (waiting_for_wr_unlock.count(soid)) { - osd->take_waiters(waiting_for_wr_unlock[soid]); - waiting_for_wr_unlock.erase(soid); - } - break; - } - } -#endif - if (!repop->aborted) eval_repop(repop); diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index d128fe29642..b89c5aa0c08 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -491,10 +491,6 @@ protected: return !object_contexts.empty(); } - // load balancing - set balancing_reads; - set unbalancing_reads; - hash_map > waiting_for_unbalanced_reads; // i.e. primary-lock // pull