uint64_t supported =
CEPH_FEATURE_UID |
CEPH_FEATURE_NOSRCADDR |
- CEPH_FEATURE_MONCLOCKCHECK |
+ DEPRECATED_CEPH_FEATURE_MONCLOCKCHECK |
CEPH_FEATURE_PGID64 |
CEPH_FEATURE_MSG_AUTH;
msgr->set_default_policy(Messenger::Policy::stateless_server(supported, 0));
/*
* feature bits
+ *
+ * Feature reuse:
+ * Features marked DEPRECATED: <release> are advertized, but not checked in
+ * <release>
+ * Feature bit values marked as UNUSED are not referenced or checked by any
+ * versions we could be talking to and can be reused.
*/
#define CEPH_FEATURE_UID (1ULL<<0)
#define CEPH_FEATURE_NOSRCADDR (1ULL<<1)
-#define CEPH_FEATURE_MONCLOCKCHECK (1ULL<<2)
+#define DEPRECATED_CEPH_FEATURE_MONCLOCKCHECK (1ULL<<2) // DEPRECATED: JEWEL
#define CEPH_FEATURE_FLOCK (1ULL<<3)
#define CEPH_FEATURE_SUBSCRIBE2 (1ULL<<4)
#define CEPH_FEATURE_MONNAMES (1ULL<<5)
#define CEPH_FEATURES_ALL \
(CEPH_FEATURE_UID | \
CEPH_FEATURE_NOSRCADDR | \
- CEPH_FEATURE_MONCLOCKCHECK | \
+ DEPRECATED_CEPH_FEATURE_MONCLOCKCHECK | \
CEPH_FEATURE_FLOCK | \
CEPH_FEATURE_SUBSCRIBE2 | \
CEPH_FEATURE_MONNAMES | \
}
void encode_payload(uint64_t features) {
- if ((features & CEPH_FEATURE_MONCLOCKCHECK) == 0)
- header.version = 0;
- else
- header.version = HEAD_VERSION;
+ header.version = HEAD_VERSION;
::encode(epoch, payload);
::encode(op, payload);
::encode(first_committed, payload);
::encode(pn, payload);
::encode(uncommitted_pn, payload);
::encode(lease_timestamp, payload);
- if (features & CEPH_FEATURE_MONCLOCKCHECK)
- ::encode(sent_timestamp, payload);
+ ::encode(sent_timestamp, payload);
::encode(latest_version, payload);
::encode(latest_value, payload);
::encode(values, payload);