Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

NFSv4.1 respect server's max size in CREATE_SESSION

Currently client doesn't respect max sizes server returns in CREATE_SESSION.
nfs4_session_set_rwsize() gets called and server->rsize, server->wsize are 0
so they never get set to the sizes returned by the server.

Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>

authored by

Olga Kornievskaia and committed by
Anna Schumaker
03385332 63513232

+2 -2
+2 -2
fs/nfs/nfs4client.c
··· 1023 1023 server_resp_sz = sess->fc_attrs.max_resp_sz - nfs41_maxread_overhead; 1024 1024 server_rqst_sz = sess->fc_attrs.max_rqst_sz - nfs41_maxwrite_overhead; 1025 1025 1026 - if (server->rsize > server_resp_sz) 1026 + if (!server->rsize || server->rsize > server_resp_sz) 1027 1027 server->rsize = server_resp_sz; 1028 - if (server->wsize > server_rqst_sz) 1028 + if (!server->wsize || server->wsize > server_rqst_sz) 1029 1029 server->wsize = server_rqst_sz; 1030 1030 #endif /* CONFIG_NFS_V4_1 */ 1031 1031 }