Re: [PATCH] NFSD: Remove unused function parameter

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

 



On Mon, 30 Sep 2024, cel@xxxxxxxxxx wrote:
> From: Chuck Lever <chuck.lever@xxxxxxxxxx>
> 
> Clean up: Commit 65294c1f2c5e ("nfsd: add a new struct file caching
> facility to nfsd") moved the fh_verify() call site out of
> nfsd_open(). That was the only user of nfsd_open's @rqstp parameter,
> so that parameter can be removed.

The above seemed strange to me.  Why would nfsd_open() not need
fh_verify() any more?

What actually happens was that part of nfsd_open() (including the
fh_verify() call) was factored out into __nfsd_open(), and that function
was given the same parameters as nfsd_open(), but didn't use one of
them.

Reviewed-by: NeilBrown <neilb@xxxxxxx>

Thanks,
NeilBrown


> 
> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
> ---
>  fs/nfsd/filecache.c |  3 +--
>  fs/nfsd/vfs.c       | 11 ++++-------
>  fs/nfsd/vfs.h       |  4 ++--
>  3 files changed, 7 insertions(+), 11 deletions(-)
> 
> diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c
> index 19bb88c7eebd..8158406bac18 100644
> --- a/fs/nfsd/filecache.c
> +++ b/fs/nfsd/filecache.c
> @@ -1121,8 +1121,7 @@ nfsd_file_do_acquire(struct svc_rqst *rqstp, struct net *net,
>  			status = nfs_ok;
>  			trace_nfsd_file_opened(nf, status);
>  		} else {
> -			ret = nfsd_open_verified(rqstp, fhp, may_flags,
> -						 &nf->nf_file);
> +			ret = nfsd_open_verified(fhp, may_flags, &nf->nf_file);
>  			if (ret == -EOPENSTALE && stale_retry) {
>  				stale_retry = false;
>  				nfsd_file_unhash(nf);
> diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
> index 22325b590e17..d0bf4ffa5543 100644
> --- a/fs/nfsd/vfs.c
> +++ b/fs/nfsd/vfs.c
> @@ -861,8 +861,7 @@ int nfsd_open_break_lease(struct inode *inode, int access)
>   * N.B. After this call fhp needs an fh_put
>   */
>  static int
> -__nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
> -			int may_flags, struct file **filp)
> +__nfsd_open(struct svc_fh *fhp, umode_t type, int may_flags, struct file **filp)
>  {
>  	struct path	path;
>  	struct inode	*inode;
> @@ -937,7 +936,7 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
>  retry:
>  	err = fh_verify(rqstp, fhp, type, may_flags);
>  	if (!err) {
> -		host_err = __nfsd_open(rqstp, fhp, type, may_flags, filp);
> +		host_err = __nfsd_open(fhp, type, may_flags, filp);
>  		if (host_err == -EOPENSTALE && !retried) {
>  			retried = true;
>  			fh_put(fhp);
> @@ -950,7 +949,6 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
>  
>  /**
>   * nfsd_open_verified - Open a regular file for the filecache
> - * @rqstp: RPC request
>   * @fhp: NFS filehandle of the file to open
>   * @may_flags: internal permission flags
>   * @filp: OUT: open "struct file *"
> @@ -958,10 +956,9 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
>   * Returns zero on success, or a negative errno value.
>   */
>  int
> -nfsd_open_verified(struct svc_rqst *rqstp, struct svc_fh *fhp, int may_flags,
> -		   struct file **filp)
> +nfsd_open_verified(struct svc_fh *fhp, int may_flags, struct file **filp)
>  {
> -	return __nfsd_open(rqstp, fhp, S_IFREG, may_flags, filp);
> +	return __nfsd_open(fhp, S_IFREG, may_flags, filp);
>  }
>  
>  /*
> diff --git a/fs/nfsd/vfs.h b/fs/nfsd/vfs.h
> index 3ff146522556..854fb95dfdca 100644
> --- a/fs/nfsd/vfs.h
> +++ b/fs/nfsd/vfs.h
> @@ -114,8 +114,8 @@ __be32		nfsd_setxattr(struct svc_rqst *rqstp, struct svc_fh *fhp,
>  int 		nfsd_open_break_lease(struct inode *, int);
>  __be32		nfsd_open(struct svc_rqst *, struct svc_fh *, umode_t,
>  				int, struct file **);
> -int		nfsd_open_verified(struct svc_rqst *rqstp, struct svc_fh *fhp,
> -				   int may_flags, struct file **filp);
> +int		nfsd_open_verified(struct svc_fh *fhp, int may_flags,
> +				struct file **filp);
>  __be32		nfsd_splice_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
>  				struct file *file, loff_t offset,
>  				unsigned long *count,
> -- 
> 2.46.2
> 
> 






[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