linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC Version 1 0/6] Request for Comment: NFS4.1 Session Trunking
@ 2016-02-05 21:08 andros
  2016-02-05 21:08 ` [PATCH RFC Version 1 1/6] SUNRPC fix rpc_clnt_add_xprt setup return andros
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: andros @ 2016-02-05 21:08 UTC (permalink / raw)
  To: trond.myklebust; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

This early patch set implements NFSv4.1 session trunking utilizing Tronds
multipath feature.  This works against an upstream linux server with
two NICs as the EXCHANGE_ID info is the same for both NICs.

Unmodified code will create a new nfs_client structure for the mount as
nfs_match_client fails due to the different full server address.
Tunking is detected by comparing the eir_server_owner.major/minor/scope
and the eir_server_impl_id to an existing mount. When trunking is detected,
the 2nd mount point uses the existing  (not new) nfs_client for the new
mount point.

When trunking is detected, this patch set adds an rpc_xprt for the new server
address to the exisiting mount, calls BIND_CONN_TO_SESSION, and destroys
the new clientid (no second mount).

We then get round robin use of the two NICs off one mount point all
using a single session.


Is using mount a good way to setup NFSv4.1 session trunking?

The first two patches fix issues with the multipath code.

SUNRPC: allow rpc_xprt_switch_add_xprt to add xprts on the same net
    This patch adds a flag to allow multipathing within the origial net.
    I don't understand why this was not allowed, so I expect a different
    solution for this issue.


Comments please.

Thanks

-->Andy

Andy Adamson (6):
  SUNRPC fix rpc_clnt_add_xprt setup return
  SUNRPC fix rpc_clnt_xprt_iter_init infinite loop
  SUNRPC: allow rpc_xprt_switch_add_xprt to add xprts on the same net
  NFS session trunking support: add trunk xprt to nfs4.1 mount
  NFS add callback_ops to nfs4_proc_bind_conn_to_session_callback
  NFS schedule bind_conn_to_session for new NFSv4.1 transport

 fs/nfs/client.c                      |  2 ++
 fs/nfs/nfs4client.c                  | 29 +++++++++++++++++++++++++++--
 fs/nfs/nfs4proc.c                    | 10 ++++++++++
 include/linux/nfs_fs_sb.h            |  1 +
 include/linux/sunrpc/clnt.h          |  1 +
 include/linux/sunrpc/xprtmultipath.h |  6 +++++-
 net/sunrpc/clnt.c                    | 20 +++++++++++++-------
 net/sunrpc/xprtmultipath.c           | 35 +++++++++++++++++++++++++++++++++--
 8 files changed, 92 insertions(+), 12 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-02-08 18:07 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-05 21:08 [PATCH RFC Version 1 0/6] Request for Comment: NFS4.1 Session Trunking andros
2016-02-05 21:08 ` [PATCH RFC Version 1 1/6] SUNRPC fix rpc_clnt_add_xprt setup return andros
2016-02-05 23:21   ` Trond Myklebust
2016-02-05 21:08 ` [PATCH RFC Version 1 2/6] SUNRPC fix rpc_clnt_xprt_iter_init infinite loop andros
2016-02-06  1:18   ` Trond Myklebust
2016-02-05 21:08 ` [PATCH RFC Version 1 3/6] SUNRPC: allow rpc_xprt_switch_add_xprt to add xprts on the same net andros
2016-02-05 23:33   ` Trond Myklebust
2016-02-05 21:08 ` [PATCH RFC Version 1 4/6] NFS session trunking support: add trunk xprt to nfs4.1 mount andros
2016-02-06  1:03   ` Trond Myklebust
2016-02-05 21:08 ` [PATCH RFC Version 1 5/6] NFS add callback_ops to nfs4_proc_bind_conn_to_session_callback andros
2016-02-06  1:05   ` Trond Myklebust
2016-02-05 21:08 ` [PATCH RFC Version 1 6/6] NFS schedule bind_conn_to_session for new NFSv4.1 transport andros
2016-02-06  1:04   ` Trond Myklebust
2016-02-08 17:48     ` Adamson, Andy
2016-02-08 18:07       ` Trond Myklebust
2016-02-05 21:41 ` [PATCH RFC Version 1 0/6] Request for Comment: NFS4.1 Session Trunking Matt Benjamin

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