diff options
author | Jeff Darcy <jdarcy@redhat.com> | 2014-01-28 12:49:39 +0000 |
---|---|---|
committer | Jeff Darcy <jdarcy@redhat.com> | 2014-01-28 12:49:39 +0000 |
commit | 738e76f0799fa598eac308144174c6cf9db21b7a (patch) | |
tree | 0cb787d50ff0753b81cd3b0913476c27adbe4686 /xlators/mgmt/glusterd/src/glusterd-utils.c | |
parent | 007182f1aad9d14e8d5bc7771d500b35026f0afa (diff) | |
parent | 6dfe01d7e726675913e98dc65c6c7406e5060e15 (diff) |
Merge branch 'upstream'
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 28 |
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; } |