]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
msg: don't set msgr addr when disabing client bind 15243/head
authorHaomai Wang <haomai@xsky.com>
Tue, 23 May 2017 16:41:49 +0000 (00:41 +0800)
committerHaomai Wang <haomai@xsky.com>
Tue, 23 May 2017 16:41:49 +0000 (00:41 +0800)
if disabling client bind, client side will send handshake message with blank
ip. so the server side will ignore this.

otherwise, server side decide to learn this addr which isn't the expected addr

Signed-off-by: Haomai Wang <haomai@xsky.com>
src/msg/async/AsyncMessenger.cc
src/msg/simple/SimpleMessenger.cc

index 122473179c3c39af384fc5fbf25fad52f1f55bfa..4695844055f122e965b1260308dc0477c46de9a7 100644 (file)
@@ -412,6 +412,8 @@ int AsyncMessenger::rebind(const set<int>& avoid_ports)
 
 int AsyncMessenger::client_bind(const entity_addr_t &bind_addr)
 {
+  if (!cct->_conf->ms_bind_before_connect)
+    return 0;
   Mutex::Locker l(lock);
   if (did_bind) {
     assert(my_inst.addr == bind_addr);
index 600f26c3f1c224fbe6136a96d2aca557a29ab813..d451df9c62070405fb240f8191acfb6a98d2fc11 100644 (file)
@@ -309,6 +309,8 @@ int SimpleMessenger::rebind(const set<int>& avoid_ports)
 
 int SimpleMessenger::client_bind(const entity_addr_t &bind_addr)
 {
+  if (!cct->_conf->ms_bind_before_connect)
+    return 0;
   Mutex::Locker l(lock);
   if (did_bind) {
     assert(my_inst.addr == bind_addr);