/rpc/rpc-lib/

t='cgit logo'/> index : glusterfs-afrv1.git
summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorVijay Bellur <vijay@gluster.com>2010-07-14 00:20:28 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-07-14 14:44:18 -0700
commit32451a4dd02bdd95ec800d51267d2e6be43914a4 (patch)
tree6054625db937658faf1d451d4173a95fd76a8a86 /xlators
parent9186c9e84c857a0b1bfbfa4e7b46e9eb741186fb (diff)
Fixes a crash seen in create volume
Also includes some re-factoring changes. Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1063 (gluster volume create command segfaults) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1063
Diffstat (limited to 'xlators')
-rw-r--r--xlators/mgmt/glusterd/src/gd-xdr.c43
-rw-r--r--xlators/mgmt/glusterd/src/gd-xdr.h18
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-ha.c17
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-handler.c105
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-mem-types.h1
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-op-sm.c410
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-op-sm.h22
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-sm.c80
-rw-r--r--xlators/mgmt/glusterd/src/glusterd.c10
-rw-r--r--xlators/mgmt/glusterd/src/glusterd.h43
-rw-r--r--xlators/mgmt/glusterd/src/glusterd3_1-mops.c33
11 files changed, 439 insertions, 343 deletions
diff --git a/xlators/mgmt/glusterd/src/gd-xdr.c b/xlators/mgmt/glusterd/src/gd-xdr.c
index 4e1bfd07e..c70c5697f 100644
--- a/xlators/mgmt/glusterd/src/gd-xdr.c
+++ b/xlators/mgmt/glusterd/src/gd-xdr.c
@@ -113,6 +113,49 @@ gd_xdr_to_mgmt_commit_op_req (struct iovec inmsg, void *args)
return xdr_to_generic (inmsg, (void *)args,
(xdrproc_t)xdr_gd1_mgmt_commit_op_req);
}
+
+ssize_t
+gd_xdr_to_mgmt_probe_rsp (struct iovec inmsg, void *args)
+{
+ return xdr_to_generic (inmsg, (void *)args,
+ (xdrproc_t)xdr_gd1_mgmt_probe_rsp);
+}
+
+ssize_t
+gd_xdr_to_mgmt_friend_rsp (struct iovec inmsg, void *args)
+{
+ return xdr_to_generic (inmsg, (void *)args,
+ (xdrproc_t)xdr_gd1_mgmt_friend_rsp);
+}
+
+ssize_t
+gd_xdr_to_mgmt_cluster_lock_rsp (struct iovec inmsg, void *args)
+{
+ return xdr_to_generic (inmsg, (void *)args,
+ (xdrproc_t)xdr_gd1_mgmt_cluster_lock_rsp);
+}
+
+ssize_t
+gd_xdr_to_mgmt_cluster_unlock_rsp (struct iovec inmsg, void *args)
+{
+ return xdr_to_generic (inmsg, (void *)args,
+ (xdrproc_t)xdr_gd1_mgmt_cluster_unlock_rsp);
+}
+
+ssize_t
+gd_xdr_to_mgmt_stage_op_rsp (struct iovec inmsg, void *args)
+{
+ return xdr_to_generic (inmsg, (void *)args,
+ (xdrproc_t)xdr_gd1_mgmt_stage_op_rsp);
+}
+
+ssize_t
+gd_xdr_to_mgmt_commit_op_rsp (struct iovec inmsg, void *args)
+{
+ return xdr_to_generic (inmsg, (void *)args,
+ (xdrproc_t)xdr_gd1_mgmt_commit_op_rsp);
+}
+
ssize_t
gd_xdr_from_mgmt_probe_req (struct iovec outmsg, void *req)
{
diff --git a/xlators/mgmt/glusterd/src/gd-xdr.h b/xlators/mgmt/glusterd/src/gd-xdr.h
index 55e2f8e6d..911edcf78 100644
--- a/xlators/mgmt/glusterd/src/gd-xdr.h
+++ b/xlators/mgmt/glusterd/src/gd-xdr.h
@@ -30,6 +30,9 @@ ssize_t
gd_xdr_to_mgmt_probe_req (struct iovec inmsg, void *args);
ssize_t
+gd_xdr_to_mgmt_probe_rsp (struct iovec inmsg, void *args);
+
+ssize_t
gd_xdr_serialize_mgmt_probe_rsp (struct iovec outmsg, void *rsp);
ssize_t
@@ -39,6 +42,9 @@ ssize_t
gd_xdr_to_mgmt_friend_req (struct iovec inmsg, void *args);
ssize_t
+gd_xdr_to_mgmt_friend_rsp (struct iovec inmsg, void *args);
+
+ssize_t
gd_xdr_serialize_mgmt_friend_rsp (struct iovec outmsg, void *rsp);
ssize_t
@@ -48,6 +54,9 @@ ssize_t
gd_xdr_to_mgmt_cluster_lock_req (struct iovec inmsg, void *args);
ssize_t
+gd_xdr_to_mgmt_cluster_lock_rsp (struct iovec inmsg, void *args);
+
+ssize_t
gd_xdr_serialize_mgmt_cluster_lock_rsp (struct iovec outmsg, void *rsp);
ssize_t
@@ -57,6 +66,9 @@ ssize_t
gd_xdr_to_mgmt_cluster_unlock_req (struct iovec inmsg, void *args);
ssize_t
+gd_xdr_to_mgmt_cluster_unlock_rsp (struct iovec inmsg, void *args);
+
+ssize_t
gd_xdr_serialize_mgmt_cluster_unlock_rsp (struct iovec outmsg, void *rsp);
ssize_t
@@ -66,6 +78,9 @@ ssize_t
gd_xdr_to_mgmt_stage_op_req (struct iovec inmsg, void *args);
ssize_t
+gd_xdr_to_mgmt_stage_op_rsp (struct iovec inmsg, void *args);
+
+ssize_t
gd_xdr_serialize_mgmt_stage_op_rsp (struct iovec outmsg, void *rsp);
ssize_t
@@ -75,6 +90,9 @@ ssize_t
gd_xdr_to_mgmt_commit_op_req (struct iovec inmsg, void *args);
ssize_t
+gd_xdr_to_mgmt_commit_op_rsp (struct iovec inmsg, void *args);
+
+ssize_t
gd_xdr_serialize_mgmt_commit_op_rsp (struct iovec outmsg, void *rsp);
ssize_t
diff --git a/xlators/mgmt/glusterd/src/glusterd-ha.c b/xlators/mgmt/glusterd/src/glusterd-ha.c
index 26de16b3a..398ecce57 100644
--- a/xlators/mgmt/glusterd/src/glusterd-ha.c
+++ b/xlators/mgmt/glusterd/src/glusterd-ha.c
@@ -52,14 +52,19 @@
int32_t
glusterd_ha_create_volume (glusterd_volinfo_t *volinfo)
{
- char pathname[PATH_MAX] = {0,};
- int32_t ret = -1;
- char filepath[PATH_MAX] = {0,};
- char buf[4096] = {0,};
- int fd = -1;
+ char pathname[PATH_MAX] = {0,};
+ int32_t ret = -1;
+ char filepath[PATH_MAX] = {0,};
+ char buf[4096] = {0,};
+ int fd = -1;
+ glusterd_conf_t *priv = NULL;
GF_ASSERT (volinfo);
- snprintf (pathname, 1024, "%s/vols/%s", GLUSTERD_DEFAULT_WORKDIR,
+ priv = THIS->private;
+
+ GF_ASSERT (priv);
+
+ snprintf (pathname, 1024, "%s/vols/%s", priv->workdir,
volinfo->volname);
ret = mkdir (pathname, 0x777);
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c
index f769693ad..db385d7bb 100644
---