]> www.infradead.org Git - users/hch/xfsprogs.git/commitdiff
xfs: standardize the btree maxrecs function parameters
authorDarrick J. Wong <djwong@kernel.org>
Tue, 7 Mar 2023 03:55:35 +0000 (19:55 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 22 Nov 2023 23:03:36 +0000 (15:03 -0800)
Standardize the parameters in xfs_{alloc,bm,ino,rmap,refcount}bt_maxrecs
so that we have consistent calling conventions.  This doesn't affect the
kernel that much, but enables us to clean up userspace a bit.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
16 files changed:
db/btheight.c
libxfs/xfs_alloc_btree.c
libxfs/xfs_alloc_btree.h
libxfs/xfs_bmap.c
libxfs/xfs_bmap_btree.c
libxfs/xfs_bmap_btree.h
libxfs/xfs_ialloc.c
libxfs/xfs_ialloc_btree.c
libxfs/xfs_ialloc_btree.h
libxfs/xfs_inode_fork.c
libxfs/xfs_refcount_btree.c
libxfs/xfs_refcount_btree.h
libxfs/xfs_rmap_btree.c
libxfs/xfs_rmap_btree.h
libxfs/xfs_sb.c
repair/phase5.c

index 0b421ab50a3a7610c34d996c43afc2ae5e284be9..6643489c82c4c9e264e94f6ccfbe8ab7a4ae61a0 100644 (file)
 #include "input.h"
 #include "libfrog/convert.h"
 
-static int refc_maxrecs(struct xfs_mount *mp, int blocklen, int leaf)
-{
-       return libxfs_refcountbt_maxrecs(blocklen, leaf != 0);
-}
-
-static int rmap_maxrecs(struct xfs_mount *mp, int blocklen, int leaf)
-{
-       return libxfs_rmapbt_maxrecs(blocklen, leaf);
-}
-
 struct btmap {
        const char      *tag;
        unsigned int    (*maxlevels)(void);
-       int             (*maxrecs)(struct xfs_mount *mp, int blocklen,
-                                  int leaf);
+       unsigned int    (*maxrecs)(struct xfs_mount *mp, unsigned int blocklen,
+                                  bool leaf);
 } maps[] = {
        {
                .tag            = "bnobt",
@@ -56,12 +46,12 @@ struct btmap {
        {
                .tag            = "refcountbt",
                .maxlevels      = libxfs_refcountbt_maxlevels_ondisk,
-               .maxrecs        = refc_maxrecs,
+               .maxrecs        = libxfs_refcountbt_maxrecs,
        },
        {
                .tag            = "rmapbt",
                .maxlevels      = libxfs_rmapbt_maxlevels_ondisk,
-               .maxrecs        = rmap_maxrecs,
+               .maxrecs        = libxfs_rmapbt_maxrecs,
        },
 };
 
index 3ed9abfe94d9f234d4f5a00c51485079a31b29d5..f17dd1e1a13d5e531e40865118c137ee7e51dbbb 100644 (file)
@@ -609,11 +609,11 @@ xfs_allocbt_block_maxrecs(
 /*
  * Calculate number of records in an alloc btree block.
  */
-int
+unsigned int
 xfs_allocbt_maxrecs(
        struct xfs_mount        *mp,
-       int                     blocklen,
-       int                     leaf)
+       unsigned int            blocklen,
+       bool                    leaf)
 {
        blocklen -= XFS_ALLOC_BLOCK_LEN(mp);
        return xfs_allocbt_block_maxrecs(blocklen, leaf);
index 45df893ef6bb00d473f717061ac1ca417ed0a39f..f61f51d0bd76d03a29d0c66099e04883c6a0e749 100644 (file)
@@ -53,7 +53,8 @@ extern struct xfs_btree_cur *xfs_allocbt_init_cursor(struct xfs_mount *mp,
 struct xfs_btree_cur *xfs_allocbt_stage_cursor(struct xfs_mount *mp,
                struct xbtree_afakeroot *afake, struct xfs_perag *pag,
                xfs_btnum_t btnum);
-extern int xfs_allocbt_maxrecs(struct xfs_mount *, int, int);
+unsigned int xfs_allocbt_maxrecs(struct xfs_mount *mp, unsigned int blocklen,
+               bool leaf);
 extern xfs_extlen_t xfs_allocbt_calc_size(struct xfs_mount *mp,
                unsigned long long len);
 
index 69400eff99ebbff29284396bcdbf3c8f1f540981..6b4e9ae62c0f4f45711e7aaebb2b7d4f64531453 100644 (file)
@@ -560,7 +560,7 @@ xfs_bmap_btree_to_extents(
        ASSERT(ifp->if_format == XFS_DINODE_FMT_BTREE);
        ASSERT(be16_to_cpu(rblock->bb_level) == 1);
        ASSERT(be16_to_cpu(rblock->bb_numrecs) == 1);
-       ASSERT(xfs_bmbt_maxrecs(mp, ifp->if_broot_bytes, 0) == 1);
+       ASSERT(xfs_bmbt_maxrecs(mp, ifp->if_broot_bytes, false) == 1);
 
        pp = xfs_bmap_broot_ptr_addr(mp, rblock, 1, ifp->if_broot_bytes);
        cbno = be64_to_cpu(*pp);
index 1b5cddb7edaa7a0cce514bccd241011147a41dce..acd387c3ca5f097a3147ec3d3252b38ffaa7e941 100644 (file)
@@ -662,11 +662,11 @@ xfs_bmbt_commit_staged_btree(
 /*
  * Calculate number of records in a bmap btree block.
  */
-int
+unsigned int
 xfs_bmbt_maxrecs(
        struct xfs_mount        *mp,
-       int                     blocklen,
-       int                     leaf)
+       unsigned int            blocklen,
+       bool                    leaf)
 {
        blocklen -= xfs_bmbt_block_len(mp);
        return xfs_bmbt_block_maxrecs(blocklen, leaf);
index 5a3bae94debd4a3919ed1a871e48e77595fa2ec6..a9ddc9b42e614a4ea35b810b1ffbd71df1a83fe6 100644 (file)
@@ -35,7 +35,8 @@ extern void xfs_bmbt_to_bmdr(struct xfs_mount *, struct xfs_btree_block *, int,
 
 extern int xfs_bmbt_get_maxrecs(struct xfs_btree_cur *, int level);
 extern int xfs_bmdr_maxrecs(int blocklen, int leaf);
-extern int xfs_bmbt_maxrecs(struct xfs_mount *, int blocklen, int leaf);
+unsigned int xfs_bmbt_maxrecs(struct xfs_mount *mp, unsigned int blocklen,
+               bool leaf);
 
 extern int xfs_bmbt_change_owner(struct xfs_trans *tp, struct xfs_inode *ip,
                                 int whichfork, xfs_ino_t new_owner,
@@ -150,7 +151,7 @@ xfs_bmap_broot_ptr_addr(
        unsigned int            i,
        unsigned int            sz)
 {
-       return xfs_bmbt_ptr_addr(mp, bb, i, xfs_bmbt_maxrecs(mp, sz, 0));
+       return xfs_bmbt_ptr_addr(mp, bb, i, xfs_bmbt_maxrecs(mp, sz, false));
 }
 
 /*
index 62a701e344bd626a978f54002b589de484818bf1..ae272393b05f1c9e7a28f824449387295a0f5ba8 100644 (file)
@@ -2924,8 +2924,8 @@ xfs_ialloc_setup_geometry(
 
        /* Compute inode btree geometry. */
        igeo->agino_log = sbp->sb_inopblog + sbp->sb_agblklog;
-       igeo->inobt_mxr[0] = xfs_inobt_maxrecs(mp, sbp->sb_blocksize, 1);
-       igeo->inobt_mxr[1] = xfs_inobt_maxrecs(mp, sbp->sb_blocksize, 0);
+       igeo->inobt_mxr[0] = xfs_inobt_maxrecs(mp, sbp->sb_blocksize, true);
+       igeo->inobt_mxr[1] = xfs_inobt_maxrecs(mp, sbp->sb_blocksize, false);
        igeo->inobt_mnr[0] = igeo->inobt_mxr[0] / 2;
        igeo->inobt_mnr[1] = igeo->inobt_mxr[1] / 2;
 
index 4275244b15ca88f04c8b064d8cdda34443df3dd6..80d28d3fea5214df42ab28ba66edbf796c9a1a6d 100644 (file)
@@ -558,11 +558,11 @@ xfs_inobt_block_maxrecs(
 /*
  * Calculate number of records in an inobt btree block.
  */
-int
+unsigned int
 xfs_inobt_maxrecs(
        struct xfs_mount        *mp,
-       int                     blocklen,
-       int                     leaf)
+       unsigned int            blocklen,
+       bool                    leaf)
 {
        blocklen -= XFS_INOBT_BLOCK_LEN(mp);
        return xfs_inobt_block_maxrecs(blocklen, leaf);
index 3262c3fe5ebee0e023acd9f29c8ee1592ea69e2b..ed0f619fd3361b58fe5e5253b1861c8ea2f28b9f 100644 (file)
@@ -50,7 +50,8 @@ extern struct xfs_btree_cur *xfs_inobt_init_cursor(struct xfs_perag *pag,
                struct xfs_trans *tp, struct xfs_buf *agbp, xfs_btnum_t btnum);
 struct xfs_btree_cur *xfs_inobt_stage_cursor(struct xfs_perag *pag,
                struct xbtree_afakeroot *afake, xfs_btnum_t btnum);
-extern int xfs_inobt_maxrecs(struct xfs_mount *, int, int);
+unsigned int xfs_inobt_maxrecs(struct xfs_mount *mp, unsigned int blocklen,
+               bool leaf);
 
 /* ir_holemask to inode allocation bitmap conversion */
 uint64_t xfs_inobt_irec_to_allocmask(const struct xfs_inobt_rec_incore *irec);
index 9bced3ac656f662f3fa8ba4f82f0b4fc9dc1a808..5122b2fec7a65d9d00d84153123d019f1dd74405 100644 (file)
@@ -474,7 +474,7 @@ xfs_iroot_realloc(
        }
 
        /* Compute the new and old record count and space requirements. */
-       cur_max = xfs_bmbt_maxrecs(mp, old_size, 0);
+       cur_max = xfs_bmbt_maxrecs(mp, old_size, false);
        new_max = cur_max + rec_diff;
        ASSERT(new_max >= 0);
        new_size = xfs_bmap_broot_space_calc(mp, new_max);
index 0295bcff52d311a97bcc496c67b5d812aab8b68b..70cf92324692a22adbb09190f60fdc942094528b 100644 (file)
@@ -433,9 +433,10 @@ xfs_refcountbt_block_maxrecs(
 /*
  * Calculate the number of records in a refcount btree block.
  */
-int
+unsigned int
 xfs_refcountbt_maxrecs(
-       int                     blocklen,
+       struct xfs_mount        *mp,
+       unsigned int            blocklen,
        bool                    leaf)
 {
        blocklen -= XFS_REFCOUNT_BLOCK_LEN;
index d66b37259bedb4dd66dc0073df34806b551c6350..fe3c20d67790d5d835d4a2ae2ae0b04f87c78bac 100644 (file)
@@ -50,7 +50,8 @@ extern struct xfs_btree_cur *xfs_refcountbt_init_cursor(struct xfs_mount *mp,
                struct xfs_perag *pag);
 struct xfs_btree_cur *xfs_refcountbt_stage_cursor(struct xfs_mount *mp,
                struct xbtree_afakeroot *afake, struct xfs_perag *pag);
-extern int xfs_refcountbt_maxrecs(int blocklen, bool leaf);
+unsigned int xfs_refcountbt_maxrecs(struct xfs_mount *mp, unsigned int blocklen,
+               bool leaf);
 extern void xfs_refcountbt_compute_maxlevels(struct xfs_mount *mp);
 
 extern xfs_extlen_t xfs_refcountbt_calc_size(struct xfs_mount *mp,
index 9b9dfe58a9f92c646bf891030ff3607f3cc01a97..4cc103c0b9ff3491bc8c4633d039c8cded38232f 100644 (file)
@@ -587,7 +587,7 @@ xfs_rmapbt_mem_verify(
        }
 
        return xfbtree_sblock_verify(bp,
-                       xfs_rmapbt_maxrecs(xfo_to_b(1), level == 0));
+                       xfs_rmapbt_maxrecs(mp, xfo_to_b(1), level == 0));
 }
 
 static void
@@ -715,10 +715,11 @@ xfs_rmapbt_block_maxrecs(
 /*
  * Calculate number of records in an rmap btree block.
  */
-int
+unsigned int
 xfs_rmapbt_maxrecs(
-       int                     blocklen,
-       int                     leaf)
+       struct xfs_mount        *mp,
+       unsigned int            blocklen,
+       bool                    leaf)
 {
        blocklen -= XFS_RMAP_BLOCK_LEN;
        return xfs_rmapbt_block_maxrecs(blocklen, leaf);
index 5d0454fd05299efb78f5364759173fd1b8b7dea9..415fad8dad73edfa436f4ca09fa934ea6e51aefd 100644 (file)
@@ -48,7 +48,8 @@ struct xfs_btree_cur *xfs_rmapbt_stage_cursor(struct xfs_mount *mp,
                struct xbtree_afakeroot *afake, struct xfs_perag *pag);
 void xfs_rmapbt_commit_staged_btree(struct xfs_btree_cur *cur,
                struct xfs_trans *tp, struct xfs_buf *agbp);
-int xfs_rmapbt_maxrecs(int blocklen, int leaf);
+unsigned int xfs_rmapbt_maxrecs(struct xfs_mount *mp, unsigned int blocklen,
+               bool leaf);
 extern void xfs_rmapbt_compute_maxlevels(struct xfs_mount *mp);
 
 extern xfs_extlen_t xfs_rmapbt_calc_size(struct xfs_mount *mp,
index adc605bc8019e055db35330fc9fa6b99734f24d2..0cff0d90b44450da94865136130cdb2742965e89 100644 (file)
@@ -1106,23 +1106,23 @@ xfs_sb_mount_common(
        mp->m_rgblklog = log2_if_power2(sbp->sb_rgblocks);
        mp->m_rgblkmask = mask64_if_power2(sbp->sb_rgblocks);
 
-       mp->m_alloc_mxr[0] = xfs_allocbt_maxrecs(mp, sbp->sb_blocksize, 1);
-       mp->m_alloc_mxr[1] = xfs_allocbt_maxrecs(mp, sbp->sb_blocksize, 0);
+       mp->m_alloc_mxr[0] = xfs_allocbt_maxrecs(mp, sbp->sb_blocksize, true);
+       mp->m_alloc_mxr[1] = xfs_allocbt_maxrecs(mp, sbp->sb_blocksize, false);
        mp->m_alloc_mnr[0] = mp->m_alloc_mxr[0] / 2;
        mp->m_alloc_mnr[1] = mp->m_alloc_mxr[1] / 2;
 
-       mp->m_bmap_dmxr[0] = xfs_bmbt_maxrecs(mp, sbp->sb_blocksize, 1);
-       mp->m_bmap_dmxr[1] = xfs_bmbt_maxrecs(mp, sbp->sb_blocksize, 0);
+       mp->m_bmap_dmxr[0] = xfs_bmbt_maxrecs(mp, sbp->sb_blocksize, true);
+       mp->m_bmap_dmxr[1] = xfs_bmbt_maxrecs(mp, sbp->sb_blocksize, false);
        mp->m_bmap_dmnr[0] = mp->m_bmap_dmxr[0] / 2;
        mp->m_bmap_dmnr[1] = mp->m_bmap_dmxr[1] / 2;
 
-       mp->m_rmap_mxr[0] = xfs_rmapbt_maxrecs(sbp->sb_blocksize, 1);
-       mp->m_rmap_mxr[1] = xfs_rmapbt_maxrecs(sbp->sb_blocksize, 0);
+       mp->m_rmap_mxr[0] = xfs_rmapbt_maxrecs(mp, sbp->sb_blocksize, true);
+       mp->m_rmap_mxr[1] = xfs_rmapbt_maxrecs(mp, sbp->sb_blocksize, false);
        mp->m_rmap_mnr[0] = mp->m_rmap_mxr[0] / 2;
        mp->m_rmap_mnr[1] = mp->m_rmap_mxr[1] / 2;
 
-       mp->m_refc_mxr[0] = xfs_refcountbt_maxrecs(sbp->sb_blocksize, true);
-       mp->m_refc_mxr[1] = xfs_refcountbt_maxrecs(sbp->sb_blocksize, false);
+       mp->m_refc_mxr[0] = xfs_refcountbt_maxrecs(mp, sbp->sb_blocksize, true);
+       mp->m_refc_mxr[1] = xfs_refcountbt_maxrecs(mp, sbp->sb_blocksize, false);
        mp->m_refc_mnr[0] = mp->m_refc_mxr[0] / 2;
        mp->m_refc_mnr[1] = mp->m_refc_mxr[1] / 2;
 
index 983f2169228bbc942a20911626fff1e9a5e22032..74594d53a872117bdd67b2da59df560cd9d038c7 100644 (file)
@@ -644,21 +644,21 @@ phase5(xfs_mount_t *mp)
 
 #ifdef XR_BLD_FREE_TRACE
        fprintf(stderr, "inobt level 1, maxrec = %d, minrec = %d\n",
-               libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0),
-               libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 0) / 2);
+               libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, false),
+               libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, false) / 2);
        fprintf(stderr, "inobt level 0 (leaf), maxrec = %d, minrec = %d\n",
-               libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1),
-               libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, 1) / 2);
+               libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, true),
+               libxfs_inobt_maxrecs(mp, mp->m_sb.sb_blocksize, true) / 2);
        fprintf(stderr, "xr inobt level 0 (leaf), maxrec = %d\n",
                XR_INOBT_BLOCK_MAXRECS(mp, 0));
        fprintf(stderr, "xr inobt level 1 (int), maxrec = %d\n",
                XR_INOBT_BLOCK_MAXRECS(mp, 1));
        fprintf(stderr, "bnobt level 1, maxrec = %d, minrec = %d\n",
-               libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0),
-               libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0) / 2);
+               libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, false),
+               libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, false) / 2);
        fprintf(stderr, "bnobt level 0 (leaf), maxrec = %d, minrec = %d\n",
-               libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 1),
-               libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, 1) / 2);
+               libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, true),
+               libxfs_allocbt_maxrecs(mp, mp->m_sb.sb_blocksize, true) / 2);
 #endif
        /*
         * make sure the root and realtime inodes show up allocated