Re: [PATCH 5/8] xfs: remove xfs_attr_shortform_lookup

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

 



On Sun, Dec 17, 2023 at 06:03:47PM +0100, Christoph Hellwig wrote:
> xfs_attr_shortform_lookup is only used by xfs_attr_shortform_addname,
> which is much better served by calling xfs_attr_sf_findname.  Switch
> it over and remove xfs_attr_shortform_lookup.
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Looks ok,
Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx>

--D

> ---
>  fs/xfs/libxfs/xfs_attr.c      | 16 ++++------------
>  fs/xfs/libxfs/xfs_attr_leaf.c | 24 ------------------------
>  fs/xfs/libxfs/xfs_attr_leaf.h |  1 -
>  3 files changed, 4 insertions(+), 37 deletions(-)
> 
> diff --git a/fs/xfs/libxfs/xfs_attr.c b/fs/xfs/libxfs/xfs_attr.c
> index bcf8748cb1a333..d6173888ed0d56 100644
> --- a/fs/xfs/libxfs/xfs_attr.c
> +++ b/fs/xfs/libxfs/xfs_attr.c
> @@ -1070,13 +1070,7 @@ xfs_attr_shortform_addname(
>  
>  	trace_xfs_attr_sf_addname(args);
>  
> -	error = xfs_attr_shortform_lookup(args);
> -	switch (error) {
> -	case -ENOATTR:
> -		if (args->op_flags & XFS_DA_OP_REPLACE)
> -			return error;
> -		break;
> -	case -EEXIST:
> +	if (xfs_attr_sf_findname(args)) {
>  		if (!(args->op_flags & XFS_DA_OP_REPLACE))
>  			return error;
>  
> @@ -1091,11 +1085,9 @@ xfs_attr_shortform_addname(
>  		 * around.
>  		 */
>  		args->op_flags &= ~XFS_DA_OP_REPLACE;
> -		break;
> -	case 0:
> -		break;
> -	default:
> -		return error;
> +	} else {
> +		if (args->op_flags & XFS_DA_OP_REPLACE)
> +			return error;
>  	}
>  
>  	if (args->namelen >= XFS_ATTR_SF_ENTSIZE_MAX ||
> diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c
> index 7a623efd23a6a4..75c597805ffa8b 100644
> --- a/fs/xfs/libxfs/xfs_attr_leaf.c
> +++ b/fs/xfs/libxfs/xfs_attr_leaf.c
> @@ -837,30 +837,6 @@ xfs_attr_sf_removename(
>  	return 0;
>  }
>  
> -/*
> - * Look up a name in a shortform attribute list structure.
> - */
> -/*ARGSUSED*/
> -int
> -xfs_attr_shortform_lookup(
> -	struct xfs_da_args		*args)
> -{
> -	struct xfs_ifork		*ifp = &args->dp->i_af;
> -	struct xfs_attr_shortform	*sf = ifp->if_data;
> -	struct xfs_attr_sf_entry	*sfe;
> -	int				i;
> -
> -	ASSERT(ifp->if_format == XFS_DINODE_FMT_LOCAL);
> -	sfe = &sf->list[0];
> -	for (i = 0; i < sf->hdr.count;
> -				sfe = xfs_attr_sf_nextentry(sfe), i++) {
> -		if (xfs_attr_match(args, sfe->namelen, sfe->nameval,
> -				sfe->flags))
> -			return -EEXIST;
> -	}
> -	return -ENOATTR;
> -}
> -
>  /*
>   * Retrieve the attribute value and length.
>   *
> diff --git a/fs/xfs/libxfs/xfs_attr_leaf.h b/fs/xfs/libxfs/xfs_attr_leaf.h
> index 56fcd689eedfe7..35e668ae744fb1 100644
> --- a/fs/xfs/libxfs/xfs_attr_leaf.h
> +++ b/fs/xfs/libxfs/xfs_attr_leaf.h
> @@ -47,7 +47,6 @@ struct xfs_attr3_icleaf_hdr {
>   */
>  void	xfs_attr_shortform_create(struct xfs_da_args *args);
>  void	xfs_attr_shortform_add(struct xfs_da_args *args, int forkoff);
> -int	xfs_attr_shortform_lookup(struct xfs_da_args *args);
>  int	xfs_attr_shortform_getvalue(struct xfs_da_args *args);
>  int	xfs_attr_shortform_to_leaf(struct xfs_da_args *args);
>  int	xfs_attr_sf_removename(struct xfs_da_args *args);
> -- 
> 2.39.2
> 
> 




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux