]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: don't remove pg from recovery queue if not enough recovery ops started
authorJosh Durgin <josh.durgin@dreamhost.com>
Wed, 8 Feb 2012 23:38:20 +0000 (15:38 -0800)
committerJosh Durgin <josh.durgin@dreamhost.com>
Thu, 9 Feb 2012 01:15:23 +0000 (17:15 -0800)
The pg has already been dequeued at the beginning of do_recovery(),
and it requeues itself only if it starts a new recovery op.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
src/osd/OSD.cc

index 98961cf98549a41a972c32cc13d2f41ce5c99647..85e497431fb751142f95155d71b6bfb2649cc8e6 100644 (file)
@@ -5117,12 +5117,7 @@ void OSD::do_recovery(PG *pg)
 
       }
     }
-    else if (started < max) {
-      recovery_wq.lock();
-      pg->recovery_item.remove_myself();
-      recovery_wq.unlock();
-    }
-    
+
     do_notifies(notify_list, pg->get_osdmap()->get_epoch());  // notify? (residual|replica)
     do_queries(query_map);
     do_infos(info_map);