diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-06-17 20:59:58 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-06-17 20:59:58 -0400 |
commit | 301933a0acfdec837fd8b4884093b3f0fff01d8a (patch) | |
tree | 1f2412a30d710493179b1b3743cf30302872df15 /fs/nfs/super.c | |
parent | 3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8 (diff) | |
parent | 68f3f90133d56e0c38f04f991e662c2b21592b31 (diff) |
Merge commit 'linux-pnfs/nfs41-for-2.6.31' into nfsv41-for-2.6.31
Diffstat (limited to 'fs/nfs/super.c')
-rw-r--r-- | fs/nfs/super.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 26127b69a275..6063054455f8 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c | |||
@@ -90,6 +90,7 @@ enum { | |||
90 | Opt_mountport, | 90 | Opt_mountport, |
91 | Opt_mountvers, | 91 | Opt_mountvers, |
92 | Opt_nfsvers, | 92 | Opt_nfsvers, |
93 | Opt_minorversion, | ||
93 | 94 | ||
94 | /* Mount options that take string arguments */ | 95 | /* Mount options that take string arguments */ |
95 | Opt_sec, Opt_proto, Opt_mountproto, Opt_mounthost, | 96 | Opt_sec, Opt_proto, Opt_mountproto, Opt_mounthost, |
@@ -155,6 +156,7 @@ static const match_table_t nfs_mount_option_tokens = { | |||
155 | { Opt_mountvers, "mountvers=%u" }, | 156 | { Opt_mountvers, "mountvers=%u" }, |
156 | { Opt_nfsvers, "nfsvers=%u" }, | 157 | { Opt_nfsvers, "nfsvers=%u" }, |
157 | { Opt_nfsvers, "vers=%u" }, | 158 | { Opt_nfsvers, "vers=%u" }, |
159 | { Opt_minorversion, "minorversion=%u" }, | ||
158 | 160 | ||
159 | { Opt_sec, "sec=%s" }, | 161 | { Opt_sec, "sec=%s" }, |
160 | { Opt_proto, "proto=%s" }, | 162 | { Opt_proto, "proto=%s" }, |
@@ -1211,6 +1213,13 @@ static int nfs_parse_mount_options(char *raw, | |||
1211 | nfs_parse_invalid_value("nfsvers"); | 1213 | nfs_parse_invalid_value("nfsvers"); |
1212 | } | 1214 | } |
1213 | break; | 1215 | break; |
1216 | case Opt_minorversion: | ||
1217 | if (match_int(args, &option)) | ||
1218 | return 0; | ||
1219 | if (option < 0 || option > NFS4_MAX_MINOR_VERSION) | ||
1220 | return 0; | ||
1221 | mnt->minorversion = option; | ||
1222 | break; | ||
1214 | 1223 | ||
1215 | /* | 1224 | /* |
1216 | * options that take text values | 1225 | * options that take text values |
@@ -2263,6 +2272,7 @@ static int nfs4_validate_mount_data(void *options, | |||
2263 | args->nfs_server.port = NFS_PORT; /* 2049 unless user set port= */ | 2272 | args->nfs_server.port = NFS_PORT; /* 2049 unless user set port= */ |
2264 | args->auth_flavors[0] = RPC_AUTH_UNIX; | 2273 | args->auth_flavors[0] = RPC_AUTH_UNIX; |
2265 | args->auth_flavor_len = 0; | 2274 | args->auth_flavor_len = 0; |
2275 | args->minorversion = 0; | ||
2266 | 2276 | ||
2267 | switch (data->version) { | 2277 | switch (data->version) { |
2268 | case 1: | 2278 | case 1: |
@@ -2477,12 +2487,13 @@ static void nfs4_kill_super(struct super_block *sb) | |||
2477 | { | 2487 | { |
2478 | struct nfs_server *server = NFS_SB(sb); | 2488 | struct nfs_server *server = NFS_SB(sb); |
2479 | 2489 | ||
2490 | dprintk("--> %s\n", __func__); | ||
2480 | nfs_super_return_all_delegations(sb); | 2491 | nfs_super_return_all_delegations(sb); |
2481 | kill_anon_super(sb); | 2492 | kill_anon_super(sb); |
2482 | |||
2483 | nfs4_renewd_prepare_shutdown(server); | 2493 | nfs4_renewd_prepare_shutdown(server); |
2484 | nfs_fscache_release_super_cookie(sb); | 2494 | nfs_fscache_release_super_cookie(sb); |
2485 | nfs_free_server(server); | 2495 | nfs_free_server(server); |
2496 | dprintk("<-- %s\n", __func__); | ||
2486 | } | 2497 | } |
2487 | 2498 | ||
2488 | /* | 2499 | /* |