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; +}  | 
