diff options
author | Gaurav <gaurav@gluster.com> | 2011-03-01 06:02:52 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2011-03-01 14:02:28 -0800 |
commit | d95f28de8482c816c2b718d3cf62b667e7a6953c (patch) | |
tree | 3bbbf313ddd443fa7b22ea56c436b13f413ad1c1 | |
parent | 4d9de810f1cb4211fc59ab5b042771402c998331 (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.c | 18 | ||||
-rw-r--r-- | xlators/nfs/server/src/nfs.c | 5 |
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 ec14b665b..f69ddb2ba 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 0760b405d..ad66410ed 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} }, }; |