diff options
| author | Bala.FA <barumuga@redhat.com> | 2013-10-29 17:17:12 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2013-11-14 23:31:32 -0800 | 
| commit | 432cecfbff496bfa9e71e8cbbed789458656c553 (patch) | |
| tree | 10cc9c84b2321e933c965cd65721ed480e0e067a | |
| parent | 884a668a9c3e12e17d64ebd5ccd9fbf3d203fd1e (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: I9aaa9266e4d56f632235eaeef565e92d757c0694
Signed-off-by: Bala.FA <barumuga@redhat.com>
Reviewed-on: http://review.gluster.org/6162
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
| -rw-r--r-- | cli/src/cli-xml-output.c | 10 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 23 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 13 | 
3 files changed, 46 insertions, 0 deletions
diff --git a/cli/src/cli-xml-output.c b/cli/src/cli-xml-output.c index 0f837fc74..0cbffb222 100644 --- a/cli/src/cli-xml-output.c +++ b/cli/src/cli-xml-output.c @@ -237,6 +237,7 @@ cli_xml_output_vol_status_common (xmlTextWriterPtr writer, dict_t *dict,          int             ret = -1;          char            *hostname = NULL;          char            *path = NULL; +        char            *uuid = NULL;          int             port = 0;          int             status = 0;          int             pid = 0; @@ -264,6 +265,15 @@ cli_xml_output_vol_status_common (xmlTextWriterPtr writer, dict_t *dict,          XML_RET_CHECK_AND_GOTO (ret, out);          memset (key, 0, sizeof (key)); +        snprintf (key, sizeof (key), "brick%d.peerid", brick_index); +        ret = dict_get_str (dict, key, &uuid); +        if (ret) +                goto out; +        ret = xmlTextWriterWriteFormatElement (writer, (xmlChar *)"peerid", +                                               "%s", uuid); +        XML_RET_CHECK_AND_GOTO (ret, out); + +        memset (key, 0, sizeof (key));          snprintf (key, sizeof (key), "brick%d.status", brick_index);          ret = dict_get_int32 (dict, key, &status);          if (ret) diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index b7b71adb2..52fa9ecd6 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -3249,6 +3249,29 @@ 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); +                                        ret = dict_set_dynstr (op_ctx, key, +                                                               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 515c23a8c..9e8b7c5b6 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -4619,6 +4619,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}; @@ -4648,6 +4649,18 @@ 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) +                goto out; +          memset (key, 0, sizeof (key));          snprintf (key, sizeof (key), "%s.port", base_key);          ret = dict_set_int32 (dict, key, brickinfo->port);  | 
