summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-handler.c
diff options
context:
space:
mode:
authorKrishnan Parthasarathi <kparthas@redhat.com>2012-07-24 12:44:11 +0530
committerAnand Avati <avati@redhat.com>2012-07-29 14:20:38 -0700
commit86e326921e29bc39f2ea4efe6a1882199de18a79 (patch)
treea3d24f0108b7ded371e8d3a64616db200be24501 /xlators/mgmt/glusterd/src/glusterd-handler.c
parentc9b96e26a3bab09a4146b2bec57a57c69b9aa8b7 (diff)
glusterd: Persisted hooks friendly user.* keys
- Fixed validation of user.* keys in presence of multiple key, value pairs in a single volume set command Change-Id: I5b96de2d009fbc79772121308d9b4c0a552bac52 BUG: 825902 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com> Reviewed-on: http://review.gluster.com/3715 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-handler.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-handler.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c
index 4540bf3e272..ccec91f80df 100644
--- a/xlators/mgmt/glusterd/src/glusterd-handler.c
+++ b/xlators/mgmt/glusterd/src/glusterd-handler.c
@@ -285,7 +285,6 @@ glusterd_add_volume_detail_to_dict (glusterd_volinfo_t *volinfo,
data_pair_t *pairs = NULL;
char reconfig_key[256] = {0, };
dict_t *dict = NULL;
- data_t *value = NULL;
int opt_count = 0;
glusterd_conf_t *priv = NULL;
char *volume_id_str = NULL;
@@ -370,21 +369,13 @@ glusterd_add_volume_detail_to_dict (glusterd_volinfo_t *volinfo,
goto out;
}
- pairs = dict->members_list;
+ for (pairs = dict->members_list; pairs != NULL; pairs = pairs->next) {
+ snprintf (reconfig_key, 256, "volume%d.option.%s", count,
+ pairs->key);
+ ret = dict_set_str (volumes, reconfig_key, pairs->value->data);
+ if (0 == ret)
+ opt_count++;
- while (pairs) {
- if (1 == glusterd_check_option_exists (pairs->key, NULL)) {
- value = pairs->value;
- if (!value)
- continue;
-
- snprintf (reconfig_key, 256, "volume%d.option.%s", count,
- pairs->key);
- ret = dict_set_str (volumes, reconfig_key, value->data);
- if (!ret)
- opt_count++;
- }
- pairs = pairs->next;
}
snprintf (key, 256, "volume%d.opt_count", count);