]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
add CEPH_FEATURE_OSDENC
authorSage Weil <sage@newdream.net>
Mon, 13 Feb 2012 19:27:11 +0000 (11:27 -0800)
committerSage Weil <sage@newdream.net>
Mon, 13 Feb 2012 19:27:11 +0000 (11:27 -0800)
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>
src/ceph_mon.cc
src/ceph_osd.cc
src/include/ceph_features.h

index 4061395e30dbbfca05ce965fa78d9717729fb44a..585a1e4164e4dbf8b92ea991be8b5d987d553e6b 100644 (file)
@@ -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();
 
index d26f8669b8fef2d3b9bbbabceb6b4e1f38fb18a0..110234a46dd20321ad33294cc824ac5702dd874f 100644 (file)
@@ -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));
 
index 6fee25e0d65d0e9da88500962a6592674fb0d338..52f776fdbd303b7e7dac20c566a6fcce0d6cb4c9 100644 (file)
@@ -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