summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/btrfs-dbg/main.go3
-rw-r--r--cmd/btrfs-fsck/pass0.go3
-rw-r--r--cmd/btrfs-fsck/pass1.go18
-rw-r--r--cmd/btrfs-fsck/pass2.go13
-rw-r--r--cmd/btrfs-ls-files/main.go3
-rw-r--r--cmd/btrfs-ls-trees/main.go5
6 files changed, 25 insertions, 20 deletions
diff --git a/cmd/btrfs-dbg/main.go b/cmd/btrfs-dbg/main.go
index 4b4a7a2..40356e0 100644
--- a/cmd/btrfs-dbg/main.go
+++ b/cmd/btrfs-dbg/main.go
@@ -7,6 +7,7 @@ import (
"github.com/davecgh/go-spew/spew"
"lukeshu.com/btrfs-tools/pkg/btrfs"
+ "lukeshu.com/btrfs-tools/pkg/btrfs/btrfsvol"
"lukeshu.com/btrfs-tools/pkg/btrfsmisc"
"lukeshu.com/btrfs-tools/pkg/util"
)
@@ -55,7 +56,7 @@ func Main(imgfilename string) (err error) {
spew.Dump(syschunks)
for _, dev := range fs.LV.PhysicalVolumes() {
- if err := btrfsmisc.ScanForNodes(dev, superblocks[0].Data, func(nodeRef *util.Ref[btrfs.PhysicalAddr, btrfs.Node], err error) {
+ if err := btrfsmisc.ScanForNodes(dev, superblocks[0].Data, func(nodeRef *util.Ref[btrfsvol.PhysicalAddr, btrfs.Node], err error) {
if err != nil {
fmt.Println(err)
} else {
diff --git a/cmd/btrfs-fsck/pass0.go b/cmd/btrfs-fsck/pass0.go
index c0c872b..28e0501 100644
--- a/cmd/btrfs-fsck/pass0.go
+++ b/cmd/btrfs-fsck/pass0.go
@@ -5,10 +5,11 @@ import (
"os"
"lukeshu.com/btrfs-tools/pkg/btrfs"
+ "lukeshu.com/btrfs-tools/pkg/btrfs/btrfsvol"
"lukeshu.com/btrfs-tools/pkg/util"
)
-func pass0(filenames ...string) (*btrfs.FS, *util.Ref[btrfs.PhysicalAddr, btrfs.Superblock], error) {
+func pass0(filenames ...string) (*btrfs.FS, *util.Ref[btrfsvol.PhysicalAddr, btrfs.Superblock], error) {
fmt.Printf("\nPass 0: init and superblocks...\n")
fs := new(btrfs.FS)
diff --git a/cmd/btrfs-fsck/pass1.go b/cmd/btrfs-fsck/pass1.go
index e75e4fe..f8626af 100644
--- a/cmd/btrfs-fsck/pass1.go
+++ b/cmd/btrfs-fsck/pass1.go
@@ -17,14 +17,14 @@ import (
"lukeshu.com/btrfs-tools/pkg/util"
)
-func pass1(fs *btrfs.FS, superblock *util.Ref[btrfs.PhysicalAddr, btrfs.Superblock]) (map[btrfs.LogicalAddr]struct{}, error) {
+func pass1(fs *btrfs.FS, superblock *util.Ref[btrfsvol.PhysicalAddr, btrfs.Superblock]) (map[btrfsvol.LogicalAddr]struct{}, error) {
fmt.Printf("\nPass 1: chunk mappings...\n")
fmt.Printf("Pass 1: ... walking fs\n")
- visitedNodes := make(map[btrfs.LogicalAddr]struct{})
+ visitedNodes := make(map[btrfsvol.LogicalAddr]struct{})
btrfsmisc.WalkFS(fs, btrfsmisc.WalkFSHandler{
TreeWalkHandler: btrfs.TreeWalkHandler{
- Node: func(path btrfs.TreePath, node *util.Ref[btrfs.LogicalAddr, btrfs.Node], err error) error {
+ Node: func(path btrfs.TreePath, node *util.Ref[btrfsvol.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)
@@ -40,7 +40,7 @@ func pass1(fs *btrfs.FS, superblock *util.Ref[btrfs.PhysicalAddr, btrfs.Superblo
},
})
- fsFoundNodes := make(map[btrfs.LogicalAddr]struct{})
+ fsFoundNodes := make(map[btrfsvol.LogicalAddr]struct{})
for _, dev := range fs.LV.PhysicalVolumes() {
fmt.Printf("Pass 1: ... dev[%q] scanning for nodes...\n", dev.Name())
devResult, err := pass1ScanOneDev(dev, superblock.Data)
@@ -69,7 +69,7 @@ func pass1(fs *btrfs.FS, superblock *util.Ref[btrfs.PhysicalAddr, btrfs.Superblo
}
type pass1ScanOneDevResult struct {
- FoundNodes map[btrfs.LogicalAddr][]btrfs.PhysicalAddr
+ FoundNodes map[btrfsvol.LogicalAddr][]btrfsvol.PhysicalAddr
FoundChunks []btrfs.SysChunk
FoundBlockGroups []sysBlockGroup
FoundDevExtents []sysDevExtent
@@ -236,13 +236,13 @@ func pass1ScanOneDev_printProgress(dev *btrfs.Device, pct int, result pass1ScanO
func pass1ScanOneDev_real(dev *btrfs.Device, superblock btrfs.Superblock) (pass1ScanOneDevResult, error) {
result := pass1ScanOneDevResult{
- FoundNodes: make(map[btrfs.LogicalAddr][]btrfs.PhysicalAddr),
+ FoundNodes: make(map[btrfsvol.LogicalAddr][]btrfsvol.PhysicalAddr),
}
devSize, _ := dev.Size()
lastProgress := -1
- err := btrfsmisc.ScanForNodes(dev, superblock, func(nodeRef *util.Ref[btrfs.PhysicalAddr, btrfs.Node], err error) {
+ err := btrfsmisc.ScanForNodes(dev, superblock, func(nodeRef *util.Ref[btrfsvol.PhysicalAddr, btrfs.Node], err error) {
if err != nil {
fmt.Printf("Pass 1: ... dev[%q] error: %v\n", dev.Name(), err)
return
@@ -291,7 +291,7 @@ func pass1ScanOneDev_real(dev *btrfs.Device, superblock btrfs.Superblock) (pass1
})
}
}
- }, func(pos btrfs.PhysicalAddr) {
+ }, func(pos btrfsvol.PhysicalAddr) {
pct := int(100 * float64(pos) / float64(devSize))
if pct != lastProgress || pos == devSize {
pass1ScanOneDev_printProgress(dev, pct, result)
@@ -372,7 +372,7 @@ func pass1WriteReconstructedChunks(fs *btrfs.FS) {
// store that node at the root node of the chunk tree. This
// isn't true in general, but it's true of my particular
// filesystem.
- reconstructedNode := &util.Ref[btrfs.LogicalAddr, btrfs.Node]{
+ reconstructedNode := &util.Ref[btrfsvol.LogicalAddr, btrfs.Node]{
File: fs,
Addr: superblock.ChunkTree,
Data: btrfs.Node{
diff --git a/cmd/btrfs-fsck/pass2.go b/cmd/btrfs-fsck/pass2.go
index 989b79f..95a307c 100644
--- a/cmd/btrfs-fsck/pass2.go
+++ b/cmd/btrfs-fsck/pass2.go
@@ -5,17 +5,18 @@ import (
iofs "io/fs"
"lukeshu.com/btrfs-tools/pkg/btrfs"
+ "lukeshu.com/btrfs-tools/pkg/btrfs/btrfsvol"
"lukeshu.com/btrfs-tools/pkg/btrfsmisc"
"lukeshu.com/btrfs-tools/pkg/util"
)
-func pass2(fs *btrfs.FS, foundNodes map[btrfs.LogicalAddr]struct{}) {
+func pass2(fs *btrfs.FS, foundNodes map[btrfsvol.LogicalAddr]struct{}) {
fmt.Printf("\nPass 2: orphaned nodes\n")
- visitedNodes := make(map[btrfs.LogicalAddr]struct{})
+ visitedNodes := make(map[btrfsvol.LogicalAddr]struct{})
btrfsmisc.WalkFS(fs, btrfsmisc.WalkFSHandler{
TreeWalkHandler: btrfs.TreeWalkHandler{
- Node: func(path btrfs.TreePath, node *util.Ref[btrfs.LogicalAddr, btrfs.Node], err error) error {
+ Node: func(path btrfs.TreePath, node *util.Ref[btrfsvol.LogicalAddr, btrfs.Node], err error) error {
visitedNodes[node.Addr] = struct{}{}
return nil
},
@@ -25,20 +26,20 @@ func pass2(fs *btrfs.FS, foundNodes map[btrfs.LogicalAddr]struct{}) {
},
})
- orphanedNodes := make(map[btrfs.LogicalAddr]int)
+ orphanedNodes := make(map[btrfsvol.LogicalAddr]int)
for foundNode := range foundNodes {
if _, visited := visitedNodes[foundNode]; !visited {
orphanedNodes[foundNode] = 0
}
}
- orphanedRoots := make(map[btrfs.LogicalAddr]struct{}, len(orphanedNodes))
+ 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, _ *util.Ref[btrfs.LogicalAddr, btrfs.Node], _ error) error {
+ Node: func(path btrfs.TreePath, _ *util.Ref[btrfsvol.LogicalAddr, btrfs.Node], _ error) error {
nodeAddr := path[len(path)-1].NodeAddr
if nodeAddr != potentialRoot {
delete(orphanedRoots, nodeAddr)
diff --git a/cmd/btrfs-ls-files/main.go b/cmd/btrfs-ls-files/main.go
index 4cb4b56..4f9f520 100644
--- a/cmd/btrfs-ls-files/main.go
+++ b/cmd/btrfs-ls-files/main.go
@@ -6,6 +6,7 @@ import (
"lukeshu.com/btrfs-tools/pkg/btrfs"
"lukeshu.com/btrfs-tools/pkg/btrfs/btrfsitem"
+ "lukeshu.com/btrfs-tools/pkg/btrfs/btrfsvol"
"lukeshu.com/btrfs-tools/pkg/btrfsmisc"
"lukeshu.com/btrfs-tools/pkg/util"
)
@@ -51,7 +52,7 @@ func Main(imgfilenames ...string) (err error) {
return printDir(fs, fsTree, "", "/", fsTreeRootBody.RootDirID, fsTreeRootBody.Inode)
}
-func printDir(fs *btrfs.FS, fsTree btrfs.LogicalAddr, prefix, dirName string, dirInodeNum btrfs.ObjID, dirInode btrfsitem.Inode) error {
+func printDir(fs *btrfs.FS, fsTree btrfsvol.LogicalAddr, prefix, dirName string, dirInodeNum btrfs.ObjID, dirInode btrfsitem.Inode) error {
fmt.Printf("%s[%s\tino=%d\tuid=%d\tgid=%d\tsize=%d] %s\n",
prefix,
dirInode.Mode, dirInodeNum, dirInode.UID, dirInode.GID, dirInode.Size,
diff --git a/cmd/btrfs-ls-trees/main.go b/cmd/btrfs-ls-trees/main.go
index 395ef07..eb4fef5 100644
--- a/cmd/btrfs-ls-trees/main.go
+++ b/cmd/btrfs-ls-trees/main.go
@@ -8,6 +8,7 @@ import (
"lukeshu.com/btrfs-tools/pkg/btrfs"
"lukeshu.com/btrfs-tools/pkg/btrfs/btrfsitem"
+ "lukeshu.com/btrfs-tools/pkg/btrfs/btrfsvol"
"lukeshu.com/btrfs-tools/pkg/btrfsmisc"
"lukeshu.com/btrfs-tools/pkg/util"
)
@@ -37,7 +38,7 @@ func Main(imgfilenames ...string) (err error) {
var treeErrCnt int
var treeItemCnt map[btrfsitem.Type]int
btrfsmisc.WalkFS(fs, btrfsmisc.WalkFSHandler{
- PreTree: func(name string, laddr btrfs.LogicalAddr) {
+ PreTree: func(name string, laddr btrfsvol.LogicalAddr) {
treeErrCnt = 0
treeItemCnt = make(map[btrfsitem.Type]int)
fmt.Printf("tree laddr=%v name=%q\n", laddr, name)
@@ -52,7 +53,7 @@ func Main(imgfilenames ...string) (err error) {
return nil
},
},
- PostTree: func(name string, laddr btrfs.LogicalAddr) {
+ PostTree: func(name string, laddr btrfsvol.LogicalAddr) {
totalItems := 0
for _, cnt := range treeItemCnt {
totalItems += cnt