From fbbbd01bfe657acac1e129a2cc4630c039cf4cf3 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 13 Feb 2012 11:27:11 -0800 Subject: [PATCH] add CEPH_FEATURE_OSDENC 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 --- src/ceph_mon.cc | 3 ++- src/ceph_osd.cc | 6 ++++-- src/include/ceph_features.h | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/ceph_mon.cc b/src/ceph_mon.cc index 4061395e30dbb..585a1e4164e4d 100644 --- a/src/ceph_mon.cc +++ b/src/ceph_mon.cc @@ -396,7 +396,8 @@ int main(int argc, const char **argv) 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(); diff --git a/src/ceph_osd.cc b/src/ceph_osd.cc index d26f8669b8fef..110234a46dd20 100644 --- a/src/ceph_osd.cc +++ b/src/ceph_osd.cc @@ -341,7 +341,8 @@ int main(int argc, const char **argv) 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)); @@ -351,7 +352,8 @@ int main(int argc, const char **argv) 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)); diff --git a/src/include/ceph_features.h b/src/include/ceph_features.h index 6fee25e0d65d0..52f776fdbd303 100644 --- a/src/include/ceph_features.h +++ b/src/include/ceph_features.h @@ -17,6 +17,7 @@ #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. @@ -34,6 +35,7 @@ CEPH_FEATURE_PGID64 | \ CEPH_FEATURE_INCSUBOSDMAP | \ CEPH_FEATURE_PGPOOL3 | \ - CEPH_FEATURE_OSDREPLYMUX) + CEPH_FEATURE_OSDREPLYMUX | \ + CEPH_FEATURE_OSDENC) #endif -- 2.47.3