From 8de4c33d8f089f2f47817278f8781f194da898d0 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 9 Feb 2007 01:52:13 +0000 Subject: [PATCH] r21256: - msg_type is not needed in the cluster messaging API - merge ctdb_get_num_nodes() from bzr tree (This used to be commit 3df7527aedeba7ce2f4a6ca2d3b7167f58c6b68a) --- source4/cluster/cluster.c | 4 ++-- source4/cluster/cluster.h | 2 +- source4/cluster/cluster_private.h | 3 +-- source4/cluster/ctdb/common/ctdb.c | 9 +++++++++ source4/cluster/ctdb/common/ctdb_message.c | 2 +- source4/cluster/ctdb/ctdb_cluster.c | 5 ++--- source4/cluster/ctdb/include/ctdb.h | 7 ++++++- source4/cluster/local.c | 3 +-- source4/lib/messaging/messaging.c | 2 +- 9 files changed, 24 insertions(+), 13 deletions(-) diff --git a/source4/cluster/cluster.c b/source4/cluster/cluster.c index 4be52b8233b..dab39c1feaa 100644 --- a/source4/cluster/cluster.c +++ b/source4/cluster/cluster.c @@ -89,8 +89,8 @@ NTSTATUS cluster_message_init(struct messaging_context *msg, struct server_id se /* send a message to another node in the cluster */ -NTSTATUS cluster_message_send(struct server_id server, uint32_t msg_type, DATA_BLOB *data) +NTSTATUS cluster_message_send(struct server_id server, DATA_BLOB *data) { cluster_init(); - return ops->message_send(ops, server, msg_type, data); + return ops->message_send(ops, server, data); } diff --git a/source4/cluster/cluster.h b/source4/cluster/cluster.h index d182bf55262..29a5d4d0923 100644 --- a/source4/cluster/cluster.h +++ b/source4/cluster/cluster.h @@ -44,6 +44,6 @@ void *cluster_backend_handle(void); NTSTATUS cluster_message_init(struct messaging_context *msg, struct server_id server, cluster_message_fn_t handler); -NTSTATUS cluster_message_send(struct server_id server, uint32_t msg_type, DATA_BLOB *data); +NTSTATUS cluster_message_send(struct server_id server, DATA_BLOB *data); #endif diff --git a/source4/cluster/cluster_private.h b/source4/cluster/cluster_private.h index 2dc749d890c..df8848fe736 100644 --- a/source4/cluster/cluster_private.h +++ b/source4/cluster/cluster_private.h @@ -34,8 +34,7 @@ struct cluster_ops { struct messaging_context *msg, struct server_id server, cluster_message_fn_t handler); NTSTATUS (*message_send)(struct cluster_ops *ops, - struct server_id server, uint32_t msg_type, - DATA_BLOB *data); + struct server_id server, DATA_BLOB *data); void *private; /* backend state */ }; diff --git a/source4/cluster/ctdb/common/ctdb.c b/source4/cluster/ctdb/common/ctdb.c index 9e92059b950..59a14d4dbdc 100644 --- a/source4/cluster/ctdb/common/ctdb.c +++ b/source4/cluster/ctdb/common/ctdb.c @@ -162,6 +162,15 @@ uint32_t ctdb_get_vnn(struct ctdb_context *ctdb) } /* + return the number of nodes +*/ +uint32_t ctdb_get_num_nodes(struct ctdb_context *ctdb) +{ + return ctdb->num_nodes; +} + + +/* start the protocol going */ int ctdb_start(struct ctdb_context *ctdb) diff --git a/source4/cluster/ctdb/common/ctdb_message.c b/source4/cluster/ctdb/common/ctdb_message.c index abdf9e62167..ca909f89941 100644 --- a/source4/cluster/ctdb/common/ctdb_message.c +++ b/source4/cluster/ctdb/common/ctdb_message.c @@ -54,7 +54,7 @@ void ctdb_request_message(struct ctdb_context *ctdb, struct ctdb_req_header *hdr send a ctdb message */ int ctdb_send_message(struct ctdb_context *ctdb, uint32_t vnn, - uint32_t srvid, uint32_t msg_type, TDB_DATA data) + uint32_t srvid, TDB_DATA data) { struct ctdb_req_message *r; int len; diff --git a/source4/cluster/ctdb/ctdb_cluster.c b/source4/cluster/ctdb/ctdb_cluster.c index 95adbafadff..917a56d2b8c 100644 --- a/source4/cluster/ctdb/ctdb_cluster.c +++ b/source4/cluster/ctdb/ctdb_cluster.c @@ -159,8 +159,7 @@ static NTSTATUS ctdb_message_init(struct cluster_ops *ops, send a ctdb message to another node */ static NTSTATUS ctdb_message_send(struct cluster_ops *ops, - struct server_id server, uint32_t msg_type, - DATA_BLOB *data) + struct server_id server, DATA_BLOB *data) { struct cluster_state *state = ops->private; struct ctdb_context *ctdb = state->ctdb; @@ -170,7 +169,7 @@ static NTSTATUS ctdb_message_send(struct cluster_ops *ops, tdata.dptr = data->data; tdata.dsize = data->length; - ret = ctdb_send_message(ctdb, server.node, server.id, msg_type, tdata); + ret = ctdb_send_message(ctdb, server.node, server.id, tdata); if (ret != 0) { return NT_STATUS_INTERNAL_DB_CORRUPTION; } diff --git a/source4/cluster/ctdb/include/ctdb.h b/source4/cluster/ctdb/include/ctdb.h index 335af83215a..efb12c5daac 100644 --- a/source4/cluster/ctdb/include/ctdb.h +++ b/source4/cluster/ctdb/include/ctdb.h @@ -127,6 +127,11 @@ void ctdb_wait_loop(struct ctdb_context *ctdb); /* return vnn of this node */ uint32_t ctdb_get_vnn(struct ctdb_context *ctdb); +/* + return the number of nodes +*/ +uint32_t ctdb_get_num_nodes(struct ctdb_context *ctdb); + /* setup a handler for ctdb messages */ typedef void (*ctdb_message_fn_t)(struct ctdb_context *, uint32_t srvid, TDB_DATA data, void *); @@ -135,6 +140,6 @@ int ctdb_set_message_handler(struct ctdb_context *ctdb, ctdb_message_fn_t handle /* send a ctdb message */ int ctdb_send_message(struct ctdb_context *ctdb, uint32_t vnn, - uint32_t srvid, uint32_t msg_type, TDB_DATA data); + uint32_t srvid, TDB_DATA data); #endif diff --git a/source4/cluster/local.c b/source4/cluster/local.c index 338bac500a7..5d0df475d72 100644 --- a/source4/cluster/local.c +++ b/source4/cluster/local.c @@ -88,8 +88,7 @@ static NTSTATUS local_message_init(struct cluster_ops *ops, dummy message send */ static NTSTATUS local_message_send(struct cluster_ops *ops, - struct server_id server, uint32_t msg_type, - DATA_BLOB *data) + struct server_id server, DATA_BLOB *data) { return NT_STATUS_INVALID_DEVICE_REQUEST; } diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c index 03bfb6b571f..04b340eb5a1 100644 --- a/source4/lib/messaging/messaging.c +++ b/source4/lib/messaging/messaging.c @@ -430,7 +430,7 @@ NTSTATUS messaging_send(struct messaging_context *msg, struct server_id server, if (!cluster_node_equal(&msg->server_id, &server)) { /* the destination is on another node - dispatch via the cluster layer */ - status = cluster_message_send(server, msg_type, &rec->packet); + status = cluster_message_send(server, &rec->packet); talloc_free(rec); return status; } -- 2.11.4.GIT