1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-11 16:58:40 +03:00

ctdb-tools: Factor out get_leader()

This seems pointless but it localises a subsequent change and also
starts a terminology change in the tool code.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
This commit is contained in:
Martin Schwenke 2020-03-19 17:30:24 +11:00 committed by Martin Schwenke
parent 17ba15ccd8
commit 92fb68e9b8

View File

@ -744,6 +744,27 @@ static void leader_handler(uint64_t srvid,
ctdb->leader_pnn = leader_pnn;
}
static int get_leader(TALLOC_CTX *mem_ctx,
struct ctdb_context *ctdb,
uint32_t *leader)
{
uint32_t pnn;
int ret;
ret = ctdb_ctrl_get_recmaster(mem_ctx,
ctdb->ev,
ctdb->client,
ctdb->cmd_pnn,
TIMEOUT(),
&pnn);
if (ret != 0) {
return ret;
}
*leader = pnn;
return 0;
}
/*
* Command Functions
*/
@ -931,8 +952,7 @@ static int control_status(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb,
return ret;
}
ret = ctdb_ctrl_get_recmaster(mem_ctx, ctdb->ev, ctdb->client,
ctdb->cmd_pnn, TIMEOUT(), &recmaster);
ret = get_leader(mem_ctx, ctdb, &recmaster);
if (ret != 0) {
return ret;
}
@ -2897,8 +2917,7 @@ static int get_generation(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb,
int ret;
again:
ret = ctdb_ctrl_get_recmaster(mem_ctx, ctdb->ev, ctdb->client,
ctdb->cmd_pnn, TIMEOUT(), &recmaster);
ret = get_leader(mem_ctx, ctdb, &recmaster);
if (ret != 0) {
fprintf(stderr, "Failed to find recovery master\n");
return ret;
@ -4561,8 +4580,7 @@ static int control_recmaster(TALLOC_CTX *mem_ctx, struct ctdb_context *ctdb,
uint32_t recmaster;
int ret;
ret = ctdb_ctrl_get_recmaster(mem_ctx, ctdb->ev, ctdb->client,
ctdb->cmd_pnn, TIMEOUT(), &recmaster);
ret = get_leader(mem_ctx, ctdb, &recmaster);
if (ret != 0) {
return ret;
}