xfs: cull repair code that will never get used
authorDarrick J. Wong <djwong@kernel.org>
Thu, 10 Aug 2023 14:48:01 +0000 (07:48 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Thu, 10 Aug 2023 14:48:01 +0000 (07:48 -0700)
These two functions date from the era when I thought that we could
rebuild btrees by creating an alternate root and adding records one by
one.  In other words, they predate the btree bulk loader.  They're not
necessary now, so remove them.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
fs/xfs/scrub/repair.c
fs/xfs/scrub/repair.h
fs/xfs/scrub/trace.h

index ac6d8803e660ccccef390a032145bac6a3c347b6..eedb3863b4efdf41055b7f56870c9d8084c689f0 100644 (file)
@@ -297,89 +297,6 @@ xrep_calc_ag_resblks(
        return max(max(bnobt_sz, inobt_sz), max(rmapbt_sz, refcbt_sz));
 }
 
-/* Allocate a block in an AG. */
-int
-xrep_alloc_ag_block(
-       struct xfs_scrub                *sc,
-       const struct xfs_owner_info     *oinfo,
-       xfs_fsblock_t                   *fsbno,
-       enum xfs_ag_resv_type           resv)
-{
-       struct xfs_alloc_arg            args = {0};
-       xfs_agblock_t                   bno;
-       int                             error;
-
-       switch (resv) {
-       case XFS_AG_RESV_AGFL:
-       case XFS_AG_RESV_RMAPBT:
-               error = xfs_alloc_get_freelist(sc->sa.pag, sc->tp,
-                               sc->sa.agf_bp, &bno, 1);
-               if (error)
-                       return error;
-               if (bno == NULLAGBLOCK)
-                       return -ENOSPC;
-               xfs_extent_busy_reuse(sc->mp, sc->sa.pag, bno, 1, false);
-               *fsbno = XFS_AGB_TO_FSB(sc->mp, sc->sa.pag->pag_agno, bno);
-               if (resv == XFS_AG_RESV_RMAPBT)
-                       xfs_ag_resv_rmapbt_alloc(sc->mp, sc->sa.pag->pag_agno);
-               return 0;
-       default:
-               break;
-       }
-
-       args.tp = sc->tp;
-       args.mp = sc->mp;
-       args.pag = sc->sa.pag;
-       args.oinfo = *oinfo;
-       args.minlen = 1;
-       args.maxlen = 1;
-       args.prod = 1;
-       args.resv = resv;
-
-       error = xfs_alloc_vextent_this_ag(&args, sc->sa.pag->pag_agno);
-       if (error)
-               return error;
-       if (args.fsbno == NULLFSBLOCK)
-               return -ENOSPC;
-       ASSERT(args.len == 1);
-       *fsbno = args.fsbno;
-
-       return 0;
-}
-
-/* Initialize a new AG btree root block with zero entries. */
-int
-xrep_init_btblock(
-       struct xfs_scrub                *sc,
-       xfs_fsblock_t                   fsb,
-       struct xfs_buf                  **bpp,
-       xfs_btnum_t                     btnum,
-       const struct xfs_buf_ops        *ops)
-{
-       struct xfs_trans                *tp = sc->tp;
-       struct xfs_mount                *mp = sc->mp;
-       struct xfs_buf                  *bp;
-       int                             error;
-
-       trace_xrep_init_btblock(mp, XFS_FSB_TO_AGNO(mp, fsb),
-                       XFS_FSB_TO_AGBNO(mp, fsb), btnum);
-
-       ASSERT(XFS_FSB_TO_AGNO(mp, fsb) == sc->sa.pag->pag_agno);
-       error = xfs_trans_get_buf(tp, mp->m_ddev_targp,
-                       XFS_FSB_TO_DADDR(mp, fsb), XFS_FSB_TO_BB(mp, 1), 0,
-                       &bp);
-       if (error)
-               return error;
-       xfs_buf_zero(bp, 0, BBTOB(bp->b_length));
-       xfs_btree_init_block(mp, bp, btnum, 0, 0, sc->sa.pag->pag_agno);
-       xfs_trans_buf_set_type(tp, bp, XFS_BLFT_BTREE_BUF);
-       xfs_trans_log_buf(tp, bp, 0, BBTOB(bp->b_length) - 1);
-       bp->b_ops = ops;
-       *bpp = bp;
-
-       return 0;
-}
-
 /*
  * Reconstructing per-AG Btrees
  *
index dce791c679eeb3a68eb7246589b6cc292bc6a4f4..fdccad54936f5a0514fa87c7e62eeb96ae84de16 100644 (file)
@@ -23,12 +23,6 @@ int xrep_roll_ag_trans(struct xfs_scrub *sc);
 bool xrep_ag_has_space(struct xfs_perag *pag, xfs_extlen_t nr_blocks,
                enum xfs_ag_resv_type type);
 xfs_extlen_t xrep_calc_ag_resblks(struct xfs_scrub *sc);
-int xrep_alloc_ag_block(struct xfs_scrub *sc,
-               const struct xfs_owner_info *oinfo, xfs_fsblock_t *fsbno,
-               enum xfs_ag_resv_type resv);
-int xrep_init_btblock(struct xfs_scrub *sc, xfs_fsblock_t fsb,
-               struct xfs_buf **bpp, xfs_btnum_t btnum,
-               const struct xfs_buf_ops *ops);
 
 struct xbitmap;
 struct xagb_bitmap;
index b3894daeb86a96f10f4d1201a569a494978e62a6..9c8c7dd0f26225ade110e91a0c431d16fb9760b3 100644 (file)
@@ -827,28 +827,6 @@ TRACE_EVENT(xrep_refcount_extent_fn,
                  __entry->refcount)
 )
 
-TRACE_EVENT(xrep_init_btblock,
-       TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t agbno,
-                xfs_btnum_t btnum),
-       TP_ARGS(mp, agno, agbno, btnum),
-       TP_STRUCT__entry(
-               __field(dev_t, dev)
-               __field(xfs_agnumber_t, agno)
-               __field(xfs_agblock_t, agbno)
-               __field(uint32_t, btnum)
-       ),
-       TP_fast_assign(
-               __entry->dev = mp->m_super->s_dev;
-               __entry->agno = agno;
-               __entry->agbno = agbno;
-               __entry->btnum = btnum;
-       ),
-       TP_printk("dev %d:%d agno 0x%x agbno 0x%x btree %s",
-                 MAJOR(__entry->dev), MINOR(__entry->dev),
-                 __entry->agno,
-                 __entry->agbno,
-                 __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS))
-)
 TRACE_EVENT(xrep_findroot_block,
        TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, xfs_agblock_t agbno,
                 uint32_t magic, uint16_t level),