summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-utils.c
diff options
context:
space:
mode:
authorPavan Sondur <pavan@gluster.com>2010-10-08 07:06:57 +0000
committerVijay Bellur <vijay@dev.gluster.com>2010-10-08 06:05:10 -0700
commitcd5c9df4b67073089a5502d5e4c2e2e7d2141e4a (patch)
tree9a4717a1916d41b540d4b5fb57a6b6ee0a3e316f /xlators/mgmt/glusterd/src/glusterd-utils.c
parent09914c02f24b4cc74cb6aad9994ae590cf8b76bf (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.c50
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;
+}