summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrutika Dhananjay <kdhananj@redhat.com>2013-07-31 17:01:05 +0530
committerKrishnan Parthasarathi <kparthas@redhat.com>2013-08-12 00:48:14 +0530
commit1d46825daa39238bc5f9f595a8c6a9f911ceffc1 (patch)
tree76d6e9860c1c2ba670ef172db05188a8b601e17d
parentb7efa85c380573f4af9df45c7a5866cd21704923 (diff)
glusterd: Move timeout options and default-soft-limit to quota xlator
Write the 3 timeout options {soft-timeout, hard-timeout, alert-time} and default-soft-limit, if explicitly set, into brick volfiles. Change-Id: Ie3229a8ab1b081a5936defd4f977afc8a19dad50 BUG: 969461 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c74
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volume-set.c12
2 files changed, 6 insertions, 80 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
index d0f3d5fa..0119cae8 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -2765,60 +2765,6 @@ nfs_option_handler (volgen_graph_t *graph,
}
static int
-set_quotad_xlator_option (char *fmt_str, char *opt_name, char *volname,
- xlator_t *xl, char *value)
-{
- int ret = -1;
- char *opt_str = NULL;
-
- ret = gf_asprintf (&opt_str, fmt_str, volname, opt_name);
- if (opt_str == NULL) {
- ret = -1;
- goto out;
- }
- ret = xlator_set_option (xl, opt_str, value);
-
-out:
- GF_FREE (opt_str);
- return ret;
-}
-
-int
-quotad_option_handler (volgen_graph_t *graph, struct volopt_map_entry *vme,
- void *param)
-{
- xlator_t *xl = NULL;
- char *opt_str = NULL;
- int ret = 0;
- glusterd_volinfo_t *volinfo = NULL;
- int i = 0;
- char *ptr = NULL;
- char *options[] = {"!*.soft-timeout", "!*.hard-timeout",
- "limit-set", "!*.alert-time",
- "default-soft-limit", NULL};
-
- volinfo = param;
- xl = first_of (graph);
-
- for (i = 0; options[i]; i++) {
- if (!strcmp (vme->option, options[i])) {
- ptr = strchr (options[i], '.');
- if (!ptr)
- opt_str = options[i];
- else
- opt_str = ptr + 1;
- ret = set_quotad_xlator_option ("%s.%s", opt_str,
- volinfo->volname, xl,
- vme->value);
- if (ret)
- return -1;
- }
- }
-
- return 0;
-}
-
-static int
volgen_graph_set_iam_shd (volgen_graph_t *graph)
{
xlator_t *trav;
@@ -3267,26 +3213,6 @@ build_quotad_graph (volgen_graph_t *graph, dict_t *mod_dict)
goto out;
}
- list_for_each_entry (voliter, &priv->volumes, vol_list) {
- if (voliter->status != GLUSTERD_STATUS_STARTED)
- continue;
-
- if (1 != glusterd_is_volume_quota_enabled (voliter))
- continue;
- if (mod_dict) {
- ret = volgen_graph_set_options_generic (graph, mod_dict,
- voliter,
- quotad_option_handler);
- } else {
- ret = volgen_graph_set_options_generic (graph,
- voliter->dict, voliter,
- quotad_option_handler);
- }
-
- if (ret)
- gf_log (THIS->name, GF_LOG_ERROR, "Failed to set "
- "options for the volume %s", voliter->volname);
- }
out:
if (set_dict)
dict_unref (set_dict);
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
index d59b81d3..45bf263b 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
@@ -966,20 +966,20 @@ struct volopt_map_entry glusterd_volopt_map[] = {
.op_version = 3,
},
{ .key = "features.soft-timeout",
- .voltype = "features/quotad",
- .option = "!*.soft-timeout",
+ .voltype = "features/quota",
+ .option = "soft-timeout",
.type = NO_DOC,
.op_version = 3,
},
{ .key = "features.hard-timeout",
- .voltype = "features/quotad",
- .option = "!*.hard-timeout",
+ .voltype = "features/quota",
+ .option = "hard-timeout",
.type = NO_DOC,
.op_version = 3,
},
{ .key = "features.alert-time",
- .voltype = "features/quotad",
- .option = "!*.alert-time",
+ .voltype = "features/quota",
+ .option = "alert-time",
.type = NO_DOC,
.op_version = 3,
},