summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-07-01 00:31:57 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-07-01 00:31:57 -0600
commitb589943af25661c140bacdc0afc2550e1e2db852 (patch)
tree99fb838ed9a00d335a1543431145b1f6680753e4 /cmd
parent7d2d4ae383e02a03dec6aa60207e3a1dfa8e79a9 (diff)
add more callbacks to WalkFS
Diffstat (limited to 'cmd')
-rw-r--r--cmd/btrfs-fsck/pass1.go27
-rw-r--r--cmd/btrfs-fsck/pass2.go15
2 files changed, 24 insertions, 18 deletions
diff --git a/cmd/btrfs-fsck/pass1.go b/cmd/btrfs-fsck/pass1.go
index 6812c73..5188d65 100644
--- a/cmd/btrfs-fsck/pass1.go
+++ b/cmd/btrfs-fsck/pass1.go
@@ -22,19 +22,22 @@ func pass1(fs *btrfs.FS, superblock *util.Ref[btrfs.PhysicalAddr, btrfs.Superblo
fmt.Printf("Pass 1: ... walking fs\n")
visitedNodes := make(map[btrfs.LogicalAddr]struct{})
- btrfsmisc.WalkFS(fs, btrfs.WalkTreeHandler{
- Node: func(path btrfs.WalkTreePath, node *util.Ref[btrfs.LogicalAddr, btrfs.Node], err error) error {
- if err != nil {
- err = fmt.Errorf("%v: %w", path, err)
- fmt.Printf("Pass 1: ... walk fs: error: %v\n", err)
- }
- if node != nil {
- visitedNodes[node.Addr] = struct{}{}
- }
- return err
+ btrfsmisc.WalkFS(fs, btrfsmisc.WalkFSHandler{
+ WalkTreeHandler: btrfs.WalkTreeHandler{
+ Node: func(path btrfs.WalkTreePath, node *util.Ref[btrfs.LogicalAddr, btrfs.Node], err error) error {
+ if err != nil {
+ err = fmt.Errorf("%v: %w", path, err)
+ fmt.Printf("Pass 1: ... walk fs: error: %v\n", err)
+ }
+ if node != nil {
+ visitedNodes[node.Addr] = struct{}{}
+ }
+ return err
+ },
+ },
+ Err: func(err error) {
+ fmt.Printf("Pass 1: ... walk fs: error: %v\n", err)
},
- }, func(err error) {
- fmt.Printf("Pass 1: ... walk fs: error: %v\n", err)
})
fsFoundNodes := make(map[btrfs.LogicalAddr]struct{})
diff --git a/cmd/btrfs-fsck/pass2.go b/cmd/btrfs-fsck/pass2.go
index acea740..7970cca 100644
--- a/cmd/btrfs-fsck/pass2.go
+++ b/cmd/btrfs-fsck/pass2.go
@@ -13,13 +13,16 @@ func pass2(fs *btrfs.FS, foundNodes map[btrfs.LogicalAddr]struct{}) {
fmt.Printf("\nPass 2: orphaned nodes\n")
visitedNodes := make(map[btrfs.LogicalAddr]struct{})
- btrfsmisc.WalkFS(fs, btrfs.WalkTreeHandler{
- Node: func(path btrfs.WalkTreePath, node *util.Ref[btrfs.LogicalAddr, btrfs.Node], err error) error {
- visitedNodes[node.Addr] = struct{}{}
- return nil
+ btrfsmisc.WalkFS(fs, btrfsmisc.WalkFSHandler{
+ WalkTreeHandler: btrfs.WalkTreeHandler{
+ Node: func(path btrfs.WalkTreePath, node *util.Ref[btrfs.LogicalAddr, btrfs.Node], err error) error {
+ visitedNodes[node.Addr] = struct{}{}
+ return nil
+ },
+ },
+ Err: func(err error) {
+ fmt.Printf("Pass 2: walk FS: error: %v\n", err)
},
- }, func(err error) {
- fmt.Printf("Pass 2: walk FS: error: %v\n", err)
})
orphanedNodes := make(map[btrfs.LogicalAddr]int)