From 92fb68e9b8a5481d9dd5c9033c98e204035509fe Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Thu, 19 Mar 2020 17:30:24 +1100 Subject: [PATCH] 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 Reviewed-by: Amitay Isaacs --- ctdb/tools/ctdb.c | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c index 21221fe9212..1c3e4ba55da 100644 --- a/ctdb/tools/ctdb.c +++ b/ctdb/tools/ctdb.c @@ -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; } -- 2.34.1