summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt
diff options
context:
space:
mode:
authorCsaba Henk <csaba@gluster.com>2010-10-08 09:52:52 +0000
committerVijay Bellur <vijay@dev.gluster.com>2010-10-09 06:37:05 -0700
commitafb6997fe74af257c7e687e33fe88a292f7a4a00 (patch)
tree90cc2ced17d863360137d055d281d93b1dadb888 /xlators/mgmt
parentd1f938c16e309431382ab9aaa32d50bf0ccd3260 (diff)
io-stats, volgen: make the distinction between client and brick loglevel in volgen's scope
Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1789 (add log-level options to volume set) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1789
Diffstat (limited to 'xlators/mgmt')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c41
1 files changed, 37 insertions, 4 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
index cfd7a7396..93e276dc9 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -101,8 +101,8 @@ static struct volopt_map_entry glusterd_volopt_map[] = {
{"diagnostics.latency-measurement", "debug/io-stats", },
{"diagnostics.dump-fd-stats", "debug/io-stats", },
- {"diagnostics.brick-log-level", "debug/io-stats", "log-level",},
- {"diagnostics.client-log-level", "debug/io-stats", },
+ {"diagnostics.brick-log-level", "debug/io-stats", "!log-level",},
+ {"diagnostics.client-log-level", "debug/io-stats", "!log-level",},
{"performance.cache-max-file-size", "performance/io-cache", "max-file-size",},
{"performance.cache-min-file-size", "performance/io-cache", "min-file-size",},
@@ -727,6 +727,36 @@ server_auth_option_handler (glusterfs_graph_t *graph,
}
static int
+loglevel_option_handler (glusterfs_graph_t *graph,
+ struct volopt_map_entry *vme, void *param)
+{
+ char *role = param;
+ struct volopt_map_entry vme2 = {0,};
+
+ if (strcmp (vme->option, "!log-level") != 0 ||
+ !strstr (vme->key, role))
+ return 0;
+
+ memcpy (&vme2, vme, sizeof (vme2));
+ vme2.option = "log-level";
+
+ return basic_option_handler (graph, &vme2, NULL);
+}
+
+static int
+server_spec_option_handler (glusterfs_graph_t *graph,
+ struct volopt_map_entry *vme, void *param)
+{
+ int ret = 0;
+
+ ret = server_auth_option_handler (graph, vme, NULL);
+ if (!ret)
+ ret = loglevel_option_handler (graph, vme, "brick");
+
+ return ret;
+}
+
+static int
server_graph_builder (glusterfs_graph_t *graph, glusterd_volinfo_t *volinfo,
dict_t *set_dict, void *param)
{
@@ -809,7 +839,7 @@ server_graph_builder (glusterfs_graph_t *graph, glusterd_volinfo_t *volinfo,
return -1;
ret = volgen_graph_set_options_generic (graph, set_dict, NULL,
- &server_auth_option_handler);
+ &server_spec_option_handler);
return ret;
}
@@ -999,7 +1029,10 @@ client_graph_builder (glusterfs_graph_t *graph, glusterd_volinfo_t *volinfo,
if (!xl)
return -1;
- return 0;
+ ret = volgen_graph_set_options_generic (graph, set_dict, "client",
+ &loglevel_option_handler);
+
+ return ret;
}