From: Sage Weil Date: Mon, 24 Nov 2014 17:22:30 +0000 (-0800) Subject: osd: require SNAPMAPPER feature from peers X-Git-Tag: v0.91~161^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bc5a22b5dc30dfa162384760037577d43051f301;p=ceph.git osd: require SNAPMAPPER feature from peers 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 --- diff --git a/src/ceph_osd.cc b/src/ceph_osd.cc index d233f4077096..a6228d442a62 100644 --- a/src/ceph_osd.cc +++ b/src/ceph_osd.cc @@ -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)); diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 47df97409e22..b15ff509fd62 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -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();