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