From 7e15e09f677f0167dd6b1cec2ccacdd8608e02c7 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 4 Feb 2008 23:04:35 +1100 Subject: Fix a few more breakages from our recent changes to the server_id structure. The BASE-TORTURE test found this problem - caused because the messaging path was not unique. If we didn't use a macro for cluster_id_equal(), we could make it opaque, and avoid this... Andrew Bartlett (This used to be commit c3387545c57d2dd4922b4f3806b4552cee8035a3) --- source4/cluster/cluster.h | 4 +++- source4/lib/messaging/messaging.c | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/source4/cluster/cluster.h b/source4/cluster/cluster.h index 203aef439c..7545757f2c 100644 --- a/source4/cluster/cluster.h +++ b/source4/cluster/cluster.h @@ -25,7 +25,9 @@ /* test for same cluster id */ -#define cluster_id_equal(id1, id2) ((id1)->id == (id2)->id && (id1)->node == (id2)->node) +#define cluster_id_equal(id_1, id_2) ((id_1)->id == (id_2)->id \ + && (id_1)->id2 == (id_2)->id2 \ + && (id_1)->node == (id_2)->node) /* test for same cluster node diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c index 9cb10f961c..6a879ab962 100644 --- a/source4/lib/messaging/messaging.c +++ b/source4/lib/messaging/messaging.c @@ -121,8 +121,8 @@ static NTSTATUS irpc_uptime(struct irpc_message *msg, */ static char *messaging_path(struct messaging_context *msg, struct server_id server_id) { - return talloc_asprintf(msg, "%s/msg.%u.%u", msg->base_path, - (unsigned)server_id.node, (unsigned)server_id.id); + return talloc_asprintf(msg, "%s/msg.%s", msg->base_path, + cluster_id_string(msg, server_id)); } /* -- cgit