From: Andy Adamson <andros@xxxxxxxxxx> Responded to version-7 comments: - Removed call to rpc_task_release_client from rpc_task_set_client - Don't leak the rpc_xprt_switch to the NFS layer Added wrappers in net/sunrpc/clnt.c including a new rpc_clnt_add_xprt setup function to call into the NFS layer. - Check if a transport has already been added to the xprt switch This is done in rpc_xprt_switch_add_xprt. Also done in the first new rpc_clnt_add_xprt setup function to avoid an unnecessary EXCHANGE_ID. - Added rpc_xprt_switch test in nfs_match_client so we find an nfs_client that is using an rpc_xprt_switch address. Also: - The new rpc_clnt_add_xprt setup function returns 1 and added a call to rpc_xprt_switch_add_xprt to the session trunk case of nfs4_exchange_id_done. - Saved the mount exchange id verifier in cl_confirm and use it in session trunking exchange id's Testing: pynfs server configured with pnfs mulitpath data servers - tested working, unconfigured, and repeated ipv4 multipath addresses Andy Adamson (12): NFS setup async exchange_id NFS refactor nfs4_match_clientids NFS refactor nfs4_check_serverowner_major_id NFS detect session trunking SUNRPC remove rpc_task_release_client from rpc_task_set_client SUNRPC rpc_clnt_xprt_switch_put SUNRPC rpc_clnt_xprt_switch_add_xprt SUNRPC search xprt switch for sockaddr SUNRPC: rpc_clnt_add_xprt setup function for NFS layer NFS add xprt switch addrs test to match client NFS test session trunking with exchange id NFS pnfs data server multipath session trunking fs/nfs/client.c | 5 +- fs/nfs/internal.h | 3 + fs/nfs/nfs4_fs.h | 8 + fs/nfs/nfs4client.c | 114 ++++++++++++-- fs/nfs/nfs4proc.c | 294 +++++++++++++++++++++++++---------- fs/nfs/pnfs_nfs.c | 56 +++++-- include/linux/sunrpc/clnt.h | 17 ++ include/linux/sunrpc/xprtmultipath.h | 2 + net/sunrpc/clnt.c | 93 ++++++++++- net/sunrpc/xprtmultipath.c | 24 ++- 10 files changed, 502 insertions(+), 114 deletions(-) -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html