From 5d2729a4e15dca6e22187cd5de272a2a2d191131 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Fri, 10 Mar 2023 19:31:50 -0700 Subject: cmd/btrfs-rec: Move --node-list to be a global flag --- cmd/btrfs-rec/inspect_rebuildtrees.go | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) (limited to 'cmd/btrfs-rec/inspect_rebuildtrees.go') diff --git a/cmd/btrfs-rec/inspect_rebuildtrees.go b/cmd/btrfs-rec/inspect_rebuildtrees.go index 676533a..1e808a0 100644 --- a/cmd/btrfs-rec/inspect_rebuildtrees.go +++ b/cmd/btrfs-rec/inspect_rebuildtrees.go @@ -17,13 +17,11 @@ import ( "git.lukeshu.com/btrfs-progs-ng/cmd/btrfs-rec/inspect/rebuildtrees" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfsutil" "git.lukeshu.com/btrfs-progs-ng/lib/textui" ) func init() { - var nodeListFilename string - cmd := &cobra.Command{ + inspectors.AddCommand(&cobra.Command{ Use: "rebuild-trees", Long: "" + "Rebuild broken btrees based on missing items that are implied " + @@ -34,20 +32,9 @@ func init() { "If no --node-list is given, then a slow sector-by-sector scan " + "will be used to find all nodes.", Args: cliutil.WrapPositionalArgs(cobra.NoArgs), - RunE: runWithRawFS(func(fs *btrfs.FS, cmd *cobra.Command, args []string) error { + RunE: runWithRawFSAndNodeList(func(fs *btrfs.FS, nodeList []btrfsvol.LogicalAddr, cmd *cobra.Command, args []string) error { ctx := cmd.Context() - var nodeList []btrfsvol.LogicalAddr - var err error - if nodeListFilename != "" { - nodeList, err = readJSONFile[[]btrfsvol.LogicalAddr](ctx, nodeListFilename) - } else { - nodeList, err = btrfsutil.ListNodes(ctx, fs) - } - if err != nil { - return err - } - rebuilder, err := rebuildtrees.NewRebuilder(ctx, fs, nodeList) if err != nil { return err @@ -78,10 +65,5 @@ func init() { return rebuildErr }), - } - cmd.Flags().StringVar(&nodeListFilename, "node-list", "", - "Output of 'btrfs-recs inspect [rebuild-mappings] list-nodes' to use for the node list") - noError(cmd.MarkFlagFilename("node-list")) - - inspectors.AddCommand(cmd) + }) } -- cgit v1.2.3-2-g168b