recovery_info.oi.prior_version = recovery_info.oi.version;
recovery_info.oi.version = latest->version;
bufferlist bl;
- ::encode(recovery_info.oi, bl);
+ ::encode(recovery_info.oi, bl, get_osdmap()->get_up_osd_features());
assert(!pool.info.require_rollback());
t->setattr(coll, ghobject_t(recovery_info.soid), OI_ATTR, bl);
if (obc)
coi.prior_version = coi.version;
coi.version = ctx->at_version;
bl.clear();
- ::encode(coi, bl);
+ ::encode(coi, bl, get_osdmap()->get_up_osd_features());
setattr_maybe_cache(ctx->obc, ctx.get(), t, OI_ATTR, bl);
ctx->log.push_back(
attrs[SS_ATTR].claim(bl);
bl.clear();
- ::encode(ctx->snapset_obc->obs.oi, bl);
+ ::encode(ctx->snapset_obc->obs.oi, bl, get_osdmap()->get_up_osd_features());
attrs[OI_ATTR].claim(bl);
setattrs_maybe_cache(ctx->snapset_obc, ctx.get(), t, attrs);
object_info_t *poi)
{
bufferlist bv;
- ::encode(*poi, bv);
+ ::encode(*poi, bv, get_osdmap()->get_up_osd_features());
t->clone(head, coid);
setattr_maybe_cache(obc, ctx, t, OI_ATTR, bv);
map<string, bufferlist> attrs;
bufferlist bv(sizeof(ctx->new_obs.oi));
- ::encode(ctx->snapset_obc->obs.oi, bv);
+ ::encode(ctx->snapset_obc->obs.oi, bv, get_osdmap()->get_up_osd_features());
ctx->op_t->touch(snapoid);
attrs[OI_ATTR].claim(bv);
attrs[SS_ATTR].claim(bss);
map <string, bufferlist> attrs;
bufferlist bv(sizeof(ctx->new_obs.oi));
- ::encode(ctx->new_obs.oi, bv);
+ ::encode(ctx->new_obs.oi, bv, get_osdmap()->get_up_osd_features());
attrs[OI_ATTR].claim(bv);
if (soid.snap == CEPH_NOSNAP) {
oi.prior_version = obc->obs.oi.version;
oi.version = ctx->at_version;
bufferlist bl;
- ::encode(oi, bl);
+ ::encode(oi, bl, get_osdmap()->get_up_osd_features());
setattr_maybe_cache(obc, ctx.get(), t, OI_ATTR, bl);
if (pool.info.require_rollback()) {
obc->obs.oi.prior_version = version;
bufferlist b2;
- obc->obs.oi.encode(b2);
+ obc->obs.oi.encode(b2, get_osdmap()->get_up_osd_features());
assert(!pool.info.require_rollback());
t->setattr(coll, ghobject_t(oid), OI_ATTR, b2);
ObjectStore::Transaction t;
bufferlist b2;
- obc->obs.oi.encode(b2);
+ obc->obs.oi.encode(b2, get_osdmap()->get_up_osd_features());
assert(!pool.info.require_rollback());
t.setattr(coll, ghobject_t(soid), OI_ATTR, b2);
bufferlist bss;
::encode(ctx->new_snapset, bss);
bufferlist boi(sizeof(ctx->new_obs.oi));
- ::encode(ctx->new_obs.oi, boi);
+ ::encode(ctx->new_obs.oi, boi, get_osdmap()->get_up_osd_features());
ctx->op_t->append(oid, 0, bl.length(), bl, 0);
map <string, bufferlist> attrs;