summaryrefslogtreecommitdiffstats
path: root/fs/nfs/client.c
diff options
context:
space:
mode:
authorTrond Myklebust2017-04-27 17:13:40 +0200
committerTrond Myklebust2019-07-06 20:54:50 +0200
commit6619079d05404cb32be29af329b87ac3b0ad4f96 (patch)
tree76d7bd7275a30e9758c20cbaacc21ae950a93157 /fs/nfs/client.c
parentNFS: Add a mount option to specify number of TCP connections to use (diff)
downloadkernel-qcow2-linux-6619079d05404cb32be29af329b87ac3b0ad4f96.tar.gz
kernel-qcow2-linux-6619079d05404cb32be29af329b87ac3b0ad4f96.tar.xz
kernel-qcow2-linux-6619079d05404cb32be29af329b87ac3b0ad4f96.zip
NFSv4: Allow multiple connections to NFSv4.x (x>0) servers
If the user specifies the -onconn=<number> mount option, and the transport protocol is TCP, then set up <number> connections to the server. The connections will all go to the same IP address. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/client.c')
-rw-r--r--fs/nfs/client.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index d7e4f0848e28..fa6953e56a71 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -175,6 +175,7 @@ struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_init)
clp->cl_rpcclient = ERR_PTR(-EINVAL);
clp->cl_proto = cl_init->proto;
+ clp->cl_nconnect = cl_init->nconnect;
clp->cl_net = get_net(cl_init->net);
clp->cl_principal = "*";
@@ -493,6 +494,7 @@ int nfs_create_rpc_client(struct nfs_client *clp,
struct rpc_create_args args = {
.net = clp->cl_net,
.protocol = clp->cl_proto,
+ .nconnect = clp->cl_nconnect,
.address = (struct sockaddr *)&clp->cl_addr,
.addrsize = clp->cl_addrlen,
.timeout = cl_init->timeparms,