From 05d3d95afa62ef3271f0fe3c7272e1e19638c448 Mon Sep 17 00:00:00 2001 From: Atin Mukherjee Date: Thu, 21 Jan 2016 14:48:34 +0530 Subject: glusterd: volume get should pick options from priv->opts too As of now volume get was not looking for all the global options maintained in option dictionary in glusterd_conf_t. This patch includes the same. Change-Id: Ib05259a2dcacc4a712cae4217fe4a6553b61da56 BUG: 1300596 Signed-off-by: Atin Mukherjee Reviewed-on: http://review.gluster.org/13272 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System Reviewed-by: Gaurav Kumar Garg CentOS-regression: Gluster Build System Reviewed-by: Jeff Darcy --- xlators/mgmt/glusterd/src/glusterd-handler.c | 38 +++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 6 deletions(-) (limited to 'xlators/mgmt/glusterd/src/glusterd-handler.c') diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index c5d486d00dd..9007843be4a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -4778,17 +4778,43 @@ glusterd_get_volume_opts (rpcsvc_request_t *req, dict_t *dict) goto out; } } else { - ret = glusterd_get_default_val_for_volopt + sprintf (dict_key, "key%d", count); + ret = dict_set_str(dict, dict_key, key); + if (ret) { + gf_msg (this->name, GF_LOG_ERROR, 0, + GD_MSG_DICT_SET_FAILED, "Failed" + " to set %s in dictionary", + key); + goto out; + } + sprintf (dict_key, "value%d", count); + ret = dict_get_str (priv->opts, key, &value); + if (!ret) { + ret = dict_set_str(dict, dict_key, + value); + if (ret) { + gf_msg (this->name, + GF_LOG_ERROR, 0, + GD_MSG_DICT_SET_FAILED, + "Failed to set %s in " + " dictionary", key); + goto out; + } + } else { + ret = glusterd_get_default_val_for_volopt (dict, _gf_false, key, orig_key, volinfo->dict, &rsp.op_errstr); - if (ret && !rsp.op_errstr) { - snprintf (err_str, sizeof(err_str), - "Failed to fetch the value of" - " %s, check log file for more" - " details", key); + if (ret && !rsp.op_errstr) { + snprintf (err_str, + sizeof(err_str), + "Failed to fetch the " + "value of %s, check " + "log file for more" + " details", key); + } } } } -- cgit