summaryrefslogtreecommitdiff
path: root/cmd/btrfs-rec/inspect_rebuildtrees.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-03-10 19:31:50 -0700
committerLuke Shumaker <lukeshu@lukeshu.com>2023-04-04 14:08:38 -0600
commit5d2729a4e15dca6e22187cd5de272a2a2d191131 (patch)
tree79a9fd988757a16b7d053d71ea5fd1e70c491094 /cmd/btrfs-rec/inspect_rebuildtrees.go
parentbc94e6dbf6e9212820615a3d3f3e4542693351a6 (diff)
cmd/btrfs-rec: Move --node-list to be a global flag
Diffstat (limited to 'cmd/btrfs-rec/inspect_rebuildtrees.go')
-rw-r--r--cmd/btrfs-rec/inspect_rebuildtrees.go24
1 files changed, 3 insertions, 21 deletions
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)
+ })
}