From 8edb8ab9ac42e9bfb851b3bc41509e782555f053 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 16 Jul 2022 16:12:08 -0600 Subject: rethink the SumRun interface to fit diskio.Sequence --- lib/btrfsprogs/btrfsinspect/scanforextents/scan.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'lib/btrfsprogs/btrfsinspect/scanforextents/scan.go') diff --git a/lib/btrfsprogs/btrfsinspect/scanforextents/scan.go b/lib/btrfsprogs/btrfsinspect/scanforextents/scan.go index 8920dfa..77a4ed9 100644 --- a/lib/btrfsprogs/btrfsinspect/scanforextents/scan.go +++ b/lib/btrfsprogs/btrfsinspect/scanforextents/scan.go @@ -25,10 +25,12 @@ func ScanForExtents(ctx context.Context, fs *btrfs.FS, blockgroups *BlockGroupTr dlog.Info(ctx, "Reverse-indexing and validating logical sums...") var totalSums int - _ = sums.WalkLogical(func(btrfsvol.LogicalAddr, ShortSum) error { + if err := sums.WalkLogical(ctx, func(btrfsvol.LogicalAddr, ShortSum) error { totalSums++ return nil - }) + }); err != nil { + return err + } sum2laddrs := make(map[ShortSum][]btrfsvol.LogicalAddr) var curSum int lastPct := -1 @@ -39,10 +41,7 @@ func ScanForExtents(ctx context.Context, fs *btrfs.FS, blockgroups *BlockGroupTr lastPct = pct } } - if err := sums.WalkLogical(func(laddr btrfsvol.LogicalAddr, expShortSum ShortSum) error { - if err := ctx.Err(); err != nil { - return err - } + if err := sums.WalkLogical(ctx, func(laddr btrfsvol.LogicalAddr, expShortSum ShortSum) error { progress(curSum) curSum++ readSum, err := ChecksumLogical(fs, sb.ChecksumType, laddr) @@ -53,7 +52,7 @@ func ScanForExtents(ctx context.Context, fs *btrfs.FS, blockgroups *BlockGroupTr } return err } - readShortSum := ShortSum(readSum[:sums.ChecksumSize]) + readShortSum := ShortSum(readSum[:len(expShortSum)]) if readShortSum != expShortSum { return fmt.Errorf("checksum mismatch at laddr=%v: CSUM_TREE=%x != read=%x", laddr, []byte(expShortSum), []byte(readShortSum)) -- cgit v1.2.3-2-g168b