diff options
author | Krishnan Parthasarathi <kparthas@redhat.com> | 2013-05-09 18:07:59 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2013-05-15 22:22:24 -0700 |
commit | f8d77623ff49ebc60686dcb17978175e861b6634 (patch) | |
tree | b4163eab69c6957d865ba678892d8b2093b3e7f1 /xlators/mgmt/glusterd/src/glusterd-utils.c | |
parent | 4c0b149d8e7c574186a1ccefd9c74b79f8a06267 (diff) |
glusterd: Start bricks on glusterd startup, only once
The restarting of bricks has been deffered until the cluster 'stabilizes'
itself volumes' view. Since glusterd_spawn_daemons is executed everytime
a peer 'joins' the cluster, it may inadvertently restart bricks that
were taken offline for say, maintenance purposes. This fix avoids that.
Change-Id: Ic2a0a9657eb95c82d03cf5eb893322cf55c44eba
BUG: 960190
Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-on: http://review.gluster.org/4973
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 6 |
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 950b5554d7a..7970777aefd 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -2416,10 +2416,12 @@ int glusterd_spawn_daemons (void *opaque) { glusterd_conf_t *conf = THIS->private; - gf_boolean_t start_bricks = (long) opaque; + gf_boolean_t start_bricks = !conf->restart_done; - if (start_bricks) + if (start_bricks) { glusterd_restart_bricks (conf); + conf->restart_done = _gf_true; + } glusterd_restart_gsyncds (conf); glusterd_restart_rebalance (conf); return 0; |