]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
OSD: expand_pg_num after pg removes
authorSamuel Just <sam.just@inktank.com>
Fri, 15 Mar 2013 01:52:02 +0000 (18:52 -0700)
committerSamuel Just <sam.just@inktank.com>
Fri, 15 Mar 2013 18:07:10 +0000 (11:07 -0700)
commitf1b031b3cf195cf6df3d3c47c7d606fba63ed4c4
tree4360421e6099351fb1f068cead0324b21a45fe83
parent8222cbc8f35c359a35f8381ad90ff0eed5615dac
OSD: expand_pg_num after pg removes

Otherwise:
1) expand_pg_num removes a splitting pg entry
2) peering thread grabs pg lock and starts split
3) OSD::consume_map grabs pg lock and starts removal

At step 2), we run afoul of the assert(is_splitting)
check in split_pgs.  This way, the would be splitting
pg is marked as removed prior to the splitting state
being updated.

Backport: bobtail
Fixes: #4449
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
src/osd/OSD.cc