NFS: enable nconnect for RDMA

It appears that in certain cases, RDMA capable transports can benefit
from the ability to establish multiple connections to increase their
throughput. This patch therefore enables the use of the "nconnect" mount
option for those use cases.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
Trond Myklebust 2024-02-13 13:31:47 -05:00
parent 0460253913
commit b326df4a8e
2 changed files with 3 additions and 0 deletions

View File

@ -111,6 +111,7 @@ struct nfs_client *nfs3_set_ds_client(struct nfs_server *mds_srv,
cl_init.hostname = buf; cl_init.hostname = buf;
switch (ds_proto) { switch (ds_proto) {
case XPRT_TRANSPORT_RDMA:
case XPRT_TRANSPORT_TCP: case XPRT_TRANSPORT_TCP:
case XPRT_TRANSPORT_TCP_TLS: case XPRT_TRANSPORT_TCP_TLS:
if (mds_clp->cl_nconnect > 1) if (mds_clp->cl_nconnect > 1)

View File

@ -924,6 +924,7 @@ static int nfs4_set_client(struct nfs_server *server,
else else
cl_init.max_connect = max_connect; cl_init.max_connect = max_connect;
switch (proto) { switch (proto) {
case XPRT_TRANSPORT_RDMA:
case XPRT_TRANSPORT_TCP: case XPRT_TRANSPORT_TCP:
case XPRT_TRANSPORT_TCP_TLS: case XPRT_TRANSPORT_TCP_TLS:
cl_init.nconnect = nconnect; cl_init.nconnect = nconnect;
@ -1000,6 +1001,7 @@ struct nfs_client *nfs4_set_ds_client(struct nfs_server *mds_srv,
cl_init.hostname = buf; cl_init.hostname = buf;
switch (ds_proto) { switch (ds_proto) {
case XPRT_TRANSPORT_RDMA:
case XPRT_TRANSPORT_TCP: case XPRT_TRANSPORT_TCP:
case XPRT_TRANSPORT_TCP_TLS: case XPRT_TRANSPORT_TCP_TLS:
if (mds_clp->cl_nconnect > 1) { if (mds_clp->cl_nconnect > 1) {