aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2008-08-15 16:59:14 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-10-07 17:23:56 -0400
commitff3525a539f5cc81970d08304bdedb4ffba984da (patch)
treeec1595221de085b7f9527ad99652ca51ed3f9512
parent4eec952e42314b53e48fef1f54dd89cbf9789734 (diff)
NFS: Don't apply NFS_MOUNT_FLAGMASK to text-based mounts
The point of introducing text-based mounts was to allow us to add functionality without having to worry about legacy binary mount formats. The mask should be there in order to ensure that binary formats don't start enabling features that they cannot support. There is no justification for applying it to the text mount path. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/client.c4
-rw-r--r--fs/nfs/super.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 2accb67427c6..7547600b6174 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -675,7 +675,7 @@ static int nfs_init_server(struct nfs_server *server,
675 server->nfs_client = clp; 675 server->nfs_client = clp;
676 676
677 /* Initialise the client representation from the mount data */ 677 /* Initialise the client representation from the mount data */
678 server->flags = data->flags & NFS_MOUNT_FLAGMASK; 678 server->flags = data->flags;
679 679
680 if (data->rsize) 680 if (data->rsize)
681 server->rsize = nfs_block_size(data->rsize, NULL); 681 server->rsize = nfs_block_size(data->rsize, NULL);
@@ -1072,7 +1072,7 @@ static int nfs4_init_server(struct nfs_server *server,
1072 goto error; 1072 goto error;
1073 1073
1074 /* Initialise the client representation from the mount data */ 1074 /* Initialise the client representation from the mount data */
1075 server->flags = data->flags & NFS_MOUNT_FLAGMASK; 1075 server->flags = data->flags;
1076 server->caps |= NFS_CAP_ATOMIC_OPEN; 1076 server->caps |= NFS_CAP_ATOMIC_OPEN;
1077 1077
1078 if (data->rsize) 1078 if (data->rsize)
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index e527fab40419..81686aeb1b5d 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -1550,7 +1550,7 @@ static int nfs_validate_mount_data(void *options,
1550 * Translate to nfs_parsed_mount_data, which nfs_fill_super 1550 * Translate to nfs_parsed_mount_data, which nfs_fill_super
1551 * can deal with. 1551 * can deal with.
1552 */ 1552 */
1553 args->flags = data->flags; 1553 args->flags = data->flags & NFS_MOUNT_FLAGMASK;
1554 args->rsize = data->rsize; 1554 args->rsize = data->rsize;
1555 args->wsize = data->wsize; 1555 args->wsize = data->wsize;
1556 args->timeo = data->timeo; 1556 args->timeo = data->timeo;