diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-07-11 22:48:35 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2022-07-11 23:29:54 -0600 |
commit | a0daaacdd61f196fbc0ca90ed996e7eeb4d4fcdd (patch) | |
tree | 56baf5f2eb237265a9e70e48936e16be43092ea9 /cmd/btrfs-fsck/pass0.go | |
parent | 839dfa5d0aeadee9cb0f8581341922138f9595f0 (diff) |
move chunk reconstruction to btrfsinspect, add --mappings
Diffstat (limited to 'cmd/btrfs-fsck/pass0.go')
-rw-r--r-- | cmd/btrfs-fsck/pass0.go | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/cmd/btrfs-fsck/pass0.go b/cmd/btrfs-fsck/pass0.go index d69e6c0..ae86003 100644 --- a/cmd/btrfs-fsck/pass0.go +++ b/cmd/btrfs-fsck/pass0.go @@ -5,30 +5,22 @@ package main import ( + "context" "fmt" "os" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfsprogs/btrfsutil" "git.lukeshu.com/btrfs-progs-ng/lib/util" ) -func pass0(filenames ...string) (*btrfs.FS, *util.Ref[btrfsvol.PhysicalAddr, btrfs.Superblock], error) { +func pass0(ctx context.Context, filenames ...string) (*btrfs.FS, *util.Ref[btrfsvol.PhysicalAddr, btrfs.Superblock], error) { fmt.Printf("\nPass 0: init and superblocks...\n") - fs := new(btrfs.FS) - for _, filename := range filenames { - fmt.Printf("Pass 0: ... adding device %q...\n", filename) - - fh, err := os.OpenFile(filename, os.O_RDWR, 0) - if err != nil { - _ = fs.Close() - return nil, nil, fmt.Errorf("device %q: %w", filename, err) - } - - if err := fs.AddDevice(&btrfs.Device{File: fh}); err != nil { - fmt.Printf("Pass 0: ... add device %q: error: %v\n", filename, err) - } + fs, err := btrfsutil.Open(ctx, os.O_RDWR, filenames...) + if err != nil { + return nil, nil, err } sb, err := fs.Superblock() |