diff options
author | Andrew Bartlett <abartlet@samba.org> | 2008-02-04 17:51:38 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2008-02-04 17:51:38 +1100 |
commit | 77f71c1b65358723771354fd9ff1dc418b227ccc (patch) | |
tree | 2b1b96d1f3dcd55997fd6d48e75085ff506fb0a2 /source4/cluster/ctdb | |
parent | 23d681caf9c1186999ac676d70a1eb0e8a43e358 (diff) | |
download | samba-77f71c1b65358723771354fd9ff1dc418b227ccc.tar.gz samba-77f71c1b65358723771354fd9ff1dc418b227ccc.tar.xz samba-77f71c1b65358723771354fd9ff1dc418b227ccc.zip |
Rework cluster_id() to take an additional argument, as we need
<node>.<pid>.<fd> to be unique in a prefork process environment.
Andrew Bartlett and David Disseldorp
(This used to be commit 931994a7f185bbc98924823e9e8cef1011dd0957)
Diffstat (limited to 'source4/cluster/ctdb')
-rw-r--r-- | source4/cluster/ctdb/ctdb_cluster.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source4/cluster/ctdb/ctdb_cluster.c b/source4/cluster/ctdb/ctdb_cluster.c index 53df1e968e..ce295c4474 100644 --- a/source4/cluster/ctdb/ctdb_cluster.c +++ b/source4/cluster/ctdb/ctdb_cluster.c @@ -52,13 +52,14 @@ struct cluster_state { /* return a server_id for a ctdb node */ -static struct server_id ctdb_id(struct cluster_ops *ops, uint32_t id) +static struct server_id ctdb_id(struct cluster_ops *ops, uint64_t id, uint32_t id2) { struct cluster_state *state = (struct cluster_state *)ops->private; struct ctdb_context *ctdb = state->ctdb; struct server_id server_id; server_id.node = ctdb_get_vnn(ctdb); server_id.id = id; + server_id.id2 = id2; return server_id; } @@ -69,7 +70,7 @@ static struct server_id ctdb_id(struct cluster_ops *ops, uint32_t id) static const char *ctdb_id_string(struct cluster_ops *ops, TALLOC_CTX *mem_ctx, struct server_id id) { - return talloc_asprintf(mem_ctx, "%u.%u", id.node, id.id); + return talloc_asprintf(mem_ctx, "%u.%llu.%u", id.node, (unsigned long long)id.id, id.id2); } /* |