diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-08-27 19:03:53 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2022-08-28 11:51:26 -0600 |
commit | 732394dfe160705f80c136aa8696d180165b485c (patch) | |
tree | d113747062f0cac49c22433787c69b2b7d78e08c /cmd/btrfs-rec/inspect_lstrees.go | |
parent | 811b5e2c0b9721641ef17630ba046f99721594c7 (diff) |
btrfs: Rethink the ReadNode API to better encourage sanity checking
Diffstat (limited to 'cmd/btrfs-rec/inspect_lstrees.go')
-rw-r--r-- | cmd/btrfs-rec/inspect_lstrees.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/cmd/btrfs-rec/inspect_lstrees.go b/cmd/btrfs-rec/inspect_lstrees.go index 06709de..43ae592 100644 --- a/cmd/btrfs-rec/inspect_lstrees.go +++ b/cmd/btrfs-rec/inspect_lstrees.go @@ -19,6 +19,7 @@ import ( "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" "git.lukeshu.com/btrfs-progs-ng/lib/btrfsprogs/btrfsinspect" "git.lukeshu.com/btrfs-progs-ng/lib/btrfsprogs/btrfsutil" + "git.lukeshu.com/btrfs-progs-ng/lib/containers" "git.lukeshu.com/btrfs-progs-ng/lib/diskio" "git.lukeshu.com/btrfs-progs-ng/lib/maps" "git.lukeshu.com/btrfs-progs-ng/lib/slices" @@ -96,13 +97,16 @@ func init() { treeErrCnt = 0 treeItemCnt = make(map[btrfsitem.Type]int) fmt.Printf("lost+found\n") + sb, _ := fs.Superblock() for _, devResults := range scanResults { for laddr := range devResults.FoundNodes { if _, visited := visitedNodes[laddr]; visited { continue } visitedNodes[laddr] = struct{}{} - node, err := fs.ReadNode(laddr) + node, err := btrfs.ReadNode[btrfsvol.LogicalAddr](fs, *sb, laddr, btrfs.NodeExpectations{ + LAddr: containers.Optional[btrfsvol.LogicalAddr]{OK: true, Val: laddr}, + }) if err != nil { treeErrCnt++ continue |