From: Sage Weil Date: Tue, 22 Mar 2016 15:44:07 +0000 (-0400) Subject: mon/PGMonitor: do not send pg_creates for split PGs X-Git-Tag: v10.1.1~99^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9c616d269abff0113b644e3c99be4bfdcd82897d;p=ceph.git mon/PGMonitor: do not send pg_creates for split PGs They will split from the parent on their own, and the OSD drops these PGs on the floor anyway in OSD::handle_pg_create(). Signed-off-by: Sage Weil --- diff --git a/src/mon/PGMap.cc b/src/mon/PGMap.cc index 81162012b0e7..fbef9bab0c4b 100644 --- a/src/mon/PGMap.cc +++ b/src/mon/PGMap.cc @@ -468,7 +468,8 @@ void PGMap::stat_pg_add(const pg_t &pgid, const pg_stat_t &s, num_pg++; num_pg_by_state[s.state]++; - if (s.state & PG_STATE_CREATING) { + if ((s.state & PG_STATE_CREATING) && + s.parent_split_bits == 0) { creating_pgs.insert(pgid); if (s.acting_primary >= 0) { creating_pgs_by_osd_epoch[s.acting_primary][s.mapping_epoch].insert(pgid); @@ -505,7 +506,8 @@ void PGMap::stat_pg_sub(const pg_t &pgid, const pg_stat_t &s, if (end == 0) num_pg_by_state.erase(s.state); - if (s.state & PG_STATE_CREATING) { + if ((s.state & PG_STATE_CREATING) && + s.parent_split_bits == 0) { creating_pgs.erase(pgid); if (s.acting_primary >= 0) { map >& r = creating_pgs_by_osd_epoch[s.acting_primary];