Require it for osd <-> osd and osd <-> mon communication.
This covers all the new encoding changes, except hobject_t, which is used
between the rados command line tool and the OSD for a object listing
position marker. We can't distinguish between specific types of clients,
though, and we don't want to introduce any incompatibility with other
clients, so we'll just have to make do here. :(
Signed-off-by: Sage Weil <sage@newdream.net>
CEPH_FEATURE_PGID64));
messenger->set_policy(entity_name_t::TYPE_OSD,
SimpleMessenger::Policy::stateless_server(supported,
- CEPH_FEATURE_PGID64));
+ CEPH_FEATURE_PGID64 |
+ CEPH_FEATURE_OSDENC));
mon->init();
messenger->wait();
client_messenger->set_policy(entity_name_t::TYPE_MON,
SimpleMessenger::Policy::client(supported,
CEPH_FEATURE_UID |
- CEPH_FEATURE_PGID64));
+ CEPH_FEATURE_PGID64 |
+ CEPH_FEATURE_OSDENC));
//try to poison pill any OSD connections on the wrong address
client_messenger->set_policy(entity_name_t::TYPE_OSD,
SimpleMessenger::Policy::stateless_server(0,0));
cluster_messenger->set_policy(entity_name_t::TYPE_OSD,
SimpleMessenger::Policy::lossless_peer(supported,
CEPH_FEATURE_UID |
- CEPH_FEATURE_PGID64));
+ CEPH_FEATURE_PGID64 |
+ CEPH_FEATURE_OSDENC));
cluster_messenger->set_policy(entity_name_t::TYPE_CLIENT,
SimpleMessenger::Policy::stateless_server(0, 0));
#define CEPH_FEATURE_INCSUBOSDMAP (1<<10)
#define CEPH_FEATURE_PGPOOL3 (1<<11)
#define CEPH_FEATURE_OSDREPLYMUX (1<<12)
+#define CEPH_FEATURE_OSDENC (1<<13)
/*
* Features supported. Should be everything above.
CEPH_FEATURE_PGID64 | \
CEPH_FEATURE_INCSUBOSDMAP | \
CEPH_FEATURE_PGPOOL3 | \
- CEPH_FEATURE_OSDREPLYMUX)
+ CEPH_FEATURE_OSDREPLYMUX | \
+ CEPH_FEATURE_OSDENC)
#endif