2021-06-16 01:12:02

by Olga Kornievskaia

[permalink] [raw]
Subject: [PATCH v3 0/6] do not collapse trunkable transports

From: Olga Kornievskaia <[email protected]>

This patch series attempts to allow for new mounts that are to the
same server (ie nfsv4.1+ session trunkable servers) but different
network addresses to use connections associated with those mounts
but still use the same client structure.

A new mount options, "max_connect", controls how many extra transports
can be added to an existing client, with maximum of 16 such transports.

v3:
-- add a new counter to xprt_switch to keep track of transports with
unique addresses
-- control of enforcing the limit is moved into the sunrpc layer
into the function rpc_clnt_test_and_add_xprt
-- after a trunking transport is created if mount request asked for
nconnect connections, create as many as the original/first mount had

Olga Kornievskaia (6):
SUNRPC keep track of number of transports to unique addresses
SUNRPC add xps_nunique_destaddr_xprts to xprt_switch_info in sysfs
NFSv4 introduce max_connect mount options
SUNRPC enforce creation of no more than max_connect xprts
NFSv4 add network transport when session trunking is detected
NFSv4 allow for nconnect value of trunkable transport

fs/nfs/client.c | 2 ++
fs/nfs/fs_context.c | 7 ++++
fs/nfs/internal.h | 2 ++
fs/nfs/nfs4client.c | 50 ++++++++++++++++++++++++++--
fs/nfs/super.c | 2 ++
include/linux/nfs_fs.h | 5 +++
include/linux/nfs_fs_sb.h | 1 +
include/linux/sunrpc/clnt.h | 2 ++
include/linux/sunrpc/xprtmultipath.h | 1 +
net/sunrpc/clnt.c | 11 +++++-
net/sunrpc/sysfs.c | 4 ++-
net/sunrpc/xprtmultipath.c | 1 +
12 files changed, 84 insertions(+), 4 deletions(-)

--
2.27.0


2021-07-09 14:25:57

by Olga Kornievskaia

[permalink] [raw]
Subject: Re: [PATCH v3 0/6] do not collapse trunkable transports

On Tue, Jun 15, 2021 at 9:10 PM Olga Kornievskaia
<[email protected]> wrote:
>
> From: Olga Kornievskaia <[email protected]>
>
> This patch series attempts to allow for new mounts that are to the
> same server (ie nfsv4.1+ session trunkable servers) but different
> network addresses to use connections associated with those mounts
> but still use the same client structure.
>
> A new mount options, "max_connect", controls how many extra transports
> can be added to an existing client, with maximum of 16 such transports.
>
> v3:
> -- add a new counter to xprt_switch to keep track of transports with
> unique addresses
> -- control of enforcing the limit is moved into the sunrpc layer
> into the function rpc_clnt_test_and_add_xprt
> -- after a trunking transport is created if mount request asked for
> nconnect connections, create as many as the original/first mount had

Any comments on/objections to this version?

>
> Olga Kornievskaia (6):
> SUNRPC keep track of number of transports to unique addresses
> SUNRPC add xps_nunique_destaddr_xprts to xprt_switch_info in sysfs
> NFSv4 introduce max_connect mount options
> SUNRPC enforce creation of no more than max_connect xprts
> NFSv4 add network transport when session trunking is detected
> NFSv4 allow for nconnect value of trunkable transport
>
> fs/nfs/client.c | 2 ++
> fs/nfs/fs_context.c | 7 ++++
> fs/nfs/internal.h | 2 ++
> fs/nfs/nfs4client.c | 50 ++++++++++++++++++++++++++--
> fs/nfs/super.c | 2 ++
> include/linux/nfs_fs.h | 5 +++
> include/linux/nfs_fs_sb.h | 1 +
> include/linux/sunrpc/clnt.h | 2 ++
> include/linux/sunrpc/xprtmultipath.h | 1 +
> net/sunrpc/clnt.c | 11 +++++-
> net/sunrpc/sysfs.c | 4 ++-
> net/sunrpc/xprtmultipath.c | 1 +
> 12 files changed, 84 insertions(+), 4 deletions(-)
>
> --
> 2.27.0
>