xfs: remove xfs_btree_reada_bufs
authorChristoph Hellwig <hch@lst.de>
Thu, 22 Feb 2024 20:41:01 +0000 (12:41 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Thu, 22 Feb 2024 20:41:01 +0000 (12:41 -0800)
xfs_btree_reada_bufl just wraps xfs_btree_readahead and a agblock
to daddr conversion.  Just open code it's three callsites in the
two callers (One of which isn't even btree related).

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
fs/xfs/libxfs/xfs_btree.c
fs/xfs/libxfs/xfs_btree.h
fs/xfs/xfs_iwalk.c

index 2689cad9b25ab38e3488e1e6efba00bd41a5d4e8..0f06ee026d9aa3d6c7c060d994b638508a532058 100644 (file)
@@ -889,27 +889,6 @@ xfs_btree_read_bufl(
        return 0;
 }
 
-/*
- * Read-ahead the block, don't wait for it, don't return a buffer.
- * Short-form addressing.
- */
-/* ARGSUSED */
-void
-xfs_btree_reada_bufs(
-       struct xfs_mount        *mp,            /* file system mount point */
-       xfs_agnumber_t          agno,           /* allocation group number */
-       xfs_agblock_t           agbno,          /* allocation group block number */
-       xfs_extlen_t            count,          /* count of filesystem blocks */
-       const struct xfs_buf_ops *ops)
-{
-       xfs_daddr_t             d;
-
-       ASSERT(agno != NULLAGNUMBER);
-       ASSERT(agbno != NULLAGBLOCK);
-       d = XFS_AGB_TO_DADDR(mp, agno, agbno);
-       xfs_buf_readahead(mp->m_ddev_targp, d, mp->m_bsize * count, ops);
-}
-
 STATIC int
 xfs_btree_readahead_fsblock(
        struct xfs_btree_cur    *cur,
@@ -940,22 +919,25 @@ STATIC int
 xfs_btree_readahead_agblock(
        struct xfs_btree_cur    *cur,
        int                     lr,
-       struct xfs_btree_block *block)
+       struct xfs_btree_block  *block)
 {
-       int                     rval = 0;
+       struct xfs_mount        *mp = cur->bc_mp;
+       xfs_agnumber_t          agno = cur->bc_ag.pag->pag_agno;
        xfs_agblock_t           left = be32_to_cpu(block->bb_u.s.bb_leftsib);
        xfs_agblock_t           right = be32_to_cpu(block->bb_u.s.bb_rightsib);
-
+       int                     rval = 0;
 
        if ((lr & XFS_BTCUR_LEFTRA) && left != NULLAGBLOCK) {
-               xfs_btree_reada_bufs(cur->bc_mp, cur->bc_ag.pag->pag_agno,
-                                    left, 1, cur->bc_ops->buf_ops);
+               xfs_buf_readahead(mp->m_ddev_targp,
+                               XFS_AGB_TO_DADDR(mp, agno, left),
+                               mp->m_bsize, cur->bc_ops->buf_ops);
                rval++;
        }
 
        if ((lr & XFS_BTCUR_RIGHTRA) && right != NULLAGBLOCK) {
-               xfs_btree_reada_bufs(cur->bc_mp, cur->bc_ag.pag->pag_agno,
-                                    right, 1, cur->bc_ops->buf_ops);
+               xfs_buf_readahead(mp->m_ddev_targp,
+                               XFS_AGB_TO_DADDR(mp, agno, right),
+                               mp->m_bsize, cur->bc_ops->buf_ops);
                rval++;
        }
 
index 001ff9392804f564e423b8520c3bc491b61ad22b..c48b4fdebafa67ca911e4b7417d2ca63dfaba576 100644 (file)
@@ -391,18 +391,6 @@ xfs_btree_read_bufl(
        int                     refval, /* ref count value for buffer */
        const struct xfs_buf_ops *ops);
 
-/*
- * Read-ahead the block, don't wait for it, don't return a buffer.
- * Short-form addressing.
- */
-void                                   /* error */
-xfs_btree_reada_bufs(
-       struct xfs_mount        *mp,    /* file system mount point */
-       xfs_agnumber_t          agno,   /* allocation group number */
-       xfs_agblock_t           agbno,  /* allocation group block number */
-       xfs_extlen_t            count,  /* count of filesystem blocks */
-       const struct xfs_buf_ops *ops);
-
 /*
  * Initialise a new btree block header
  */
index b6a7751e7c36461026a852482c453b70ccf93630..01b55f03a10260c4b58b31eacf06686b8a85d6fa 100644 (file)
@@ -100,6 +100,7 @@ xfs_iwalk_ichunk_ra(
        struct xfs_inobt_rec_incore     *irec)
 {
        struct xfs_ino_geometry         *igeo = M_IGEO(mp);
+       xfs_agnumber_t                  agno = pag->pag_agno;
        xfs_agblock_t                   agbno;
        struct blk_plug                 plug;
        int                             i;      /* inode chunk index */
@@ -112,8 +113,9 @@ xfs_iwalk_ichunk_ra(
 
                imask = xfs_inobt_maskn(i, igeo->inodes_per_cluster);
                if (imask & ~irec->ir_free) {
-                       xfs_btree_reada_bufs(mp, pag->pag_agno, agbno,
-                                       igeo->blocks_per_cluster,
+                       xfs_buf_readahead(mp->m_ddev_targp,
+                                       XFS_AGB_TO_DADDR(mp, agno, agbno),
+                                       igeo->blocks_per_cluster * mp->m_bsize,
                                        &xfs_inode_buf_ops);
                }
                agbno += igeo->blocks_per_cluster;