Re: [PATCH] nfs: RPC_MAX_AUTH_SIZE is in bytes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 20, 2017 at 12:42:13PM -0400, bfields wrote:
> From: "J. Bruce Fields" <bfields@xxxxxxxxxx>
> 
> The units of RPC_MAX_AUTH_SIZE is bytes, not 4-byte words.  This causes
> the client to request a larger-than-necessary session replay slot size.

By the way, the client's still asking for 3428 bytes after that, which
seems high.  It's mostly the fault of NFS4_MAXLABELLEN, which is 2048.
I haven't spotted an improvement there yet.

Noticed because knfsd was hitting session drc cache limits much to early
and failing CREATE_SESSION (hence mount).  The main trouble is on the
server side, so I'm relaxing the limits there (and revisiting Trond's
dynamic slot renegotiation patches).  But I thought I should check for
any easy improvements here too.

--b.

> 
> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
> ---
>  fs/nfs/nfs4xdr.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
> index 37c8af003275..14ed9791ec9c 100644
> --- a/fs/nfs/nfs4xdr.c
> +++ b/fs/nfs/nfs4xdr.c
> @@ -1842,8 +1842,8 @@ static void encode_create_session(struct xdr_stream *xdr,
>  	 * Assumes OPEN is the biggest non-idempotent compound.
>  	 * 2 is the verifier.
>  	 */
> -	max_resp_sz_cached = (NFS4_dec_open_sz + RPC_REPHDRSIZE +
> -			      RPC_MAX_AUTH_SIZE + 2) * XDR_UNIT;
> +	max_resp_sz_cached = (NFS4_dec_open_sz + RPC_REPHDRSIZE + 2)
> +				* XDR_UNIT + RPC_MAX_AUTH_SIZE;
>  
>  	encode_op_hdr(xdr, OP_CREATE_SESSION, decode_create_session_maxsz, hdr);
>  	p = reserve_space(xdr, 16 + 2*28 + 20 + clnt->cl_nodelen + 12);
> -- 
> 2.13.5
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux