ObjectRecoveryInfo recovery_info(_recovery_info);
clear_object_snap_mapping(t, hoid);
if (recovery_info.soid.snap < CEPH_NOSNAP) {
- assert(recovery_info.oi.snaps.size());
+ assert(recovery_info.oi.legacy_snaps.size());
OSDriver::OSTransaction _t(osdriver.get_transaction(t));
set<snapid_t> snaps(
- recovery_info.oi.snaps.begin(),
- recovery_info.oi.snaps.end());
+ recovery_info.oi.legacy_snaps.begin(),
+ recovery_info.oi.legacy_snaps.end());
snap_mapper.add_oid(
recovery_info.soid,
snaps,
assert(snapset_obc);
object_info_t &coi = obc->obs.oi;
- set<snapid_t> old_snaps(coi.snaps.begin(), coi.snaps.end());
+ set<snapid_t> old_snaps(coi.legacy_snaps.begin(), coi.legacy_snaps.end());
if (old_snaps.empty()) {
osd->clog->error() << __func__ << " No object info snaps for " << coid;
return NULL;
// save adjusted snaps for this object
dout(10) << coid << " snaps " << old_snaps
<< " -> " << new_snaps << dendl;
- coi.snaps = vector<snapid_t>(new_snaps.rbegin(), new_snaps.rend());
+ coi.legacy_snaps = vector<snapid_t>(new_snaps.rbegin(), new_snaps.rend());
coi.prior_version = coi.version;
coi.version = ctx->at_version;
}
break;
}
- for (vector<snapid_t>::reverse_iterator p = clone_obc->obs.oi.snaps.rbegin();
- p != clone_obc->obs.oi.snaps.rend();
+ for (vector<snapid_t>::reverse_iterator p =
+ clone_obc->obs.oi.legacy_snaps.rbegin();
+ p != clone_obc->obs.oi.legacy_snaps.rend();
++p) {
ci.snaps.push_back(*p);
}
snap_oi->version = ctx->at_version;
snap_oi->prior_version = ctx->obs->oi.version;
snap_oi->copy_user_bits(ctx->obs->oi);
- snap_oi->snaps = snaps;
+ snap_oi->legacy_snaps = snaps;
_make_clone(ctx, ctx->op_t.get(), ctx->clone_obc, soid, coid, snap_oi);
case pg_log_entry_t::MODIFY:
case pg_log_entry_t::PROMOTE:
case pg_log_entry_t::CLEAN:
- dout(20) << __func__ << " encoding snaps " << ctx->new_obs.oi.snaps
+ dout(20) << __func__ << " encoding snaps " << ctx->new_obs.oi.legacy_snaps
<< dendl;
- ::encode(ctx->new_obs.oi.snaps, ctx->log.back().snaps);
+ ::encode(ctx->new_obs.oi.legacy_snaps, ctx->log.back().snaps);
break;
default:
break;
reply_obj.size = oi.size;
reply_obj.mtime = oi.mtime;
if (soid.snap < CEPH_NOSNAP) {
- reply_obj.snaps = oi.snaps;
+ reply_obj.snaps = oi.legacy_snaps;
} else {
assert(obc->ssc);
reply_obj.snap_seq = obc->ssc->snapset.seq;
tctx->new_obs.oi.truncate_size = results->truncate_size;
if (soid.snap != CEPH_NOSNAP) {
- tctx->new_obs.oi.snaps = results->snaps;
- assert(!tctx->new_obs.oi.snaps.empty());
+ tctx->new_obs.oi.legacy_snaps = results->snaps;
+ assert(!tctx->new_obs.oi.legacy_snaps.empty());
assert(obc->ssc->snapset.clone_size.count(soid.snap));
assert(obc->ssc->snapset.clone_size[soid.snap] ==
results->object_size);
snapc.seq = snapset.seq;
snapc.snaps = snapset.snaps;
} else {
- snapid_t min_included_snap = oi.snaps.back();
+ snapid_t min_included_snap = oi.legacy_snaps.back();
snapc = snapset.get_ssc_as_of(min_included_snap - 1);
}
ssc = 0;
// clone
- dout(20) << "find_object_context " << soid << " snaps " << obc->obs.oi.snaps
+ dout(20) << "find_object_context " << soid
+ << " snaps " << obc->obs.oi.legacy_snaps
<< dendl;
- snapid_t first = obc->obs.oi.snaps[obc->obs.oi.snaps.size()-1];
- snapid_t last = obc->obs.oi.snaps[0];
+ snapid_t first = obc->obs.oi.legacy_snaps[obc->obs.oi.legacy_snaps.size()-1];
+ snapid_t last = obc->obs.oi.legacy_snaps[0];
if (first <= oid.snap) {
dout(20) << "find_object_context " << soid << " [" << first << "," << last
<< "] contains " << oid.snap << " -- HIT " << obc->obs << dendl;
if (soid.snap == CEPH_NOSNAP)
::encode(osd_reqid_t(), bl); // used to be wrlock_by
else
- ::encode(snaps, bl);
+ ::encode(legacy_snaps, bl);
::encode(truncate_seq, bl);
::encode(truncate_size, bl);
::encode(is_lost(), bl);
osd_reqid_t wrlock_by;
::decode(wrlock_by, bl);
} else {
- ::decode(snaps, bl);
+ ::decode(legacy_snaps, bl);
}
::decode(truncate_seq, bl);
::decode(truncate_size, bl);
f->dump_stream("local_mtime") << local_mtime;
f->dump_unsigned("lost", (int)is_lost());
f->dump_unsigned("flags", (int)flags);
- f->open_array_section("snaps");
- for (vector<snapid_t>::const_iterator p = snaps.begin(); p != snaps.end(); ++p)
- f->dump_unsigned("snap", *p);
+ f->open_array_section("legacy_snaps");
+ for (auto s : legacy_snaps) {
+ f->dump_unsigned("snap", s);
+ }
f->close_section();
f->dump_unsigned("truncate_seq", truncate_seq);
f->dump_unsigned("truncate_size", truncate_size);
{
out << oi.soid << "(" << oi.version
<< " " << oi.last_reqid;
- if (oi.soid.snap != CEPH_NOSNAP)
- out << " " << oi.snaps;
+ if (oi.soid.snap != CEPH_NOSNAP && !oi.legacy_snaps.empty())
+ out << " " << oi.legacy_snaps;
if (oi.flags)
out << " " << oi.get_flag_string();
out << " s " << oi.size;