Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99875249 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

NFSv4: Ensure that we disable the resend timeout for NFSv4



The spec states that the client should not resend requests because
the server will disconnect if it needs to drop an RPC request.

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 8a19a0b6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -590,6 +590,8 @@ int nfs_create_rpc_client(struct nfs_client *clp,

	if (test_bit(NFS_CS_DISCRTRY, &clp->cl_flags))
		args.flags |= RPC_CLNT_CREATE_DISCRTRY;
	if (test_bit(NFS_CS_NO_RETRANS_TIMEOUT, &clp->cl_flags))
		args.flags |= RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT;
	if (test_bit(NFS_CS_NORESVPORT, &clp->cl_flags))
		args.flags |= RPC_CLNT_CREATE_NONPRIVPORT;
	if (test_bit(NFS_CS_INFINITE_SLOTS, &clp->cl_flags))
+1 −0
Original line number Diff line number Diff line
@@ -368,6 +368,7 @@ struct nfs_client *nfs4_init_client(struct nfs_client *clp,
	if (clp->cl_minorversion != 0)
		__set_bit(NFS_CS_INFINITE_SLOTS, &clp->cl_flags);
	__set_bit(NFS_CS_DISCRTRY, &clp->cl_flags);
	__set_bit(NFS_CS_NO_RETRANS_TIMEOUT, &clp->cl_flags);
	error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_GSS_KRB5I);
	if (error == -EINVAL)
		error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_UNIX);
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ struct nfs_client {
#define NFS_CS_DISCRTRY		1		/* - disconnect on RPC retry */
#define NFS_CS_MIGRATION	2		/* - transparent state migr */
#define NFS_CS_INFINITE_SLOTS	3		/* - don't limit TCP slots */
#define NFS_CS_NO_RETRANS_TIMEOUT	4	/* - Disable retransmit timeouts */
	struct sockaddr_storage	cl_addr;	/* server identifier */
	size_t			cl_addrlen;
	char *			cl_hostname;	/* hostname of server */