diff options
author | Kaushik BV <kaushikbv@gluster.com> | 2010-10-08 10:34:18 +0000 |
---|---|---|
committer | Vijay Bellur <vijay@dev.gluster.com> | 2010-10-08 09:16:29 -0700 |
commit | 13f1fff6da4b2b9ee30f43346cb382abfc1bc304 (patch) | |
tree | f317506712fb4c3d15a8cf9e9e62d9606306dab1 /cli/src/cli3_1-cops.c | |
parent | e0cdcbf68ab1dc1cc1af874cd84579d89a3e3747 (diff) |
mgmt/Glusterd : Volume info fixes
Signed-off-by: Kaushik BV <kaushikbv@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1872 (gluster volume info is not working with qa42-)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1872
Diffstat (limited to 'cli/src/cli3_1-cops.c')
-rw-r--r-- | cli/src/cli3_1-cops.c | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/cli/src/cli3_1-cops.c b/cli/src/cli3_1-cops.c index 8f170b98f..5b5d5425f 100644 --- a/cli/src/cli3_1-cops.c +++ b/cli/src/cli3_1-cops.c @@ -368,6 +368,8 @@ gf_cli3_1_get_volume_cbk (struct rpc_req *req, struct iovec *iov, data_pair_t *pairs = NULL; char *ptr = NULL; data_t *value = NULL; + int opt_count = 0; + int k = 0; @@ -512,23 +514,36 @@ gf_cli3_1_get_volume_cbk (struct rpc_req *req, struct iovec *iov, goto out; } - snprintf (key, 256, "volume%d.option.",i); + snprintf (key, 256, "volume%d.opt_count",i); + ret = dict_get_int32 (dict, key, &opt_count); + if (ret) + goto out; + + if (!opt_count) + goto out; + cli_out ("Options Reconfigured:"); - while (pairs) { - ptr = strstr (pairs->key, "option."); - if (ptr) { - value = pairs->value; - if (!value) { - ret = -1; - goto out; + k = 0; + while ( k < opt_count) { + + snprintf (key, 256, "volume%d.option.",i); + while (pairs) { + ptr = strstr (pairs->key, "option."); + if (ptr) { + value = pairs->value; + if (!value) { + ret = -1; + goto out; + } + cli_out_options (key, pairs->key, + value->data); } - cli_out_options (key, pairs->key, - value->data); + pairs = pairs->next; } - pairs = pairs->next; - } + k++; + } - i++; + i++; } |