}
ObjectContext *obc = get_object_context(soid, oloc, false);
+ assert(obc);
// clone
dout(20) << "find_object_context " << soid << " snaps " << obc->obs.oi.snaps << dendl;
oi.soid.get_key(),
oi.soid.hash,
false);
+ assert(obc->ssc);
// subtract off clone overlap
if (obc->ssc->snapset.clone_overlap.count(oi.soid.snap)) {
// check snapset
SnapSetContext *ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, false);
+ assert(ssc);
dout(10) << " snapset " << ssc->snapset << dendl;
calc_clone_subsets(ssc->snapset, soid, missing, info.last_backfill,
recovery_info.copy_subset,
}
SnapSetContext *ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, false);
+ assert(ssc);
dout(15) << "push_to_replica snapset is " << ssc->snapset << dendl;
calc_clone_subsets(ssc->snapset, soid, peer_missing[peer],
peer_info[peer].last_backfill,
// pushing head or unversioned object.
// base this on partially on replica's clones?
SnapSetContext *ssc = get_snapset_context(soid.oid, soid.get_key(), soid.hash, false);
+ assert(ssc);
dout(15) << "push_to_replica snapset is " << ssc->snapset << dendl;
calc_head_subsets(obc, ssc->snapset, soid, peer_missing[peer],
peer_info[peer].last_backfill,
recovery_info.soid.get_key(),
recovery_info.soid.hash,
false);
+ assert(ssc);
ObjectRecoveryInfo new_info = recovery_info;
new_info.copy_subset.clear();
new_info.clone_subset.clear();