]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: take ondisk_read_lock if pushing object to peer
authorSage Weil <sage@newdream.net>
Tue, 9 Feb 2010 17:03:51 +0000 (09:03 -0800)
committerSage Weil <sage@newdream.net>
Tue, 9 Feb 2010 17:03:51 +0000 (09:03 -0800)
src/osd/ReplicatedPG.cc

index d8ee59c49af0c98faed3a94a89c1c875782e5737..e7acd0fb9156baec366dd2f1acba51450a320037 100644 (file)
@@ -632,8 +632,10 @@ void ReplicatedPG::do_op(MOSDOp *op)
         peer_missing[peer].is_missing(soid)) {
       // push it before this update. 
       // FIXME, this is probably extra much work (eg if we're about to overwrite)
+      obc->ondisk_read_lock();
       push_to_replica(soid, peer);
       start_recovery_op(soid);
+      obc->ondisk_read_unlock();
     }
     
     issue_repop(repop, peer, now, old_exists, old_size, old_version);