From: Sage Weil Date: Wed, 13 Dec 2017 00:49:38 +0000 (-0600) Subject: osd: do not clean up split state on deleted pools X-Git-Tag: v13.0.2~510^2~11 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d153a95bfec486ffb191eec7c52ceaf96172f20f;p=ceph.git osd: do not clean up split state on deleted pools We want the PGs to get created and then process the newer osdmap(s) to delete themselves. Signed-off-by: Sage Weil --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index a85510ce8b57..16d7a7ad05c8 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -452,26 +452,11 @@ void OSDService::expand_pg_num(OSDMapRef old_map, OSDMapRef new_map) { Mutex::Locker l(in_progress_split_lock); - for (set::iterator i = in_progress_splits.begin(); - i != in_progress_splits.end(); - ) { - if (!new_map->have_pg_pool(i->pool())) { - in_progress_splits.erase(i++); - } else { - _maybe_split_pgid(old_map, new_map, *i); - ++i; - } + for (auto pgid : in_progress_splits) { + _maybe_split_pgid(old_map, new_map, pgid); } - for (map::iterator i = pending_splits.begin(); - i != pending_splits.end(); - ) { - if (!new_map->have_pg_pool(i->first.pool())) { - rev_pending_splits.erase(i->second); - pending_splits.erase(i++); - } else { - _maybe_split_pgid(old_map, new_map, i->first); - ++i; - } + for (auto i : pending_splits) { + _maybe_split_pgid(old_map, new_map, i.first); } }