summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGaurav <gaurav@gluster.com>2011-03-01 06:02:52 +0000
committerAnand V. Avati <avati@dev.gluster.com>2011-03-01 14:02:28 -0800
commitd95f28de8482c816c2b718d3cf62b667e7a6953c (patch)
tree3bbbf313ddd443fa7b22ea56c436b13f413ad1c1
parent4d9de810f1cb4211fc59ab5b042771402c998331 (diff)
CLI : NFS disable option through volume set.
Signed-off-by: Gaurav <gaurav@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2094 (Need option to turn off NFS) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2094
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c18
-rw-r--r--xlators/nfs/server/src/nfs.c5
2 files changed, 23 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
index ec14b665b06..f69ddb2ba92 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -160,6 +160,7 @@ static struct volopt_map_entry glusterd_volopt_map[] = {
{"nfs.trusted-write", "nfs/server", "!nfs-trusted-write", NULL, DOC},
{"nfs.volume-access", "nfs/server", "!nfs-volume-access", NULL, DOC},
{"nfs.export-dir", "nfs/server", "!nfs-export-dir", NULL, DOC},
+ {"nfs.disable", "nfs/server", "!nfs-disable", NULL, DOC},
{NULL, }
};
@@ -1550,6 +1551,20 @@ nfs_option_handler (glusterfs_graph_t *graph,
}
+ if (! strcmp (vme->option, "!nfs-disable")) {
+ ret = gf_asprintf (&aa, "nfs3.%s.disable",
+ volinfo->volname);
+
+ if (ret != -1) {
+ ret = xlator_set_option (xl, aa, vme->value);
+ GF_FREE (aa);
+ }
+
+ if (ret)
+ return -1;
+ }
+
+
/*key = strchr (vme->key, '.') + 1;
for (trav = xl->children; trav; trav = trav->next) {
@@ -1620,6 +1635,9 @@ build_nfs_graph (glusterfs_graph_t *graph, dict_t *mod_dict)
if (voliter->status != GLUSTERD_STATUS_STARTED)
continue;
+ if (dict_get_str_boolean (voliter->dict, "nfs.disable", 0))
+ continue;
+
ret = gf_asprintf (&skey, "rpc-auth.addr.%s.allow",
voliter->volname);
if (ret == -1) {
diff --git a/xlators/nfs/server/src/nfs.c b/xlators/nfs/server/src/nfs.c
index 0760b405df5..ad66410edfe 100644
--- a/xlators/nfs/server/src/nfs.c
+++ b/xlators/nfs/server/src/nfs.c
@@ -937,6 +937,11 @@ struct volume_options options[] = {
"Please consult gluster-users list before using this "
"option."
},
+ { .key = {"nfs3.*.disable"},
+ .type = GF_OPTION_TYPE_BOOL,
+ .description = "This option is used to start or stop NFS server"
+ "for individual volume."
+ },
{ .key = {NULL} },
};