summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 63cbaa16c1f..e95bf9665c9 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -3546,8 +3546,8 @@ glusterd_spawn_daemons(void *opaque)
glusterd_conf_t *conf = THIS->private;
int ret = -1;
- synclock_lock(&conf->big_lock);
- glusterd_restart_bricks();
+ /* glusterd_restart_brick() will take the sync_lock. */
+ glusterd_restart_bricks(NULL);
glusterd_restart_gsyncds(conf);
glusterd_restart_rebalance(conf);
ret = glusterd_snapdsvc_restart();
@@ -6275,6 +6275,8 @@ glusterd_restart_bricks(void *opaque)
conf = this->private;
GF_VALIDATE_OR_GOTO(this->name, conf, return_block);
+ synclock_lock(&conf->big_lock);
+
/* We need to ensure that restarting the bricks during glusterd restart
* shouldn't race with the import volume thread (refer
* glusterd_compare_friend_data ())