------------------------------------------------------------
revno: 583
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Andrew Tridgell <[EMAIL PROTECTED]>
branch nick: tridge
timestamp: Thu 2007-07-19 15:04:54 +1000
message:
  - log registering of tcp clients
  - don\'t remove a tcp entry if we do not own the ip
modified:
  server/ctdb_takeover.c         
ctdb_takeover.c-20070525071636-a5n1ihghjtppy08r-2
=== modified file 'server/ctdb_takeover.c'
--- a/server/ctdb_takeover.c    2007-07-18 10:13:57 +0000
+++ b/server/ctdb_takeover.c    2007-07-19 05:04:54 +0000
@@ -644,6 +644,11 @@
        data.dptr = (uint8_t *)&t;
        data.dsize = sizeof(t);
 
+       DEBUG(2,("registered tcp client for %u->%s:%u\n",
+                (unsigned)ntohs(p->dest.sin_port), 
+                inet_ntoa(p->src.sin_addr),
+                (unsigned)ntohs(p->src.sin_port)));
+
        /* tell all nodes about this tcp connection */
        ret = ctdb_daemon_send_control(ctdb, CTDB_BROADCAST_CONNECTED, 0, 
                                       CTDB_CONTROL_TCP_ADD,
@@ -792,9 +797,11 @@
                p.dest = tcp->daddr;
                data.dptr = (uint8_t *)&p;
                data.dsize = sizeof(p);
-               ctdb_daemon_send_control(client->ctdb, 
CTDB_BROADCAST_CONNECTED, 0, 
-                                        CTDB_CONTROL_TCP_REMOVE,
-                                        0, CTDB_CTRL_FLAG_NOREPLY, data, NULL, 
NULL);
+               if (ctdb_sys_have_ip(inet_ntoa(p.dest.sin_addr))) {
+                       ctdb_daemon_send_control(client->ctdb, 
CTDB_BROADCAST_CONNECTED, 0, 
+                                                CTDB_CONTROL_TCP_REMOVE,
+                                                0, CTDB_CTRL_FLAG_NOREPLY, 
data, NULL, NULL);
+               }
                talloc_free(tcp);
        }
 }

Reply via email to