]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd/OSD: remove now unnecessary finished_lock.
authorJianpeng Ma <jianpeng.ma@intel.com>
Thu, 26 May 2016 09:43:48 +0000 (17:43 +0800)
committerJianpeng Ma <jianpeng.ma@intel.com>
Mon, 30 May 2016 10:40:11 +0000 (18:40 +0800)
Now list<OpRequestRef> finished protected by osd_lock.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
src/osd/OSD.cc
src/osd/OSD.h

index d79dd39caf788c0c381a3f6879c0cf0aebe6f3de..33ea6a7c05e90dca753d28a030e289230f4a21de 100644 (file)
@@ -1669,7 +1669,6 @@ OSD::OSD(CephContext *cct_, ObjectStore *store_,
   hb_back_server_messenger(hb_back_serverm),
   heartbeat_thread(this),
   heartbeat_dispatcher(this),
-  finished_lock("OSD::finished_lock"),
   op_tracker(cct, cct->_conf->osd_enable_op_tracker,
                   cct->_conf->osd_num_op_tracker_shard),
   test_ops_hook(NULL),
@@ -2634,7 +2633,6 @@ int OSD::shutdown()
   // finish ops
   op_shardedwq.drain(); // should already be empty except for laggard PGs
   {
-    Mutex::Locker l(finished_lock);
     finished.clear(); // zap waiters (bleh, this is messy)
   }
 
@@ -6070,15 +6068,11 @@ void OSD::do_waiters()
   assert(osd_lock.is_locked());
 
   dout(10) << "do_waiters -- start" << dendl;
-  finished_lock.Lock();
   while (!finished.empty()) {
     OpRequestRef next = finished.front();
     finished.pop_front();
-    finished_lock.Unlock();
     dispatch_op(next);
-    finished_lock.Lock();
   }
-  finished_lock.Unlock();
   dout(10) << "do_waiters -- finish" << dendl;
 }
 
index cda8109e9253c0da6771c6a2e968c8f9a42ff1b0..8466718cdde61dfa078c966d3cfcb5673eb6e429 100644 (file)
@@ -1714,12 +1714,10 @@ public:
 private:
   // -- waiters --
   list<OpRequestRef> finished;
-  Mutex finished_lock;
   
   void take_waiters(list<OpRequestRef>& ls) {
-    finished_lock.Lock();
+    assert(osd_lock.is_locked());
     finished.splice(finished.end(), ls);
-    finished_lock.Unlock();
   }
   void do_waiters();