2023-08-20 00:34:15

by Trond Myklebust

[permalink] [raw]
Subject: [PATCH v2 0/5] Improve failover times for pNFS mirroring

From: Trond Myklebust <[email protected]>

When a data server goes down, it can currently take 3 minutes for the
RPC connection attempt to give up, and return control to the NFS layer.
If the file is mirrored, we usually want to fail the attempt to the
downed data server much earlier, and retry using one of the other
mirrors.
This patchset sets the connect timeout to be closer to the I/O timeout
value for the case of pNFS to NFSv3 data servers.

v2:
- Don't override connect timeouts in rpc_clnt_add_xprt
- Don't override specified connect timeouts at setup

Trond Myklebust (5):
SUNRPC: Set the TCP_SYNCNT to match the socket timeout
SUNRPC: Refactor and simplify connect timeout
SUNRPC: Allow specification of TCP client connect timeout at setup
SUNRPC: Don't override connect timeouts in rpc_clnt_add_xprt()
NFS/pNFS: Set the connect timeout for the pNFS flexfiles driver

fs/nfs/client.c | 2 ++
fs/nfs/internal.h | 2 ++
fs/nfs/nfs3client.c | 3 ++
fs/nfs/pnfs_nfs.c | 3 ++
include/linux/sunrpc/clnt.h | 2 ++
include/linux/sunrpc/xprt.h | 2 ++
net/sunrpc/clnt.c | 7 +++++
net/sunrpc/xprtsock.c | 55 +++++++++++++++++++++++++++----------
8 files changed, 61 insertions(+), 15 deletions(-)

--
2.41.0