]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ensure all nodes display disabled nodes correctly
authorAndrew Tridgell <tridge@samba.org>
Wed, 6 Jun 2007 11:27:09 +0000 (21:27 +1000)
committerAndrew Tridgell <tridge@samba.org>
Wed, 6 Jun 2007 11:27:09 +0000 (21:27 +1000)
(This used to be ctdb commit 959f82cfe926994658f5826007caccb0409003e1)

ctdb/common/ctdb_monitor.c
ctdb/common/ctdb_recoverd.c

index de5effb6980b9fe125590ceb72f0e946d108b375..166ee65df963e40d320c41d58a284b1e3b07c0ad 100644 (file)
@@ -121,8 +121,9 @@ static void ctdb_health_callback(struct ctdb_context *ctdb, int status, void *p)
        data.dptr = (uint8_t *)&c;
        data.dsize = sizeof(c);
 
-       /* tell the recmaster that something has changed */
-       ctdb_daemon_send_message(ctdb, ctdb->recovery_master, CTDB_SRVID_NODE_FLAGS_CHANGED, data);
+       /* tell the other nodes that something has changed */
+       ctdb_daemon_send_message(ctdb, CTDB_BROADCAST_VNNMAP,
+                                CTDB_SRVID_NODE_FLAGS_CHANGED, data);
 }
 
 
index 9adbe5fbcf67ad747938e88f308f0d7d4000983a..cdbeab377c4a676a392a24fc15107cc3f5c137f3 100644 (file)
@@ -991,11 +991,15 @@ static void monitor_handler(struct ctdb_context *ctdb, uint64_t srvid,
                return;
        }
 
-       DEBUG(0,("Node %u has changed flags - now 0x%x\n", c->vnn, c->flags));
+       if (c->vnn != ctdb->vnn) {
+               DEBUG(0,("Node %u has changed flags - now 0x%x\n", c->vnn, c->flags));
+       }
 
        nodemap->nodes[i].flags = c->flags;
        
-       if (ctdb->takeover.enabled) {
+       if (ctdb->recovery_master == ctdb->vnn &&
+           ctdb->recovery_mode == CTDB_RECOVERY_NORMAL &&
+           ctdb->takeover.enabled) {
                ret = ctdb_takeover_run(ctdb, nodemap);
                if (ret != 0) {
                        DEBUG(0, (__location__ " Unable to setup public takeover addresses\n"));