]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
get parents idea of recmode and recmaster when deciding if we should do a takeover run
authorAndrew Tridgell <tridge@samba.org>
Wed, 6 Jun 2007 11:56:54 +0000 (21:56 +1000)
committerAndrew Tridgell <tridge@samba.org>
Wed, 6 Jun 2007 11:56:54 +0000 (21:56 +1000)
(This used to be ctdb commit 0e8124acd2f1a9b34292c1ee13c7e4cd6fe49876)

ctdb/common/ctdb_recoverd.c

index cdbeab377c4a676a392a24fc15107cc3f5c137f3..8a376d66f3671aaa35cd3cfdd5e92358e025dde1 100644 (file)
@@ -996,8 +996,17 @@ static void monitor_handler(struct ctdb_context *ctdb, uint64_t srvid,
        }
 
        nodemap->nodes[i].flags = c->flags;
+
+       ret = ctdb_ctrl_getrecmaster(ctdb, CONTROL_TIMEOUT(), 
+                                    CTDB_CURRENT_NODE, &ctdb->recovery_master);
+
+       if (ret == 0) {
+               ret = ctdb_ctrl_getrecmode(ctdb, CONTROL_TIMEOUT(), 
+                                          CTDB_CURRENT_NODE, &ctdb->recovery_mode);
+       }
        
-       if (ctdb->recovery_master == ctdb->vnn &&
+       if (ret == 0 &&
+           ctdb->recovery_master == ctdb->vnn &&
            ctdb->recovery_mode == CTDB_RECOVERY_NORMAL &&
            ctdb->takeover.enabled) {
                ret = ctdb_takeover_run(ctdb, nodemap);