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, Mar 22, 2021 at 03:53:01PM +0000, Trond Myklebust wrote:
> 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'

Fixed in v2, thanks!

Eryu

> 
> 
> -- 
> 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