diff options
author | Bala.FA <barumuga@redhat.com> | 2013-10-29 17:17:12 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-11-26 11:53:13 -0800 |
commit | 25dadcf6725b834bf735224ba165330b8872af4f (patch) | |
tree | 6e51a7e843ef87b5fdc5c2f1fb09b15aac6a7092 /xlators | |
parent | e412da34e927737efae711740191c59749214e9a (diff) |
cli: add peerid to volume status xml output
This patch adds <peerid> tag to bricks and nfs/shd like services to
volume status xml output.
BUG: 955548
Change-Id: I0e58e323534a19d485c9523466bce215bd466160
Signed-off-by: Bala.FA <barumuga@redhat.com>
Reviewed-on: http://review.gluster.org/6267
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 32 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 15 |
2 files changed, 47 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index e4ff10dad..c0a30724a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -3110,6 +3110,38 @@ glusterd_op_modify_op_ctx (glusterd_op_t op, void *ctx) count = brick_index_max + other_count + 1; + /* add 'brick%d.peerid' into op_ctx with value of 'brick%d.path'. + nfs/sshd like services have this additional uuid */ + { + char key[1024]; + char *uuid_str = NULL; + char *uuid = NULL; + int i; + + for (i = brick_index_max + 1; i < count; i++) { + memset (key, 0, sizeof (key)); + snprintf (key, sizeof (key), "brick%d.path", i); + ret = dict_get_str (op_ctx, key, &uuid_str); + if (!ret) { + memset (key, 0, sizeof (key)); + snprintf (key, sizeof (key), + "brick%d.peerid", i); + uuid = gf_strdup (uuid_str); + if (!uuid) { + gf_log (this->name, GF_LOG_DEBUG, + "unable to create dup of" + " uuid_str"); + continue; + } + ret = dict_set_dynstr (op_ctx, key, + uuid); + if (ret != 0) { + GF_FREE (uuid); + } + } + } + } + ret = glusterd_op_volume_dict_uuid_to_hostname (op_ctx, "brick%d.path", 0, count); diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index de17c3dbf..53b3937d4 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -4648,6 +4648,7 @@ glusterd_add_brick_to_dict (glusterd_volinfo_t *volinfo, int ret = -1; int32_t pid = -1; int32_t brick_online = -1; + char *peer_id_str = NULL; char key[1024] = {0}; char base_key[1024] = {0}; char pidfile[PATH_MAX] = {0}; @@ -4678,6 +4679,20 @@ glusterd_add_brick_to_dict (glusterd_volinfo_t *volinfo, if (ret) goto out; + /* add peer uuid */ + peer_id_str = gf_strdup (uuid_utoa (brickinfo->uuid)); + if (!peer_id_str) { + ret = -1; + goto out; + } + memset (key, 0, sizeof (key)); + snprintf (key, sizeof (key), "%s.peerid", base_key); + ret = dict_set_dynstr (dict, key, peer_id_str); + if (ret) { + GF_FREE (peer_id_str); + goto out; + } + memset (key, 0, sizeof (key)); snprintf (key, sizeof (key), "%s.port", base_key); ret = dict_set_int32 (dict, key, brickinfo->port); |