diff options
author | Martin Schwenke <martin@meltin.net> | 2015-10-27 14:35:09 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2015-11-16 08:42:12 +0100 |
commit | c5e50a474b6ddac05cab0116da42c62a615c6c79 (patch) | |
tree | ca07338215bc1852c76116c49cbc1b3ed8e34da6 /ctdb | |
parent | d1f996a50f1da36e7046fe28cdb97285e7cf00a5 (diff) | |
download | samba-c5e50a474b6ddac05cab0116da42c62a615c6c79.tar.gz |
ctdb-recoverd: Move VNN map retrieval to where it is needed
The VNN map is only needed on the recovery master, so no need for all
recovery daemons to retrieve it.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb')
-rw-r--r-- | ctdb/server/ctdb_recoverd.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c index 9ff73bdb2f5..64ef2036dff 100644 --- a/ctdb/server/ctdb_recoverd.c +++ b/ctdb/server/ctdb_recoverd.c @@ -3390,14 +3390,6 @@ static void main_loop(struct ctdb_context *ctdb, struct ctdb_recoverd *rec, pnn = ctdb_get_pnn(ctdb); - /* get the vnnmap */ - ret = ctdb_ctrl_getvnnmap(ctdb, CONTROL_TIMEOUT(), pnn, mem_ctx, &vnnmap); - if (ret != 0) { - DEBUG(DEBUG_ERR, (__location__ " Unable to get vnnmap from node %u\n", pnn)); - return; - } - - /* get nodemap */ TALLOC_FREE(rec->nodemap); ret = ctdb_ctrl_getnodemap(ctdb, CONTROL_TIMEOUT(), pnn, rec, &rec->nodemap); @@ -3606,6 +3598,13 @@ static void main_loop(struct ctdb_context *ctdb, struct ctdb_recoverd *rec, } + /* get the vnnmap */ + ret = ctdb_ctrl_getvnnmap(ctdb, CONTROL_TIMEOUT(), pnn, mem_ctx, &vnnmap); + if (ret != 0) { + DEBUG(DEBUG_ERR, (__location__ " Unable to get vnnmap from node %u\n", pnn)); + return; + } + if (rec->need_recovery) { /* a previous recovery didn't finish */ do_recovery(rec, mem_ctx, pnn, nodemap, vnnmap); |