diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-06-17 16:22:58 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-06-17 16:22:58 -0400 |
commit | 01c3f05228ce7fc19baa103e4e4bf6c1b5062a53 (patch) | |
tree | d88d1fefeeea3468bbdafe6778fe13a0dfab0f86 /fs/nfs/super.c | |
parent | 88b5ed73bcd0f21e008b6e303a02c8b7cb1199f4 (diff) |
NFSv4: Fix the 'nolock' option regression
NFSv4 should just ignore the 'nolock' option. It is an NFSv2/v3 thing...
This fixes the Oops in http://bugzilla.kernel.org/show_bug.cgi?id=13330
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/super.c')
-rw-r--r-- | fs/nfs/super.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 26127b69a275..98b47d17740a 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c | |||
@@ -2240,6 +2240,11 @@ static void nfs4_fill_super(struct super_block *sb) | |||
2240 | nfs_initialise_sb(sb); | 2240 | nfs_initialise_sb(sb); |
2241 | } | 2241 | } |
2242 | 2242 | ||
2243 | static void nfs4_validate_mount_flags(struct nfs_parsed_mount_data *args) | ||
2244 | { | ||
2245 | args->flags &= ~(NFS_MOUNT_NONLM|NFS_MOUNT_NOACL|NFS_MOUNT_VER3); | ||
2246 | } | ||
2247 | |||
2243 | /* | 2248 | /* |
2244 | * Validate NFSv4 mount options | 2249 | * Validate NFSv4 mount options |
2245 | */ | 2250 | */ |
@@ -2336,6 +2341,8 @@ static int nfs4_validate_mount_data(void *options, | |||
2336 | 2341 | ||
2337 | nfs_validate_transport_protocol(args); | 2342 | nfs_validate_transport_protocol(args); |
2338 | 2343 | ||
2344 | nfs4_validate_mount_flags(args); | ||
2345 | |||
2339 | if (args->auth_flavor_len > 1) | 2346 | if (args->auth_flavor_len > 1) |
2340 | goto out_inval_auth; | 2347 | goto out_inval_auth; |
2341 | 2348 | ||