diff --git a/src/ceph_osd.cc b/src/ceph_osd.cc index 3e03e8632396e..e0f006593480a 100644 --- a/src/ceph_osd.cc +++ b/src/ceph_osd.cc @@ -567,6 +567,9 @@ int main(int argc, const char **argv) g_conf().get_val("osd_client_message_size_cap"); boost::scoped_ptr client_byte_throttler( new Throttle(g_ceph_context, "osd_client_bytes", message_size)); + uint64_t message_cap = g_conf().get_val("osd_client_message_cap"); + boost::scoped_ptr client_msg_throttler( + new Throttle(g_ceph_context, "osd_client_messages", message_cap)); // All feature bits 0 - 34 should be present from dumpling v0.67 forward uint64_t osd_required = @@ -577,7 +580,7 @@ int main(int argc, const char **argv) ms_public->set_default_policy(Messenger::Policy::stateless_server(0)); ms_public->set_policy_throttlers(entity_name_t::TYPE_CLIENT, client_byte_throttler.get(), - nullptr); + client_msg_throttler.get()); ms_public->set_policy(entity_name_t::TYPE_MON, Messenger::Policy::lossy_client(osd_required)); ms_public->set_policy(entity_name_t::TYPE_MGR, @@ -750,6 +753,7 @@ int main(int argc, const char **argv) delete ms_objecter; client_byte_throttler.reset(); + client_msg_throttler.reset(); // cd on exit, so that gmon.out (if any) goes into a separate directory for each node. char s[20]; diff --git a/src/common/options.cc b/src/common/options.cc index d7b1792590cb8..c4c606127889d 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -2506,7 +2506,7 @@ std::vector