Even if all snaps for the clone have been removed, we still have to
send the delete to ensure that when the object is recreated the
new snaps aren't included in the wrong clone.
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit
2ec2182745fa7c22526a7cf3dedb25bc314c9db4)
// construct a SnapContext appropriate for this clone/head
SnapContext dsnapc;
+ dsnapc.seq = 0;
SnapContext snapc;
if (soid.snap == CEPH_NOSNAP) {
snapc.seq = snapset.seq;
object_locator_t base_oloc(soid);
base_oloc.pool = pool.info.tier_of;
- if (!dsnapc.snaps.empty()) {
+ if (dsnapc.seq > 0) {
ObjectOperation o;
o.remove();
osd->objecter_lock.Lock();