linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: trondmy@kernel.org
To: Anna Schumaker <Anna.Schumaker@netapp.com>
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH v2 0/5] Improve failover times for pNFS mirroring
Date: Sat, 19 Aug 2023 17:32:20 -0400	[thread overview]
Message-ID: <20230819213225.731214-1-trondmy@kernel.org> (raw)

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

-- 
2.41.0


             reply	other threads:[~2023-08-20  0:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-19 21:32 trondmy [this message]
2023-08-19 21:32 ` [PATCH v2 1/5] SUNRPC: Set the TCP_SYNCNT to match the socket timeout trondmy
2023-08-19 21:32   ` [PATCH v2 2/5] SUNRPC: Refactor and simplify connect timeout trondmy
2023-08-19 21:32     ` [PATCH v2 3/5] SUNRPC: Allow specification of TCP client connect timeout at setup trondmy
2023-08-19 21:32       ` [PATCH v2 4/5] SUNRPC: Don't override connect timeouts in rpc_clnt_add_xprt() trondmy
2023-08-19 21:32         ` [PATCH v2 5/5] NFS/pNFS: Set the connect timeout for the pNFS flexfiles driver trondmy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230819213225.731214-1-trondmy@kernel.org \
    --to=trondmy@kernel.org \
    --cc=Anna.Schumaker@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).