summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrutika Dhananjay <kdhananj@redhat.com>2013-07-31 17:01:05 +0530
committerKrutika Dhananjay <kdhananj@redhat.com>2013-07-31 17:31:53 +0530
commitff844746cec265d3c81db98e9974a2571c1a3858 (patch)
treeb08d1255134d8591eca5f1b59547b5a4def3de20
parentc9b16973fed6e7b51af38e473fa166df9e260d93 (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 148cea9c..da227759 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -2759,60 +2759,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;
@@ -3261,26 +3207,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 600100aa..a0f5ae22 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
@@ -941,20 +941,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,
},