From 502cdc72771de93ce41e2a00bc201fc488603f59 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 26 Jun 2022 19:55:49 -0600 Subject: better volume! --- cmd/btrfs-dbg/main.go | 16 ++++++++-------- cmd/btrfs-dump-tree/main.go | 11 ++++------- cmd/btrfs-fsck/main.go | 10 ++++------ cmd/btrfs-fsck/pass1.go | 4 ++-- 4 files changed, 18 insertions(+), 23 deletions(-) (limited to 'cmd') diff --git a/cmd/btrfs-dbg/main.go b/cmd/btrfs-dbg/main.go index 62b005c..3f30915 100644 --- a/cmd/btrfs-dbg/main.go +++ b/cmd/btrfs-dbg/main.go @@ -32,15 +32,15 @@ func Main(imgfilename string) (err error) { defer func() { maybeSetErr(fh.Close()) }() - fs := &btrfs.FS{ - Devices: []*btrfs.Device{ - { - File: fh, - }, - }, + dev := &btrfs.Device{ + File: fh, + } + fs := new(btrfs.FS) + if err := fs.AddDevice(dev); err != nil { + return err } - superblocks, err := fs.Devices[0].Superblocks() + superblocks, err := fs.Superblocks() if err != nil { return err } @@ -61,7 +61,7 @@ func Main(imgfilename string) (err error) { } spew.Dump(syschunks) - if err := btrfsmisc.ScanForNodes(fs.Devices[0], 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[btrfs.PhysicalAddr, btrfs.Node], err error) { if err != nil { fmt.Println(err) } else { diff --git a/cmd/btrfs-dump-tree/main.go b/cmd/btrfs-dump-tree/main.go index 3c7bcda..9c8e4c5 100644 --- a/cmd/btrfs-dump-tree/main.go +++ b/cmd/btrfs-dump-tree/main.go @@ -32,14 +32,11 @@ func Main(imgfilename string) (err error) { defer func() { maybeSetErr(fh.Close()) }() - fs := &btrfs.FS{ - Devices: []*btrfs.Device{ - { - File: fh, - }, - }, - } + fs := new(btrfs.FS) + if err := fs.AddDevice(&btrfs.Device{File: fh}); err != nil { + return err + } if err := fs.Init(); err != nil { fmt.Printf("(error) %v\n", err) } diff --git a/cmd/btrfs-fsck/main.go b/cmd/btrfs-fsck/main.go index c4bfc75..0083bd9 100644 --- a/cmd/btrfs-fsck/main.go +++ b/cmd/btrfs-fsck/main.go @@ -28,12 +28,10 @@ func Main(imgfilename string) (err error) { defer func() { maybeSetErr(fh.Close()) }() - fs := &btrfs.FS{ - Devices: []*btrfs.Device{ - { - File: fh, - }, - }, + + fs := new(btrfs.FS) + if err := fs.AddDevice(&btrfs.Device{File: fh}); err != nil { + return err } superblock, err := pass0(fs) diff --git a/cmd/btrfs-fsck/pass1.go b/cmd/btrfs-fsck/pass1.go index 4507313..734ee40 100644 --- a/cmd/btrfs-fsck/pass1.go +++ b/cmd/btrfs-fsck/pass1.go @@ -44,7 +44,7 @@ func pass1(fs *btrfs.FS, superblock *util.Ref[btrfs.PhysicalAddr, btrfs.Superblo Size btrfs.AddrDelta Stripes []btrfsitem.ChunkStripe }) - for _, dev := range fs.Devices { + for _, dev := range fs.Devices() { fmt.Printf("Pass 1: ... dev[%q] scanning for nodes...\n", dev.Name()) devResult, err := pass1ScanOneDev(dev, superblock.Data) if err != nil { @@ -505,7 +505,7 @@ func pass1WriteReconstructedChunks( }, } - for _, dev := range fs.Devices { + for _, dev := range fs.Devices() { superblock, _ := dev.Superblock() reconstructedNode.Data.BodyLeaf = append(reconstructedNode.Data.BodyLeaf, btrfs.Item{ Head: btrfs.ItemHeader{ -- cgit v1.2.3-2-g168b