Re: [PATCH 6/7] xfs: make the btree cursor union members named structure

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

 



On Wed, Mar 11, 2020 at 08:45:20PM -0700, Darrick J. Wong wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> we need to name the btree cursor private structures to be able
> to pull them out of the deeply nested structure definition they are
> in now.
> 
> Based on code extracted from a patchset by Darrick Wong.
> 
> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> ---
>  fs/xfs/libxfs/xfs_btree.h |   36 +++++++++++++++++++++---------------
>  1 file changed, 21 insertions(+), 15 deletions(-)
> 
> 
> diff --git a/fs/xfs/libxfs/xfs_btree.h b/fs/xfs/libxfs/xfs_btree.h
> index 12a2bc93371d..9884f543eb51 100644
> --- a/fs/xfs/libxfs/xfs_btree.h
> +++ b/fs/xfs/libxfs/xfs_btree.h
> @@ -188,6 +188,24 @@ union xfs_btree_cur_private {
>  	} abt;
>  };
>  
> +/* Per-AG btree information. */
> +struct xfs_btree_cur_ag {
> +	struct xfs_buf			*agbp;
> +	xfs_agnumber_t			agno;
> +	union xfs_btree_cur_private	priv;
> +};
> +
> +/* Btree-in-inode cursor information */
> +struct xfs_btree_cur_ino {
> +	struct xfs_inode	*ip;
> +	int			allocated;
> +	short			forksize;
> +	char			whichfork;
> +	char			flags;
> +#define	XFS_BTCUR_BMBT_WASDEL	(1 << 0)
> +#define	XFS_BTCUR_BMBT_INVALID_OWNER	(1 << 1)
> +};
> +

Are all of the per-field comments dropped intentionally? These are
mostly self-explanatory, so either way:

Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>

>  /*
>   * Btree cursor structure.
>   * This collects all information needed by the btree code in one place.
> @@ -209,21 +227,9 @@ typedef struct xfs_btree_cur
>  	xfs_btnum_t	bc_btnum;	/* identifies which btree type */
>  	int		bc_statoff;	/* offset of btre stats array */
>  	union {
> -		struct {			/* needed for BNO, CNT, INO */
> -			struct xfs_buf	*agbp;	/* agf/agi buffer pointer */
> -			xfs_agnumber_t	agno;	/* ag number */
> -			union xfs_btree_cur_private	priv;
> -		} bc_ag;
> -		struct {			/* needed for BMAP */
> -			struct xfs_inode *ip;	/* pointer to our inode */
> -			int		allocated;	/* count of alloced */
> -			short		forksize;	/* fork's inode space */
> -			char		whichfork;	/* data or attr fork */
> -			char		flags;		/* flags */
> -#define	XFS_BTCUR_BMBT_WASDEL	(1 << 0)		/* was delayed */
> -#define	XFS_BTCUR_BMBT_INVALID_OWNER	(1 << 1)		/* for ext swap */
> -		} bc_ino;
> -	};				/* per-btree type data */
> +		struct xfs_btree_cur_ag	bc_ag;
> +		struct xfs_btree_cur_ino bc_ino;
> +	};
>  } xfs_btree_cur_t;
>  
>  /* cursor flags */
> 




[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