]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msgr: do no open connection when policy indicates we are lossy server
authorSage Weil <sage@newdream.net>
Wed, 22 Sep 2010 16:25:22 +0000 (09:25 -0700)
committerSage Weil <sage@newdream.net>
Wed, 22 Sep 2010 16:26:35 +0000 (09:26 -0700)
We should not initiate a connection if we are a lossy server; just drop
the message.

src/msg/SimpleMessenger.cc

index 56f4f0fa5055576b20ab208cff190a2dc050dc52..26053d13a6051a65f36f9bd8c2b30605f463e239 100644 (file)
@@ -2405,7 +2405,12 @@ void SimpleMessenger::submit_message(Message *m, const entity_addr_t& dest_addr,
        }
       }
       if (!pipe) {
-       if (lazy) {
+       Policy& policy = get_policy(dest_type);
+       if (policy.lossy && policy.server) {
+         dout(20) << "submit_message " << *m << " remote, " << dest_addr << ", lossy server for target type "
+                  << ceph_entity_type_name(dest_type) << ", no session, dropping." << dendl;
+         m->put();
+       } else if (lazy) {
          dout(20) << "submit_message " << *m << " remote, " << dest_addr << ", lazy, dropping." << dendl;
          m->put();
        } else {