summaryrefslogtreecommitdiffstats
path: root/xlators/nfs/server/src/nfs.c
diff options
context:
space:
mode:
authorGaurav <gaurav@gluster.com>2011-03-23 00:50:17 +0000
committerVijay Bellur <vijay@dev.gluster.com>2011-03-23 04:55:29 -0700
commit9bd4f25b6b0ea8103324b685fcc21525a29849a8 (patch)
tree7b0e0b875934521dea0c6fdd3412ac61972a527e /xlators/nfs/server/src/nfs.c
parent6f6c817314a2a867be996c2ad6d9a1337617ded4 (diff)
CLI : Validate options farmework.
Signed-off-by: Gaurav <gaurav@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2064 (NFS options are removed upon glusterd restart) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2064
Diffstat (limited to 'xlators/nfs/server/src/nfs.c')
-rw-r--r--xlators/nfs/server/src/nfs.c54
1 files changed, 19 insertions, 35 deletions
diff --git a/xlators/nfs/server/src/nfs.c b/xlators/nfs/server/src/nfs.c
index 8df7c13321c..150fa239f39 100644
--- a/xlators/nfs/server/src/nfs.c
+++ b/xlators/nfs/server/src/nfs.c
@@ -603,47 +603,31 @@ free_nfs:
}
int
-validate_options (xlator_t *this, dict_t *options, char **op_errstr)
+validate_options (xlator_t *this, char **op_errstr)
{
- char *str=NULL;
- gf_boolean_t nfs_ino32;
- data_t *data = NULL;
- long long lng = 0;
- int ret = 0;
+ int ret = 0;
+ volume_opt_list_t *vol_opt = NULL;
+ volume_opt_list_t *tmp;
-
-
- ret = dict_get_str (options, "nfs.enable-ino32",
- &str);
- if (ret == 0) {
- ret = gf_string2boolean (str,
- &nfs_ino32);
- if (ret == -1) {
- gf_log (this->name, GF_LOG_WARNING,
- "'nfs.enable-ino32' takes only boolean"
- " arguments");
- *op_errstr = gf_strdup ("Error, should be boolean");
- ret = -1;
- goto out;
- }
+ if (!this) {
+ gf_log (this->name, GF_LOG_DEBUG, "'this' not a valid ptr");
+ ret =-1;
+ goto out;
}
- data = dict_get (options, "nfs.mem-factor");
- if (data) {
- if (gf_string2longlong (data->data, &lng) != 0) {
- gf_log (this->name, GF_LOG_ERROR, "invalid number format"
- "\"%s\" in option "
- "\"nfs.mem-factor\" ",
- data->data );
- *op_errstr = gf_strdup ("Error, Invalid number format");
- ret = -1;
- goto out;
- }
+ if (list_empty (&this->volume_options))
+ goto out;
+
+ vol_opt = list_entry (this->volume_options.next,
+ volume_opt_list_t, list);
+ list_for_each_entry_safe (vol_opt, tmp, &this->volume_options, list) {
+ ret = validate_xlator_volume_options_attacherr (this,
+ vol_opt->given_opt,
+ op_errstr);
}
- ret =0;
out:
- return ret;
+ return ret;
}
@@ -944,7 +928,7 @@ struct volume_options options[] = {
"Please consult gluster-users list before using this "
"option."
},
- { .key = {"nfs3.*.disable"},
+ { .key = {"nfs.*.disable"},
.type = GF_OPTION_TYPE_BOOL,
.description = "This option is used to start or stop NFS server"
"for individual volume."