]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
ReplicatedPG::finish_ctx: clear object_info if !obs.exists
authorSamuel Just <sam.just@inktank.com>
Fri, 7 Mar 2014 23:54:23 +0000 (15:54 -0800)
committerSage Weil <sage@inktank.com>
Sun, 9 Mar 2014 19:22:12 +0000 (12:22 -0700)
commit83731a75d7f29778dafff5e08a3ebc5da1498665
tree94ba6a094c762f2791a813a5a5b4ea701ccb49ec
parent40dc3f8b2cc8e26d99a145a8b87e0a749c8b92a7
ReplicatedPG::finish_ctx: clear object_info if !obs.exists

Otherwise, we see a different object_info_t depending on whether the
transaction deleting the object clears before another op recreating it appears.
In particular, we use oi.version to set the prior_version on the log entries in
finish_ctx.  If the oi is allowed to stick around the recreation log event will
have a prior version of the deletion event when it should have a prior version
of eversion_t().

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