{
PGPool *p = _lookup_pool(id);
if (!p) {
+ if (!osdmap->have_pg_pool(id)) {
+ dout(5) << __func__ << ": the OSDmap does not contain a PG pool with id = "
+ << id << dendl;
+ return NULL;
+ }
+
p = new PGPool(id, osdmap->get_pool_name(id),
osdmap->get_pg_pool(id)->v.auid );
pool_map[id] = p;
dout(10) << "_open_lock_pg " << pgid << dendl;
PGPool *pool = _get_pool(pgid.pool());
+ assert(pool);
// create
PG *pg;
<< " (pg " << pgid << " snap " << snap << ")" << dendl;
continue;
}
+
+ if (!osdmap->have_pg_pool(pgid.pool())) {
+ dout(10) << __func__ << ": skipping PG " << pgid << " because we don't have pool "
+ << pgid.pool() << dendl;
+ continue;
+ }
+
PG *pg = _open_lock_pg(pgid);
// read pg state, log