summaryrefslogtreecommitdiff
path: root/lib/btrfsprogs/btrfsutil/csums.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-08-18 02:37:23 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-08-18 04:17:35 -0600
commit96051aae4e41df836f956926ed57310f8dad4a5f (patch)
treec9023e5c882602c9b86082d5ab2f3d4f0027dbf1 /lib/btrfsprogs/btrfsutil/csums.go
parentff4435105d35aff994492517a292e60628bce5bf (diff)
Have ExtentCSum use SumRun
Diffstat (limited to 'lib/btrfsprogs/btrfsutil/csums.go')
-rw-r--r--lib/btrfsprogs/btrfsutil/csums.go12
1 files changed, 4 insertions, 8 deletions
diff --git a/lib/btrfsprogs/btrfsutil/csums.go b/lib/btrfsprogs/btrfsutil/csums.go
index 274be68..3c3d85f 100644
--- a/lib/btrfsprogs/btrfsutil/csums.go
+++ b/lib/btrfsprogs/btrfsutil/csums.go
@@ -37,7 +37,7 @@ func ChecksumQualifiedPhysical(fs *btrfs.FS, alg btrfssum.CSumType, paddr btrfsv
return ChecksumPhysical(dev, alg, paddr.Addr)
}
-func LookupCSum(fs btrfs.Trees, alg btrfssum.CSumType, laddr btrfsvol.LogicalAddr) (map[btrfsvol.LogicalAddr]btrfssum.CSum, error) {
+func LookupCSum(fs btrfs.Trees, alg btrfssum.CSumType, laddr btrfsvol.LogicalAddr) (btrfssum.SumRun[btrfsvol.LogicalAddr], error) {
item, err := fs.TreeSearch(btrfs.CSUM_TREE_OBJECTID, func(key btrfs.Key, size uint32) int {
itemBeg := btrfsvol.LogicalAddr(key.ObjectID)
numSums := int64(size) / int64(alg.Size())
@@ -52,15 +52,11 @@ func LookupCSum(fs btrfs.Trees, alg btrfssum.CSumType, laddr btrfsvol.LogicalAdd
}
})
if err != nil {
- return nil, err
+ return btrfssum.SumRun[btrfsvol.LogicalAddr]{}, err
}
body, ok := item.Body.(btrfsitem.ExtentCSum)
if !ok {
- return nil, fmt.Errorf("item body is %T not ExtentCSum", item.Body)
+ return btrfssum.SumRun[btrfsvol.LogicalAddr]{}, fmt.Errorf("item body is %T not ExtentCSum", item.Body)
}
- ret := make(map[btrfsvol.LogicalAddr]btrfssum.CSum, len(body.Sums))
- for i, sum := range body.Sums {
- ret[btrfsvol.LogicalAddr(item.Key.ObjectID)+(btrfsvol.LogicalAddr(i)*btrfssum.BlockSize)] = sum
- }
- return ret, nil
+ return body.SumRun, nil
}