]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: make the btree cursor union members named structure
authorDave Chinner <dchinner@redhat.com>
Fri, 1 May 2020 21:37:09 +0000 (17:37 -0400)
committerEric Sandeen <sandeen@redhat.com>
Fri, 1 May 2020 21:37:09 +0000 (17:37 -0400)
Source kernel commit: 68422d90dad4fe98f99d6e414aeec9a58d5185d5

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@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_btree.h

index 337fb1d0ebbef678c65d055543b1d687766b9131..5e1bae45f53b037f6bbef5b6789c741cde808de9 100644 (file)
@@ -188,6 +188,27 @@ 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;
+/* We are converting a delalloc reservation */
+#define        XFS_BTCUR_BMBT_WASDEL           (1 << 0)
+
+/* For extent swap, ignore owner check in verifier */
+#define        XFS_BTCUR_BMBT_INVALID_OWNER    (1 << 1)
+};
+
 /*
  * Btree cursor structure.
  * This collects all information needed by the btree code in one place.
@@ -209,21 +230,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 */