summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorvmallika <vmallika@redhat.com>2014-11-14 12:06:39 +0530
committerRaghavendra Bhat <raghavendra@redhat.com>2014-12-24 03:36:38 -0800
commit2acbc361698b4cd55211011b93a1b4bba9ff72f0 (patch)
treeca6c1c5be05d08bdfb00f2010e28cb34e9fe053c /xlators
parent7d89b78a56f1eed261a56dcb671ba8b804c2bf5a (diff)
mgmt/glusterd: Validate the options of uss
Change-Id: Id13dc4cd3f5246446a9dfeabc9caa52f91477524 BUG: 1175755 Signed-off-by: Varun Shastry <vshastry@redhat.com> Signed-off-by: vmallika <vmallika@redhat.com> Reviewed-on: http://review.gluster.org/8133 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Tested-by: Krishnan Parthasarathi <kparthas@redhat.com> Signed-off-by: Sachin Pandit <spandit@redhat.com> Reviewed-on: http://review.gluster.org/9304 Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c17
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c5
2 files changed, 15 insertions, 7 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 948bd36d869..938f4842533 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -13097,14 +13097,12 @@ glusterd_is_snapd_enabled (glusterd_volinfo_t *volinfo)
ret = dict_get_str_boolean (volinfo->dict, "features.uss", -2);
if (ret == -2) {
gf_log (this->name, GF_LOG_DEBUG, "Key features.uss not "
- "present in the volinfo dict");
+ "present in the dict for volume %s", volinfo->volname);
ret = 0;
} else if (ret == -1) {
- gf_log (this->name, GF_LOG_ERROR, "Failed to get "
- "'features.uss' from %s volume dict",
- volinfo->volname);
- ret = 0;
+ gf_log (this->name, GF_LOG_ERROR, "Failed to get 'features.uss'"
+ " from dict for volume %s", volinfo->volname);
}
return ret;
@@ -13442,7 +13440,14 @@ glusterd_handle_snapd_option (glusterd_volinfo_t *volinfo)
if (volinfo->is_snap_volume)
return 0;
- if (glusterd_is_snapd_enabled (volinfo)) {
+ ret = glusterd_is_snapd_enabled (volinfo);
+ if (ret == -1) {
+ gf_log (this->name, GF_LOG_ERROR, "Failed to read volume "
+ "options");
+ goto out;
+ }
+
+ if (ret) {
if (!glusterd_is_volume_started (volinfo)) {
if (glusterd_is_snapd_running (volinfo)) {
ret = glusterd_snapd_stop (volinfo);
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
index f1e30e1ee82..151a0931a20 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -3002,7 +3002,10 @@ client_graph_builder (volgen_graph_t *graph, glusterd_volinfo_t *volinfo,
if (ret)
goto out;
- if (!volinfo->is_snap_volume && glusterd_is_snapd_enabled (volinfo)) {
+ ret = dict_get_str_boolean (set_dict, "features.uss", _gf_false);
+ if (ret == -1)
+ goto out;
+ if (ret && !volinfo->is_snap_volume) {
ret = volgen_graph_build_snapview_client
(graph, volinfo, volname, set_dict);
if (ret == -1)