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>
} else {
dout(10) << " no snapset (this is a clone)" << dendl;
}
+ } else {
+ ctx->new_obs.oi = object_info_t(ctx->obc->obs.oi.soid);
}
// append to log