]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PG: make recovering_oids a multiset
authorSage Weil <sage@redhat.com>
Wed, 25 Oct 2017 03:16:26 +0000 (22:16 -0500)
committerSage Weil <sage@redhat.com>
Thu, 26 Oct 2017 02:50:12 +0000 (21:50 -0500)
For multiple backfill targets, we start MAX multiple times.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PG.cc
src/osd/PG.h

index bd013440657a44ed6fe58ded5a5d5c64dba70baf..06c2767455be4af292fb9cdffb569530498b15b6 100644 (file)
@@ -2209,7 +2209,6 @@ void PG::start_recovery_op(const hobject_t& soid)
   assert(recovery_ops_active >= 0);
   recovery_ops_active++;
 #ifdef DEBUG_RECOVERY_OIDS
-  assert(recovering_oids.count(soid) == 0);
   recovering_oids.insert(soid);
 #endif
   osd->start_recovery_op(this, soid);
@@ -2226,7 +2225,7 @@ void PG::finish_recovery_op(const hobject_t& soid, bool dequeue)
   recovery_ops_active--;
 #ifdef DEBUG_RECOVERY_OIDS
   assert(recovering_oids.count(soid));
-  recovering_oids.erase(soid);
+  recovering_oids.erase(recovering_oids.find(soid));
 #endif
   osd->finish_recovery_op(this, soid, dequeue);
 
index 20d33ec09cab6d1189a9efe3fb9dce3d69ac6780..2b9571d9276001d4f1cd0908ee0491555b4e88ef 100644 (file)
@@ -840,7 +840,7 @@ protected:
   int recovery_ops_active;
   set<pg_shard_t> waiting_on_backfill;
 #ifdef DEBUG_RECOVERY_OIDS
-  set<hobject_t> recovering_oids;
+  multiset<hobject_t> recovering_oids;
 #endif
 
 protected: