}
}
void encode_payload(uint64_t features) {
+ header.version = HEAD_VERSION;
head.snap_trace_len = snapbl.length();
head.xattr_len = xattrbl.length();
data.clear();
if (features & CEPH_FEATURE_MDSENC) {
::encode(caps, data);
+ header.version = HEAD_VERSION;
} else if (features & CEPH_FEATURE_FLOCK) {
// encode with old cap_reconnect_t encoding
__u32 n = caps.size();
header.version = 1;
} else {
::encode(client_meta, payload);
+ header.version = HEAD_VERSION;
}
}
void encode_payload(uint64_t features) {
if ((features & CEPH_FEATURE_MONCLOCKCHECK) == 0)
header.version = 0;
+ else
+ header.version = HEAD_VERSION;
::encode(epoch, payload);
::encode(op, payload);
::encode(first_committed, payload);
void encode_payload(uint64_t features) {
if (features & CEPH_FEATURE_SUBSCRIBE2) {
::encode(what, payload);
+ header.version = HEAD_VERSION;
} else {
header.version = 0;
map<string, ceph_mon_subscribe_item_old> oldwhat;
}
}
void encode_payload(uint64_t features) {
+ header.version = HEAD_VERSION;
::encode(fsid, payload);
if ((features & CEPH_FEATURE_PGID64) == 0 ||
(features & CEPH_FEATURE_PGPOOL3) == 0 ||
::encode_nohead(oid.name, payload);
::encode_nohead(snaps, payload);
} else {
+ header.version = HEAD_VERSION;
::encode(client_inc, payload);
::encode(osdmap_epoch, payload);
::encode(flags, payload);
}
::encode_nohead(oid.name, payload);
} else {
+ header.version = HEAD_VERSION;
::encode(oid, payload);
::encode(pgid, payload);
::encode(flags, payload);
::encode(session_mon_tid, payload);
::encode(dest, payload);
if (features & CEPH_FEATURE_MON_NULLROUTE) {
+ header.version = HEAD_VERSION;
+ header.compat_version = COMPAT_VERSION;
bool m = msg ? true : false;
::encode(m, payload);
if (msg)
if (can_write == NOWRITE || get_features() != f) {
// ensure the correctness of message encoding
bl.clear();
+ m->get_payload().clear();
ldout(async_msgr->cct, 5) << __func__ << " clear encoded buffer, can_write=" << can_write << " previous "
<< f << " != " << get_features() << dendl;
}