summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Just <sam.just@inktank.com>2012-11-18 19:24:00 -0800
committerSamuel Just <sam.just@inktank.com>2012-12-06 22:52:54 -0800
commit3f412e88fa93bfb150f9af8828158a2bb8d67322 (patch)
tree138cae7dc3993106c8e42611b9a6fe41261d7e74
parent19e6861daf356f77d01b122943370eb9ecca4d72 (diff)
downloadceph-3f412e88fa93bfb150f9af8828158a2bb8d67322.tar.gz
OSD: do _remove_pg in add_newly_split_pg is pool if gone
Signed-off-by: Samuel Just <sam.just@inktank.com>
-rw-r--r--src/osd/OSD.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
index 2236fa1172b..a4b3179dc3e 100644
--- a/src/osd/OSD.cc
+++ b/src/osd/OSD.cc
@@ -1378,6 +1378,8 @@ void OSD::add_newly_split_pg(PG *pg, PG::RecoveryCtx *rctx)
peering_wait_for_split.erase(to_wake);
}
wake_pg_waiters(pg->info.pgid);
+ if (!service.get_osdmap()->have_pg_pool(pg->info.pgid.pool()))
+ _remove_pg(pg);
}
PG *OSD::_create_lock_pg(