diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-26 21:27:55 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-26 22:19:41 -0600 |
commit | 64c04fc690ec5a276e11500691173962bbe4d99e (patch) | |
tree | f01996f95da88c38ee4bc1aa3691dc650eebf2e7 /cmd/btrfs-fsck/pass0.go | |
parent | bfb830d024fd6309d81e20a7d21a2433c4ec9c93 (diff) |
fuss with exposing .LV and how init happens
Diffstat (limited to 'cmd/btrfs-fsck/pass0.go')
-rw-r--r-- | cmd/btrfs-fsck/pass0.go | 19 |
1 files changed, 14 insertions, 5 deletions
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 } |