On Thu, Nov 09, 2023 at 05:02:33PM +0100, Christoph Hellwig wrote: > search_rt_dup_extent expects an RT extent number and not a fsbno. > Convert the units before the call. Without this we are unlikely > to ever found a legit duplicate extent on the RT subvolume because > the search will always be off the end. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> Looks familiar! :) Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> In the longer run: whenever the libxfs 6.7 sync hits the list, I'll be ready to go with a pair of broader patches to fix all the confusing / incorrect units and variable names in xfs_repair. This ought to get merged to xfsprogs 6.6. --D > --- > repair/scan.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/repair/scan.c b/repair/scan.c > index 27a33286a..7a0587615 100644 > --- a/repair/scan.c > +++ b/repair/scan.c > @@ -402,8 +402,10 @@ _("bad state %d, inode %" PRIu64 " bmap block 0x%" PRIx64 "\n"), > XFS_FSB_TO_AGBNO(mp, bno) + 1)) > return(1); > } else { > - if (search_rt_dup_extent(mp, bno)) > - return(1); > + xfs_rtblock_t ext = bno / mp->m_sb.sb_rextsize; > + > + if (search_rt_dup_extent(mp, ext)) > + return 1; > } > } > (*tot)++; > -- > 2.39.2 >