NFS: Add a mount option to specify number of TCP connections to use
Allow the user to specify that the client should use multiple connections to the server. For the moment, this functionality will be limited to TCP and to NFSv4.x (x>0). Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
parent
612b41f808
commit
28cc5cd8c6
|
@ -123,6 +123,7 @@ struct nfs_parsed_mount_data {
|
|||
char *export_path;
|
||||
int port;
|
||||
unsigned short protocol;
|
||||
unsigned short nconnect;
|
||||
} nfs_server;
|
||||
|
||||
void *lsm_opts;
|
||||
|
|
|
@ -77,6 +77,8 @@
|
|||
#define NFS_DEFAULT_VERSION 2
|
||||
#endif
|
||||
|
||||
#define NFS_MAX_CONNECTIONS 16
|
||||
|
||||
enum {
|
||||
/* Mount options that take no arguments */
|
||||
Opt_soft, Opt_softerr, Opt_hard,
|
||||
|
@ -108,6 +110,7 @@ enum {
|
|||
Opt_nfsvers,
|
||||
Opt_sec, Opt_proto, Opt_mountproto, Opt_mounthost,
|
||||
Opt_addr, Opt_mountaddr, Opt_clientaddr,
|
||||
Opt_nconnect,
|
||||
Opt_lookupcache,
|
||||
Opt_fscache_uniq,
|
||||
Opt_local_lock,
|
||||
|
@ -181,6 +184,8 @@ static const match_table_t nfs_mount_option_tokens = {
|
|||
{ Opt_mounthost, "mounthost=%s" },
|
||||
{ Opt_mountaddr, "mountaddr=%s" },
|
||||
|
||||
{ Opt_nconnect, "nconnect=%s" },
|
||||
|
||||
{ Opt_lookupcache, "lookupcache=%s" },
|
||||
{ Opt_fscache_uniq, "fsc=%s" },
|
||||
{ Opt_local_lock, "local_lock=%s" },
|
||||
|
@ -1549,6 +1554,11 @@ static int nfs_parse_mount_options(char *raw,
|
|||
if (mnt->mount_server.addrlen == 0)
|
||||
goto out_invalid_address;
|
||||
break;
|
||||
case Opt_nconnect:
|
||||
if (nfs_get_option_ul_bound(args, &option, 1, NFS_MAX_CONNECTIONS))
|
||||
goto out_invalid_value;
|
||||
mnt->nfs_server.nconnect = option;
|
||||
break;
|
||||
case Opt_lookupcache:
|
||||
string = match_strdup(args);
|
||||
if (string == NULL)
|
||||
|
|
Loading…
Reference in New Issue