diff mbox series

nfsd: set RPC_CLNT_CREATE_NO_IDLE_TIMEOUT on callback client

Message ID 20210221211347.3429-1-timo@rothenpieler.org (mailing list archive)
State New, archived
Headers show
Series nfsd: set RPC_CLNT_CREATE_NO_IDLE_TIMEOUT on callback client | expand

Commit Message

Timo Rothenpieler Feb. 21, 2021, 9:13 p.m. UTC
This tackles an issue where the callback client times out from
inactivity, causing operations like server side copy to never return on
the client side.
I was observing that issue frequently on my RDMA connected clients, it
does not seem to manifest on tcp connected clients.

However, it does not fix the actual issue of the callback channel
not getting re-established and the client being stuck in the call
forever. It just makes it a lot less likely to occur, as long as no
other circumstances cause the callback channel to be disconnected.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
---
 fs/nfsd/nfs4callback.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index 052be5bf9ef5..75dacb7878b8 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -897,7 +897,7 @@  static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *c
 		.timeout	= &timeparms,
 		.program	= &cb_program,
 		.version	= 1,
-		.flags		= (RPC_CLNT_CREATE_NOPING | RPC_CLNT_CREATE_QUIET),
+		.flags		= (RPC_CLNT_CREATE_NOPING | RPC_CLNT_CREATE_QUIET | RPC_CLNT_CREATE_NO_IDLE_TIMEOUT),
 		.cred		= current_cred(),
 	};
 	struct rpc_clnt *client;