diff options
Diffstat (limited to 'cmd/btrfs-fsck')
-rw-r--r-- | cmd/btrfs-fsck/pass1.go | 27 | ||||
-rw-r--r-- | cmd/btrfs-fsck/pass2.go | 15 |
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) |