From: Olga Kornievskaia <olga.kornievskaia@gmail.com>
To: trond.myklebust@hammerspace.com, anna.schumaker@netapp.com
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH v1 00/12] Handling session trunking group membership
Date: Mon, 20 Jun 2022 11:23:55 -0400 [thread overview]
Message-ID: <20220620152407.63127-1-olga.kornievskaia@gmail.com> (raw)
From: Olga Kornievskaia <kolga@netapp.com>
Client needs to handle session trunking group membership changes that
occur when a particular server leaves an established trunked group.
This results in a server sending a NFS4ERR_BAD_SESSION because that
server no longer has session's state.
This series proposes to deal with that situation in two fold. First
on DESTROY_SESSION, the client will offline all trunked connections
it has established to the server. Then on CREATE_SESSION it will
iterate thru offlined connections only and probe them again for
session trunking. If session trunking conditions still hold then
such transport would be made active again otherwise it will be
deleted from the trunked group.
Olga Kornievskaia (12):
SUNRPC expose functions for offline remote xprt functionality
SUNRPC add function to offline remove trunkable transports
NFSv4.1 offline trunkable transports on DESTROY_SESSION
SUNRPC create an iterator to list only OFFLINE xprts
SUNRPC parameterize rpc_clnt_iterate_for_each_xprt with iterator init
function
SUNRPC enable back offline transports in trunking discovery
SUNRPC create an rpc function that allows xprt removal from rpc_clnt
NFSv4.1 remove xprt from xprt_switch if session trunking test fails
SUNRPC restructure rpc_clnt_setup_test_and_add_xprt
SUNRPC export xprt_iter_rewind function
SUNRPC create a function that probes only offline transports
NFSv4.1 probe offline transports for trunking on session creation
fs/nfs/nfs4proc.c | 18 ++-
include/linux/sunrpc/clnt.h | 7 +-
include/linux/sunrpc/xprt.h | 3 +
include/linux/sunrpc/xprtmultipath.h | 7 +-
net/sunrpc/clnt.c | 204 ++++++++++++++++++++++-----
net/sunrpc/debugfs.c | 3 +-
net/sunrpc/stats.c | 2 +-
net/sunrpc/sysfs.c | 28 +---
net/sunrpc/xprt.c | 35 +++++
net/sunrpc/xprtmultipath.c | 109 +++++++++++---
10 files changed, 338 insertions(+), 78 deletions(-)
--
2.27.0
next reply other threads:[~2022-06-20 15:25 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-20 15:23 Olga Kornievskaia [this message]
2022-06-20 15:23 ` [PATCH v1 01/12] SUNRPC expose functions for offline remote xprt functionality Olga Kornievskaia
2022-07-12 15:12 ` Trond Myklebust
2022-07-12 15:57 ` Olga Kornievskaia
2022-06-20 15:23 ` [PATCH v1 02/12] SUNRPC add function to offline remove trunkable transports Olga Kornievskaia
2022-07-12 15:24 ` Trond Myklebust
2022-07-12 16:07 ` Olga Kornievskaia
2022-06-20 15:23 ` [PATCH v1 03/12] NFSv4.1 offline trunkable transports on DESTROY_SESSION Olga Kornievskaia
2022-06-20 15:23 ` [PATCH v1 04/12] SUNRPC create an iterator to list only OFFLINE xprts Olga Kornievskaia
2022-06-20 15:24 ` [PATCH v1 05/12] SUNRPC parameterize rpc_clnt_iterate_for_each_xprt with iterator init function Olga Kornievskaia
2022-07-12 15:43 ` Trond Myklebust
2022-06-20 15:24 ` [PATCH v1 06/12] SUNRPC enable back offline transports in trunking discovery Olga Kornievskaia
2022-06-20 15:24 ` [PATCH v1 07/12] SUNRPC create an rpc function that allows xprt removal from rpc_clnt Olga Kornievskaia
2022-06-20 15:24 ` [PATCH v1 08/12] NFSv4.1 remove xprt from xprt_switch if session trunking test fails Olga Kornievskaia
2022-06-20 15:24 ` [PATCH v1 09/12] SUNRPC restructure rpc_clnt_setup_test_and_add_xprt Olga Kornievskaia
2022-06-20 15:24 ` [PATCH v1 10/12] SUNRPC export xprt_iter_rewind function Olga Kornievskaia
2022-06-20 15:24 ` [PATCH v1 11/12] SUNRPC create a function that probes only offline transports Olga Kornievskaia
2022-07-12 16:00 ` Trond Myklebust
2022-06-20 15:24 ` [PATCH v1 12/12] NFSv4.1 probe offline transports for trunking on session creation Olga Kornievskaia
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=20220620152407.63127-1-olga.kornievskaia@gmail.com \
--to=olga.kornievskaia@gmail.com \
--cc=anna.schumaker@netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=trond.myklebust@hammerspace.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.