mbox series

[v2,0/5] Improve failover times for pNFS mirroring

Message ID 20230819213225.731214-1-trondmy@kernel.org (mailing list archive)
Headers show
Series Improve failover times for pNFS mirroring | expand

Message

Trond Myklebust Aug. 19, 2023, 9:32 p.m. UTC
From: Trond Myklebust <trond.myklebust@hammerspace.com>

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(-)