diff options
Diffstat (limited to 'cmd/btrfs-dump-tree')
-rw-r--r-- | cmd/btrfs-dump-tree/main.go | 76 |
1 files changed, 4 insertions, 72 deletions
diff --git a/cmd/btrfs-dump-tree/main.go b/cmd/btrfs-dump-tree/main.go index 14bb201..cf29ea4 100644 --- a/cmd/btrfs-dump-tree/main.go +++ b/cmd/btrfs-dump-tree/main.go @@ -8,9 +8,8 @@ import ( "fmt" "os" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsitem" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfsmisc" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfsprogs/btrfsinspect" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfsprogs/btrfsutil" ) func main() { @@ -29,7 +28,7 @@ func Main(imgfilename string) (err error) { } } - fs, err := btrfsmisc.Open(os.O_RDONLY, imgfilename) + fs, err := btrfsutil.Open(os.O_RDONLY, imgfilename) if err != nil { return err } @@ -37,73 +36,6 @@ func Main(imgfilename string) (err error) { maybeSetErr(fs.Close()) }() - superblock, err := fs.Superblock() - if err != nil { - return err - } - fmt.Printf("btrfs-progs v%v\n", version) - if superblock.Data.RootTree != 0 { - fmt.Printf("root tree\n") - if err := btrfsmisc.PrintTree(fs, btrfs.ROOT_TREE_OBJECTID); err != nil { - return err - } - } - if superblock.Data.ChunkTree != 0 { - fmt.Printf("chunk tree\n") - if err := btrfsmisc.PrintTree(fs, btrfs.CHUNK_TREE_OBJECTID); err != nil { - return err - } - } - if superblock.Data.LogTree != 0 { - fmt.Printf("log root tree\n") - if err := btrfsmisc.PrintTree(fs, btrfs.TREE_LOG_OBJECTID); err != nil { - return err - } - } - if superblock.Data.BlockGroupRoot != 0 { - fmt.Printf("block group tree\n") - if err := btrfsmisc.PrintTree(fs, btrfs.BLOCK_GROUP_TREE_OBJECTID); err != nil { - return err - } - } - if err := fs.TreeWalk(btrfs.ROOT_TREE_OBJECTID, btrfs.TreeWalkHandler{ - Item: func(_ btrfs.TreePath, item btrfs.Item) error { - if item.Head.Key.ItemType != btrfsitem.ROOT_ITEM_KEY { - return nil - } - treeName, ok := map[btrfs.ObjID]string{ - btrfs.ROOT_TREE_OBJECTID: "root", - btrfs.EXTENT_TREE_OBJECTID: "extent", - btrfs.CHUNK_TREE_OBJECTID: "chunk", - btrfs.DEV_TREE_OBJECTID: "device", - btrfs.FS_TREE_OBJECTID: "fs", - btrfs.ROOT_TREE_DIR_OBJECTID: "directory", - btrfs.CSUM_TREE_OBJECTID: "checksum", - btrfs.ORPHAN_OBJECTID: "orphan", - btrfs.TREE_LOG_OBJECTID: "log", - btrfs.TREE_LOG_FIXUP_OBJECTID: "log fixup", - btrfs.TREE_RELOC_OBJECTID: "reloc", - btrfs.DATA_RELOC_TREE_OBJECTID: "data reloc", - btrfs.EXTENT_CSUM_OBJECTID: "extent checksum", - btrfs.QUOTA_TREE_OBJECTID: "quota", - btrfs.UUID_TREE_OBJECTID: "uuid", - btrfs.FREE_SPACE_TREE_OBJECTID: "free space", - btrfs.MULTIPLE_OBJECTIDS: "multiple", - btrfs.BLOCK_GROUP_TREE_OBJECTID: "block group", - }[item.Head.Key.ObjectID] - if !ok { - treeName = "file" - } - fmt.Printf("%v tree %v \n", treeName, btrfsmisc.FmtKey(item.Head.Key)) - return btrfsmisc.PrintTree(fs, item.Head.Key.ObjectID) - }, - }); err != nil { - return err - } - fmt.Printf("total bytes %v\n", superblock.Data.TotalBytes) - fmt.Printf("bytes used %v\n", superblock.Data.BytesUsed) - fmt.Printf("uuid %v\n", superblock.Data.FSUUID) - - return nil + return btrfsinspect.DumpTrees(fs) } |