diff options
author | Pavan Sondur <pavan@gluster.com> | 2010-10-08 07:06:57 +0000 |
---|---|---|
committer | Vijay Bellur <vijay@dev.gluster.com> | 2010-10-08 06:05:10 -0700 |
commit | cd5c9df4b67073089a5502d5e4c2e2e7d2141e4a (patch) | |
tree | 9a4717a1916d41b540d4b5fb57a6b6ee0a3e316f /xlators/mgmt/glusterd/src/glusterd-utils.c | |
parent | 09914c02f24b4cc74cb6aad9994ae590cf8b76bf (diff) |
mgmt/glusterd: Fix replace brick to pass src-brick and dst-brick port nos properly.v3.1.0qa42
Fix also contains patch from shishir ng for maintaining replace-brick
states in glusterd.
Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1235 (Bug for all pump/migrate commits)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 11a19d2a25e..cceecc11ce7 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -2337,3 +2337,53 @@ out: gf_log ("", GF_LOG_DEBUG, "returning %d ", ret); return ret; } + +inline int +glusterd_is_rb_started(glusterd_volinfo_t *volinfo) +{ + gf_log ("", GF_LOG_DEBUG, + "is_rb_started:status=%d", volinfo->rb_status); + return (volinfo->rb_status == GF_RB_STATUS_STARTED); + +} + +inline int +glusterd_is_rb_paused ( glusterd_volinfo_t *volinfo) +{ + gf_log ("", GF_LOG_DEBUG, + "is_rb_paused:status=%d", volinfo->rb_status); + + return (volinfo->rb_status == GF_RB_STATUS_PAUSED); +} + +inline int +glusterd_set_rb_status (glusterd_volinfo_t *volinfo, gf_rb_status_t status) +{ + gf_log ("", GF_LOG_DEBUG, + "setting status from %d to %d", + volinfo->rb_status, + status); + + volinfo->rb_status = status; + return 0; +} + +inline int +glusterd_rb_check_bricks (glusterd_volinfo_t *volinfo, + glusterd_brickinfo_t *src, glusterd_brickinfo_t *dst) +{ + if (!volinfo->src_brick || !volinfo->dst_brick) + return -1; + + if (strcmp (volinfo->src_brick->hostname, src->hostname) || + strcmp (volinfo->src_brick->path, src->path)) { + gf_log("", GF_LOG_ERROR, "Replace brick src bricks differ"); + return -1; + } + if (strcmp (volinfo->dst_brick->hostname, dst->hostname) || + strcmp (volinfo->dst_brick->path, dst->path)) { + gf_log ("", GF_LOG_ERROR, "Replace brick dst bricks differ"); + return -1; + } + return 0; +} |