summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt
diff options
context:
space:
mode:
authorKaushik BV <kaushikbv@gluster.com>2010-10-08 10:34:18 +0000
committerVijay Bellur <vijay@dev.gluster.com>2010-10-08 09:16:29 -0700
commit13f1fff6da4b2b9ee30f43346cb382abfc1bc304 (patch)
treef317506712fb4c3d15a8cf9e9e62d9606306dab1 /xlators/mgmt
parente0cdcbf68ab1dc1cc1af874cd84579d89a3e3747 (diff)
mgmt/Glusterd : Volume info fixesv3.1.0qa43
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 'xlators/mgmt')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-handler.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c
index dcc408eb071..ba9aeb8f95c 100644
--- a/xlators/mgmt/glusterd/src/glusterd-handler.c
+++ b/xlators/mgmt/glusterd/src/glusterd-handler.c
@@ -269,6 +269,7 @@ glusterd_add_volume_detail_to_dict (glusterd_volinfo_t *volinfo,
char reconfig_key[256] = {0, };
dict_t *dict = NULL;
data_t *value = NULL;
+ int opt_count = 0;
GF_ASSERT (volinfo);
@@ -318,34 +319,32 @@ glusterd_add_volume_detail_to_dict (glusterd_volinfo_t *volinfo,
dict = volinfo->dict;
if (!dict) {
- ret = -1;
+ ret = 0;
goto out;
}
pairs = dict->members_list;
- if (!pairs) {
- ret = -1;
- goto out;
- }
while (pairs) {
if (1 == glusterd_check_option_exists (pairs->key, NULL)) {
value = pairs->value;
- if (!value) {
- ret = -1;
- goto out;
- }
+ if (!value)
+ continue;
+
snprintf (reconfig_key, 256, "volume%d.option.%s", count,
pairs->key);
- gf_log ("", GF_LOG_DEBUG,
- "Setting dict with key=%s, value=%s",
- reconfig_key, pairs->value->data);
- ret = dict_set_str (volumes, gf_strdup (reconfig_key),
- value->data);
+ ret = dict_set_str (volumes, reconfig_key, value->data);
+ if (!ret)
+ opt_count++;
}
pairs = pairs->next;
}
+ snprintf (key, 256, "volume%d.opt_count", count);
+ ret = dict_set_int32 (volumes, key, opt_count);
+ if (ret)
+ goto out;
+
out:
return ret;
}