]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
OSD: resurrect a parent if it splits into the pg we want to create
authorSamuel Just <sam.just@inktank.com>
Thu, 30 May 2013 22:11:58 +0000 (15:11 -0700)
committerSamuel Just <sam.just@inktank.com>
Wed, 5 Jun 2013 20:07:42 +0000 (13:07 -0700)
commit951fc2fae45a7ee9be1deb204d73c85ff3a9b718
treec045438756ef6dd08f8854e8d8c4db240e2401d2
parentd605eafd178db105031f473084f9aac28940aaf7
OSD: resurrect a parent if it splits into the pg we want to create

When attempting to create a new pg object in response to a
peering message, there are 3 cases:
1) That pg is currently being deleted.  In this case, we
cancel the deletion and resurrect the pg at the epoch at
which it had been deleted.
2) A pg is being deleted which would have split into the
pg we want to create had it not been deleted.  In that case,
we resurrect that pg at the map at which it had been deleted
and let the request wait on the impending split.
3) Neither that pg nor a parent can be resurrected.  In this
case, we create a new pg at the map epoch of the peering
request.

Fixes: #5154
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/OSD.cc
src/osd/OSD.h