summaryrefslogtreecommitdiff
path: root/cmd/btrfs-fsck/pass2.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-08-23 20:27:20 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-08-23 20:27:20 -0600
commitaaa85c40b2f8c5c4d107aaf3dee47901342fac78 (patch)
tree7d2f695e6a7c64dced49384ecf73d16a36ea179c /cmd/btrfs-fsck/pass2.go
parent6dd6e79120562f5e914c386b654a233662d5ab40 (diff)
rm -r cmd/btrfs-fsck
Diffstat (limited to 'cmd/btrfs-fsck/pass2.go')
-rw-r--r--cmd/btrfs-fsck/pass2.go68
1 files changed, 0 insertions, 68 deletions
diff --git a/cmd/btrfs-fsck/pass2.go b/cmd/btrfs-fsck/pass2.go
deleted file mode 100644
index e71cd84..0000000
--- a/cmd/btrfs-fsck/pass2.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright (C) 2022 Luke Shumaker <lukeshu@lukeshu.com>
-//
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-package main
-
-import (
- "context"
- "fmt"
-
- "git.lukeshu.com/btrfs-progs-ng/lib/btrfs"
- "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol"
- "git.lukeshu.com/btrfs-progs-ng/lib/btrfsprogs/btrfsutil"
- "git.lukeshu.com/btrfs-progs-ng/lib/diskio"
-)
-
-func pass2(ctx context.Context, fs *btrfs.FS, foundNodes map[btrfsvol.LogicalAddr]struct{}) {
- fmt.Printf("\nPass 2: orphaned nodes\n")
-
- visitedNodes := make(map[btrfsvol.LogicalAddr]struct{})
- btrfsutil.WalkAllTrees(ctx, fs, btrfsutil.WalkAllTreesHandler{
- TreeWalkHandler: btrfs.TreeWalkHandler{
- Node: func(path btrfs.TreePath, node *diskio.Ref[btrfsvol.LogicalAddr, btrfs.Node]) error {
- visitedNodes[node.Addr] = struct{}{}
- return nil
- },
- },
- Err: func(err *btrfsutil.WalkError) {
- fmt.Printf("Pass 2: walk FS: error: %v\n", err)
- },
- })
-
- orphanedNodes := make(map[btrfsvol.LogicalAddr]int)
- for foundNode := range foundNodes {
- if _, visited := visitedNodes[foundNode]; !visited {
- orphanedNodes[foundNode] = 0
- }
- }
-
- orphanedRoots := make(map[btrfsvol.LogicalAddr]struct{}, len(orphanedNodes))
- for node := range orphanedNodes {
- orphanedRoots[node] = struct{}{}
- }
- /*
- for potentialRoot := range orphanedRoots {
- if err := fs.TreeWalk(potentialRoot, btrfs.TreeWalkHandler{
- Node: func(path btrfs.TreePath, _ *diskio.Ref[btrfsvol.LogicalAddr, btrfs.Node], _ error) error {
- nodeAddr := path[len(path)-1].NodeAddr
- if nodeAddr != potentialRoot {
- delete(orphanedRoots, nodeAddr)
- }
- orphanedNodes[nodeAddr] = orphanedNodes[nodeAddr] + 1
- visitCnt := orphanedNodes[nodeAddr]
- if visitCnt > 1 {
- return iofs.SkipDir
- }
- return nil
- },
- }); err != nil {
- fmt.Printf("Pass 2: walk orphans: error: %v\n", err)
- }
- }
-
- for _, node := range maps.SortedKeys(orphanedRoots) {
- fmt.Printf("Pass 2: orphaned root: %v\n", node)
- }
- */
-}