When we ban a node, only drop the IPs on the node being banned, not on every node
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Wed, 10 Jun 2009 00:28:47 +0000 (10:28 +1000)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Wed, 10 Jun 2009 00:28:47 +0000 (10:28 +1000)
server/ctdb_monitor.c

index 46d9c632293fcecdce1116c6393098ff926b8164..14da3b77e4bc2ecce4eedd3956076eb332721f32 100644 (file)
@@ -309,7 +309,7 @@ int32_t ctdb_control_modflags(struct ctdb_context *ctdb, TDB_DATA indata)
                                 CTDB_SRVID_SET_NODE_FLAGS, indata);
 
        /* if we have become banned, we should go into recovery mode */
-       if ((node->flags & NODE_FLAGS_BANNED) && !(c->old_flags & NODE_FLAGS_BANNED)) {
+       if ((node->flags & NODE_FLAGS_BANNED) && !(c->old_flags & NODE_FLAGS_BANNED) && (node->pnn == ctdb->pnn)) {
                /* make sure we are frozen */
                DEBUG(DEBUG_NOTICE,("This node has been banned - forcing freeze and recovery\n"));
                /* Reset the generation id to 1 to make us ignore any