summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-utils.c
diff options
context:
space:
mode:
authorJeff Darcy <jdarcy@redhat.com>2014-01-28 12:49:39 +0000
committerJeff Darcy <jdarcy@redhat.com>2014-01-28 12:49:39 +0000
commit738e76f0799fa598eac308144174c6cf9db21b7a (patch)
tree0cb787d50ff0753b81cd3b0913476c27adbe4686 /xlators/mgmt/glusterd/src/glusterd-utils.c
parent007182f1aad9d14e8d5bc7771d500b35026f0afa (diff)
parent6dfe01d7e726675913e98dc65c6c7406e5060e15 (diff)
Merge branch 'upstream'
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index fc4018190..21a973086 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -1295,11 +1295,14 @@ glusterd_brick_connect (glusterd_volinfo_t *volinfo,
glusterd_brick_rpc_notify,
brickid);
synclock_lock (&priv->big_lock);
- if (ret)
+ if (ret) {
+ GF_FREE (brickid);
goto out;
+ }
brickinfo->rpc = rpc;
}
out:
+
gf_log ("", GF_LOG_DEBUG, "Returning %d", ret);
return ret;
}
@@ -3965,7 +3968,7 @@ glusterd_nodesvc_disconnect (char *server)
}
int32_t
-glusterd_nodesvc_start (char *server)
+glusterd_nodesvc_start (char *server, gf_boolean_t wait)
{
int32_t ret = -1;
xlator_t *this = NULL;
@@ -4051,7 +4054,16 @@ glusterd_nodesvc_start (char *server)
runner_log (&runner, "", GF_LOG_DEBUG,
"Starting the nfs/glustershd services");
- ret = runner_run_nowait (&runner);
+ if (!wait) {
+ ret = runner_run_nowait (&runner);
+ } else {
+ synclock_unlock (&priv->big_lock);
+ {
+ ret = runner_run (&runner);
+ }
+ synclock_lock (&priv->big_lock);
+ }
+
if (ret == 0) {
glusterd_nodesvc_connect (server, sockfpath);
}
@@ -4062,19 +4074,19 @@ out:
int
glusterd_nfs_server_start ()
{
- return glusterd_nodesvc_start ("nfs");
+ return glusterd_nodesvc_start ("nfs", _gf_false);
}
int
glusterd_shd_start ()
{
- return glusterd_nodesvc_start ("glustershd");
+ return glusterd_nodesvc_start ("glustershd", _gf_false);
}
int
glusterd_quotad_start ()
{
- return glusterd_nodesvc_start ("quotad");
+ return glusterd_nodesvc_start ("quotad", _gf_true);
}
gf_boolean_t
@@ -4805,8 +4817,8 @@ _local_gsyncd_start (dict_t *this, char *key, data_t *value, void *data)
uuid_str, NULL);
out:
- if (path_list)
- GF_FREE (path_list);
+ GF_FREE (path_list);
+ GF_FREE (op_errstr);
return ret;
}