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);
}
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"));