diff options
author | Samuel Just <sam.just@inktank.com> | 2013-06-17 13:09:21 -0700 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-06-17 13:15:30 -0700 |
commit | d46e6c3bff985be14e7c66caf3b7819bd6daf6fa (patch) | |
tree | 6c1af9f5b49702a33f429a9b828b466bcac43f16 | |
parent | d582ee2438a3bd307324c5f44491f26fd6a56704 (diff) | |
download | ceph-d46e6c3bff985be14e7c66caf3b7819bd6daf6fa.tar.gz |
OSD: we need to check pg ?.0 for resurrection
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>
-rw-r--r-- | src/osd/OSD.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 521e7f69b0b..f9a8bcbe8e3 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -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) |