From 64c04fc690ec5a276e11500691173962bbe4d99e Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 26 Jun 2022 21:27:55 -0600 Subject: fuss with exposing .LV and how init happens --- cmd/btrfs-fsck/pass0.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'cmd/btrfs-fsck/pass0.go') diff --git a/cmd/btrfs-fsck/pass0.go b/cmd/btrfs-fsck/pass0.go index 8482826..2a8e20a 100644 --- a/cmd/btrfs-fsck/pass0.go +++ b/cmd/btrfs-fsck/pass0.go @@ -2,18 +2,27 @@ package main import ( "fmt" + "os" "lukeshu.com/btrfs-tools/pkg/btrfs" "lukeshu.com/btrfs-tools/pkg/util" ) -func pass0(fs *btrfs.FS) (*util.Ref[btrfs.PhysicalAddr, btrfs.Superblock], error) { - fmt.Printf("\nPass 0: superblocks...\n") +func pass0(imgfiles ...*os.File) (*btrfs.FS, *util.Ref[btrfs.PhysicalAddr, btrfs.Superblock], error) { + fmt.Printf("\nPass 0: init and superblocks...\n") - superblock, err := fs.Superblock() + fs := new(btrfs.FS) + for _, imgfile := range imgfiles { + fmt.Printf("Pass 0: ... adding device %q...\n", imgfile.Name()) + if err := fs.AddDevice(&btrfs.Device{File: imgfile}); err != nil { + fmt.Printf("Pass 0: ... add device %q: error: %v\n", imgfile.Name(), err) + } + } + + sb, err := fs.Superblock() if err != nil { - return nil, fmt.Errorf("superblock: %w", err) + return nil, nil, err } - return superblock, nil + return fs, sb, nil } -- cgit v1.2.3-2-g168b