1 diff -urNp linux-1380/fs/nfs/inode.c linux-1391/fs/nfs/inode.c
2 --- linux-1380/fs/nfs/inode.c
3 +++ linux-1391/fs/nfs/inode.c
4 @@ -418,10 +418,16 @@ nfs_read_super(struct super_block *sb, v
7 /* Work out a lot of parameters */
8 - if (data->rsize == 0)
9 + if (data->rsize == 0) {
10 server->rsize = nfs_block_size(fsinfo.rtpref, NULL);
11 - if (data->wsize == 0)
12 + if (server->rsize > NFS_DEF_FILE_IO_BUFFER_SIZE)
13 + server->rsize = NFS_DEF_FILE_IO_BUFFER_SIZE;
15 + if (data->wsize == 0) {
16 server->wsize = nfs_block_size(fsinfo.wtpref, NULL);
17 + if (server->wsize > NFS_DEF_FILE_IO_BUFFER_SIZE)
18 + server->wsize = NFS_DEF_FILE_IO_BUFFER_SIZE;
20 /* NFSv3: we don't have bsize, but rather rtmult and wtmult... */
22 fsinfo.bsize = (fsinfo.rtmult>fsinfo.wtmult) ? fsinfo.rtmult : fsinfo.wtmult;