]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
clear data and payload inside ops_in_flight_lock 3217/head
authorLei Dong <leidong@yahoo-inc.com>
Tue, 30 Dec 2014 13:02:45 +0000 (21:02 +0800)
committerLei Dong <leidong@yahoo-inc.com>
Tue, 30 Dec 2014 13:02:45 +0000 (21:02 +0800)
http://tracker.ceph.com/issues/9916 Fixes: #9916
Signed-off-by: Dong Lei <leidong@yahoo-inc.com>
src/common/TrackedOp.cc

index ddb2f91ac3f55980633c84a8615c842ba47b544f..5a76f6472e353343a29b7709bffd217b794bde5b 100644 (file)
@@ -121,10 +121,10 @@ void OpTracker::unregister_inflight_op(TrackedOp *i)
   // caller checks;
   assert(tracking_enabled);
 
+  Mutex::Locker locker(ops_in_flight_lock);
   i->request->clear_data();
   i->request->clear_payload();
 
-  Mutex::Locker locker(ops_in_flight_lock);
   assert(i->xitem.get_list() == &ops_in_flight);
   utime_t now = ceph_clock_now(cct);
   i->xitem.remove_myself();