Re: [PATCH 1/2] nfs: hornor timeo and retrans option when mounting NFSv3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2021-03-22 at 13:29 +0800, Eryu Guan wrote:
> Mounting NFSv3 uses default timeout parameters specified by underlying
> sunrpc transport, and mount options like 'timeo' and 'retrans', unlike
> NFSv4, are not honored.
> 
> But sometimes we want to set non-default timeout value when mounting
> NFSv3, so pass 'timeo' and 'retrans' to nfs_mount() and fill the
> 'timeout' field of struct rpc_create_args before creating RPC
> connection. This is also consistent with NFSv4 behavior.
> 
> Note that this only sets the timeout value of rpc connection to mountd,
> but the timeout of rpcbind connection should be set as well. A later
> patch will fix the rpcbind part.
> 
> Signed-off-by: Eryu Guan <eguan@xxxxxxxxxxxxxxxxx>
> ---
>  fs/nfs/internal.h   |  2 +-
>  fs/nfs/mount_clnt.c | 12 +++++++-----
>  fs/nfs/super.c      |  2 +-
>  3 files changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
> index 7b644d6c09e4..cf0d7db24d44 100644
> --- a/fs/nfs/internal.h
> +++ b/fs/nfs/internal.h
> @@ -180,7 +180,7 @@ struct nfs_mount_request {
>         struct net              *net;
>  };
>  
> -extern int nfs_mount(struct nfs_mount_request *info);
> +extern int nfs_mount(struct nfs_mount_request *info, int timeo, int
> retrans);
>  extern void nfs_umount(const struct nfs_mount_request *info);
>  
>  /* client.c */
> diff --git a/fs/nfs/mount_clnt.c b/fs/nfs/mount_clnt.c
> index dda5c3e65d8d..248319254672 100644
> --- a/fs/nfs/mount_clnt.c
> +++ b/fs/nfs/mount_clnt.c
> @@ -137,13 +137,13 @@ struct mnt_fhstatus {
>   * nfs_mount - Obtain an NFS file handle for the given host and path
>   * @info: pointer to mount request arguments
>   *
> - * Uses default timeout parameters specified by underlying transport.
> On
> - * successful return, the auth_flavs list and auth_flav_len will be
> populated
> - * with the list from the server or a faked-up list if the server
> didn't
> - * provide one.
> + * Uses timeout parameters specified by caller. On successful return,
> the
> + * auth_flavs list and auth_flav_len will be populated with the list
> from the
> + * server or a faked-up list if the server didn't provide one.
>   */
> -int nfs_mount(struct nfs_mount_request *info)
> +int nfs_mount(struct nfs_mount_request *info, int timeo, int retrans)


fs/nfs/mount_clnt.c:145: warning: Function parameter or member 'timeo'
not described in 'nfs_mount'
fs/nfs/mount_clnt.c:145: warning: Function parameter or member
'retrans' not described in 'nfs_mount'


-- 
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@xxxxxxxxxxxxxxx






[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux