From d9cb7963948cfb1d705c35653f5237a5e8fee3f3 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Fri, 15 Jul 2022 11:11:10 -0600 Subject: down to just 2 rebuilt errors! ERRO[0248] ... dev["../scratch/dump-zero.img"] error: could not pair blockgroup laddr=0x0000000000500000 (size=0x0000000000800000 flags=METADATA|single) with a mapping THREAD=/main ERRO[0248] ... dev["../scratch/dump-zero.img"] error: adding flags from blockgroup: (0xc00022a050).AddMapping: member devext has locked size=0x0000000000800000, but union would have size=0x0000000040000000 THREAD=/main --- cmd/btrfs-rec/inspect_rebuildmappings.go | 40 +++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 13 deletions(-) (limited to 'cmd/btrfs-rec/inspect_rebuildmappings.go') diff --git a/cmd/btrfs-rec/inspect_rebuildmappings.go b/cmd/btrfs-rec/inspect_rebuildmappings.go index c32bf53..ab767a9 100644 --- a/cmd/btrfs-rec/inspect_rebuildmappings.go +++ b/cmd/btrfs-rec/inspect_rebuildmappings.go @@ -60,21 +60,35 @@ func init() { } dlog.Infof(ctx, "Writing reconstructed mappings to stdout...") - mappings := fs.LV.Mappings() - _, _ = io.WriteString(os.Stdout, "[\n") - for i, mapping := range mappings { - suffix := "," - if i == len(mappings)-1 { - suffix = "" - } - bs, err := json.Marshal(mapping) - if err != nil { - return err - } - fmt.Printf(" %s%s\n", bs, suffix) + if err := writeMappingsJSON(os.Stdout, fs); err != nil { + return err } - _, _ = io.WriteString(os.Stdout, "]\n") + return nil }, }) } + +func writeMappingsJSON(w io.Writer, fs *btrfs.FS) error { + mappings := fs.LV.Mappings() + if _, err := io.WriteString(w, "[\n"); err != nil { + return err + } + for i, mapping := range mappings { + suffix := "," + if i == len(mappings)-1 { + suffix = "" + } + bs, err := json.Marshal(mapping) + if err != nil { + return err + } + if _, err := fmt.Printf(" %s%s\n", bs, suffix); err != nil { + return err + } + } + if _, err := io.WriteString(w, "]\n"); err != nil { + return err + } + return nil +} -- cgit v1.2.3-2-g168b