]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: require SNAPMAPPER feature from peers
authorSage Weil <sage@redhat.com>
Mon, 24 Nov 2014 17:22:30 +0000 (09:22 -0800)
committerSage Weil <sage@redhat.com>
Tue, 2 Dec 2014 23:19:40 +0000 (15:19 -0800)
This was introduced before cuttlefish.  We require users to upgrade first
to a newer release, so there is no need to support a mixed cluster with
such old code.

Signed-off-by: Sage Weil <sage@redhat.com>
src/ceph_osd.cc
src/osd/ReplicatedPG.cc

index d233f40770967b52a3cd9db8cf3f2c6c8cc2b365..a6228d442a627b982d2928ad4abbfbeb13d1ce38 100644 (file)
@@ -413,6 +413,12 @@ int main(int argc, const char **argv)
     CEPH_FEATURE_MSG_AUTH |
     CEPH_FEATURE_OSD_ERASURE_CODES;
 
+  uint64_t osd_required =
+    CEPH_FEATURE_UID |
+    CEPH_FEATURE_PGID64 |
+    CEPH_FEATURE_OSDENC |
+    CEPH_FEATURE_OSD_SNAPMAPPER;
+
   ms_public->set_default_policy(Messenger::Policy::stateless_server(supported, 0));
   ms_public->set_policy_throttlers(entity_name_t::TYPE_CLIENT,
                                   client_byte_throttler.get(),
@@ -430,9 +436,7 @@ int main(int argc, const char **argv)
   ms_cluster->set_policy(entity_name_t::TYPE_MON, Messenger::Policy::lossy_client(0,0));
   ms_cluster->set_policy(entity_name_t::TYPE_OSD,
                         Messenger::Policy::lossless_peer(supported,
-                                                         CEPH_FEATURE_UID |
-                                                         CEPH_FEATURE_PGID64 |
-                                                         CEPH_FEATURE_OSDENC));
+                                                         osd_required));
   ms_cluster->set_policy(entity_name_t::TYPE_CLIENT,
                         Messenger::Policy::stateless_server(0, 0));
 
index 47df97409e225c524de251d0ddccae9cc76011e5..b15ff509fd62f1d4de5a9a0d112672d965580451 100644 (file)
@@ -7982,8 +7982,6 @@ void ReplicatedBackend::sub_op_modify(OpRequestRef op)
 
   bufferlist::iterator p = m->get_data().begin();
   ::decode(rm->opt, p);
-  if (!(m->get_connection()->get_features() & CEPH_FEATURE_OSD_SNAPMAPPER))
-    rm->opt.set_tolerate_collection_add_enoent();
 
   if (m->new_temp_oid != hobject_t()) {
     dout(20) << __func__ << " start tracking temp " << m->new_temp_oid << dendl;
@@ -8029,7 +8027,7 @@ void ReplicatedBackend::sub_op_modify(OpRequestRef op)
     m->pg_trim_rollback_to,
     update_snaps,
     &(rm->localt));
-      
+
   rm->bytes_written = rm->opt.get_encoded_bytes();
   
   op->mark_started();