From f69e85511645fcbd0526e38ca88dd3e5bf0ed917 Mon Sep 17 00:00:00 2001 From: Prashanth Pai Date: Mon, 17 Feb 2014 20:42:42 +0530 Subject: feature/compress: Validate option and enable doc * Validate network.compression option * Enable descriptions of xlator configurable options * Improve indentation in code * Make network.compression.mode not configurable by user. This is similar to "iam-self-heal-daemon" option in AFR xlator. Fixes BUGs: 1065658, 1065640, 1065655 Change-Id: I99d82b574ee0e5c8c2baf5f5d52dbf8d015d330a BUG: 1065640 Signed-off-by: Prashanth Pai Reviewed-on: http://review.gluster.org/7024 Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- xlators/mgmt/glusterd/src/glusterd-volgen.c | 15 ++++++++++----- xlators/mgmt/glusterd/src/glusterd-volume-set.c | 15 +++------------ 2 files changed, 13 insertions(+), 17 deletions(-) (limited to 'xlators/mgmt/glusterd') diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index 7cb858b01..001825941 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -1666,13 +1666,16 @@ server_graph_builder (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, } /* Check for compress volume option, and add it to the graph on server side */ - if (dict_get_str_boolean (set_dict, "network.compression", 0)) { + ret = dict_get_str_boolean (set_dict, "network.compression", 0); + if (ret == -1) + goto out; + if (ret) { xl = volgen_graph_add (graph, "features/cdc", volname); if (!xl) { ret = -1; goto out; } - ret = dict_set_str (set_dict, "network.compression.mode", "server"); + ret = xlator_set_option (xl, "mode", "server"); if (ret) goto out; } @@ -2543,16 +2546,18 @@ client_graph_builder (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, goto out; /* Check for compress volume option, and add it to the graph on client side */ - if (dict_get_str_boolean (set_dict, "network.compression", 0)) { + ret = dict_get_str_boolean (set_dict, "network.compression", 0); + if (ret == -1) + goto out; + if (ret) { xl = volgen_graph_add (graph, "features/cdc", volname); if (!xl) { ret = -1; goto out; } - ret = dict_set_str (set_dict, "network.compression.mode", "client"); + ret = xlator_set_option (xl, "mode", "client"); if (ret) goto out; - } ret = glusterd_volinfo_get_boolean (volinfo, "features.encryption"); diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index 6e7a80b92..7f094c439 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -1020,39 +1020,30 @@ struct volopt_map_entry glusterd_volopt_map[] = { */ { .key = "network.compression", .voltype = "features/cdc", + .option = "!feat", .value = "off", - .type = NO_DOC, .op_version = 3, - .description = "enable/disable network compression translator" - }, - { .key = "network.compression.mode", - .voltype = "features/cdc", - .option = "mode", - .type = NO_DOC, - .op_version = 3 + .description = "enable/disable network compression translator", + .flags = OPT_FLAG_XLATOR_OPT }, { .key = "network.compression.window-size", .voltype = "features/cdc", .option = "window-size", - .type = NO_DOC, .op_version = 3 }, { .key = "network.compression.mem-level", .voltype = "features/cdc", .option = "mem-level", - .type = NO_DOC, .op_version = 3 }, { .key = "network.compression.min-size", .voltype = "features/cdc", .option = "min-size", - .type = NO_DOC, .op_version = 3 }, { .key = "network.compression.compression-level", .voltype = "features/cdc", .option = "compression-level", - .type = NO_DOC, .op_version = 3 }, { .key = "network.compression.debug", -- cgit