]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: scrub: list objects without lock held
authorSage Weil <sage@newdream.net>
Tue, 9 Nov 2010 23:08:15 +0000 (15:08 -0800)
committerSage Weil <sage@newdream.net>
Tue, 9 Nov 2010 23:46:58 +0000 (15:46 -0800)
We'll go back to get anything we missed later.

Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/PG.cc

index 1e37a6e48aa36a815d5430d4b928d23605cd1d17..9501097880dfcf4d182a4b39b5075757260df049 100644 (file)
@@ -2647,14 +2647,15 @@ void PG::build_scrub_map(ScrubMap &map)
 {
   dout(10) << "build_scrub_map" << dendl;
 
-  // objects
-  vector<sobject_t> ls;
-  osd->store->collection_list(coll, ls);
-
   map.valid_through = last_update_applied;
   epoch_t epoch = info.history.same_acting_since;
 
   unlock();
+
+  // objects
+  vector<sobject_t> ls;
+  osd->store->collection_list(coll, ls);
+
   _scan_list(map, ls);
   lock();