mirror of
https://github.com/samba-team/samba.git
synced 2025-03-05 20:58:40 +03:00
ctdb-daemon: Add function ctdb_ip_to_node()
This is the core logic from ctdb_ip_to_pnn(), so re-implement that that function using ctdb_ip_to_node(). Something similar (ctdb_ip_to_nodeid()) was recently removed in commit 010c1d77cd7e192b1fff39b7b91fccbdbbf4a786 because it wasn't required. Now there is a use case. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14084 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 3acb8e9d1c854b577d6be282257269df83055d31)
This commit is contained in:
parent
a309b862e8
commit
a8dd1a0577
@ -841,6 +841,8 @@ void ctdb_stop_recoverd(struct ctdb_context *ctdb);
|
||||
|
||||
int ctdb_set_transport(struct ctdb_context *ctdb, const char *transport);
|
||||
|
||||
struct ctdb_node *ctdb_ip_to_node(struct ctdb_context *ctdb,
|
||||
const ctdb_sock_addr *nodeip);
|
||||
uint32_t ctdb_ip_to_pnn(struct ctdb_context *ctdb,
|
||||
const ctdb_sock_addr *nodeip);
|
||||
|
||||
|
@ -45,9 +45,9 @@ int ctdb_set_transport(struct ctdb_context *ctdb, const char *transport)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Return the PNN for nodeip, CTDB_UNKNOWN_PNN if nodeip is invalid */
|
||||
uint32_t ctdb_ip_to_pnn(struct ctdb_context *ctdb,
|
||||
const ctdb_sock_addr *nodeip)
|
||||
/* Return the node structure for nodeip, NULL if nodeip is invalid */
|
||||
struct ctdb_node *ctdb_ip_to_node(struct ctdb_context *ctdb,
|
||||
const ctdb_sock_addr *nodeip)
|
||||
{
|
||||
unsigned int nodeid;
|
||||
|
||||
@ -56,11 +56,25 @@ uint32_t ctdb_ip_to_pnn(struct ctdb_context *ctdb,
|
||||
continue;
|
||||
}
|
||||
if (ctdb_same_ip(&ctdb->nodes[nodeid]->address, nodeip)) {
|
||||
return ctdb->nodes[nodeid]->pnn;
|
||||
return ctdb->nodes[nodeid];
|
||||
}
|
||||
}
|
||||
|
||||
return CTDB_UNKNOWN_PNN;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Return the PNN for nodeip, CTDB_UNKNOWN_PNN if nodeip is invalid */
|
||||
uint32_t ctdb_ip_to_pnn(struct ctdb_context *ctdb,
|
||||
const ctdb_sock_addr *nodeip)
|
||||
{
|
||||
struct ctdb_node *node;
|
||||
|
||||
node = ctdb_ip_to_node(ctdb, nodeip);
|
||||
if (node == NULL) {
|
||||
return CTDB_UNKNOWN_PNN;
|
||||
}
|
||||
|
||||
return node->pnn;
|
||||
}
|
||||
|
||||
/* Load a nodes list file into a nodes array */
|
||||
|
Loading…
x
Reference in New Issue
Block a user