[Cluster-devel] cluster/cman/lib libcman.c libcman.h
pcaulfield at sourceware.org
pcaulfield at sourceware.org
Tue Jul 11 08:13:19 UTC 2006
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: pcaulfield at sourceware.org 2006-07-11 08:13:18
Modified files:
cman/lib : libcman.c libcman.h
Log message:
Don't copy the agent name if it's NULL.
Make the requred size of the agent string clear.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/lib/libcman.c.diff?cvsroot=cluster&r1=1.24&r2=1.25
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/lib/libcman.h.diff?cvsroot=cluster&r1=1.25&r2=1.26
--- cluster/cman/lib/libcman.c 2006/05/10 14:20:07 1.24
+++ cluster/cman/lib/libcman.c 2006/07/11 08:13:18 1.25
@@ -943,7 +943,8 @@
ret = info_call(h, CMAN_CMD_GET_FENCE_INFO, &nodeid, sizeof(int), &f, sizeof(f));
if (!ret) {
*time = f.fence_time;
- strcpy(agent, f.fence_agent);
+ if (agent)
+ strcpy(agent, f.fence_agent);
*fenced = ((f.flags & FENCE_FLAGS_FENCED) != 0);
}
return ret;
--- cluster/cman/lib/libcman.h 2006/06/20 15:27:04 1.25
+++ cluster/cman/lib/libcman.h 2006/07/11 08:13:18 1.26
@@ -30,9 +30,10 @@
/*
* Some maxima
*/
-#define CMAN_MAX_ADDR_LEN sizeof(struct sockaddr_in6)
-#define CMAN_MAX_NODENAME_LEN 255
-#define MAX_CLUSTER_NAME_LEN 16
+#define CMAN_MAX_ADDR_LEN sizeof(struct sockaddr_in6)
+#define CMAN_MAX_NODENAME_LEN 255
+#define MAX_CLUSTER_NAME_LEN 16
+#define CMAN_MAX_FENCE_AGENT_NAME_LEN 255
/*
* Pass this into cman_get_node() as the nodeid to get local node information
@@ -286,6 +287,7 @@
/* Get fence information for a node.
* 'int *fenced' is only valid if the node is down, it is set to
* 1 if the node has been fenced since it left the cluster.
+ * agent should be CMAN_MAX_FENCE_AGENT_NAME_LEN
*/
int cman_get_fenceinfo(cman_handle_t handle, int nodeid, uint64_t *fence_time, int *fenced, char *agent);
More information about the Cluster-devel
mailing list