]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
OSD: we need to check pg ?.0 for resurrection
authorSamuel Just <sam.just@inktank.com>
Mon, 17 Jun 2013 20:09:21 +0000 (13:09 -0700)
committerSamuel Just <sam.just@inktank.com>
Mon, 17 Jun 2013 20:15:30 +0000 (13:15 -0700)
Fixes: #5269
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
src/osd/OSD.cc

index 521e7f69b0b9d7811e466ef19839d273af24de0b..f9a8bcbe8e37841bb642135520d82f20113038b1 100644 (file)
@@ -1767,10 +1767,12 @@ OSD::res_result OSD::_try_resurrect_pg(
   // find nearest ancestor
   DeletingStateRef df;
   pg_t cur(pgid);
-  while (cur.ps()) {
+  while (true) {
     df = service.deleting_pgs.lookup(pgid);
     if (df)
       break;
+    if (!cur.ps())
+      break;
     cur = cur.get_parent();
   }
   if (!df)