diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2023-04-04 14:06:31 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2023-04-04 14:06:31 -0600 |
commit | b0f290078d531d2dcb5d34e809b0711ce9b6491e (patch) | |
tree | 01cb01e76eaf75fe3e5e35b5cc9e3df6109dd6aa | |
parent | abad134af95903657b3a35ae69b827bcba22f841 (diff) | |
parent | acd2813582fb2e463780149eebe655d5070f204b (diff) |
Merge branch 'lukeshu/errs'
-rw-r--r-- | lib/btrfs/btrfstree/node_exp.go | 4 | ||||
-rw-r--r-- | lib/btrfsutil/old_rebuilt_forrest.go | 18 |
2 files changed, 12 insertions, 10 deletions
diff --git a/lib/btrfs/btrfstree/node_exp.go b/lib/btrfs/btrfstree/node_exp.go index dec6dbb..f20eee1 100644 --- a/lib/btrfs/btrfstree/node_exp.go +++ b/lib/btrfs/btrfstree/node_exp.go @@ -53,11 +53,11 @@ func (exp NodeExpectations) Check(node *Node) error { } else { if minItem, _ := node.MinItem(); exp.MinItem.OK && exp.MinItem.Val.Compare(minItem) > 0 { errs = append(errs, fmt.Errorf("expected minItem>=%v but node has minItem=%v", - exp.MinItem, minItem)) + exp.MinItem.Val, minItem)) } if maxItem, _ := node.MaxItem(); exp.MaxItem.OK && exp.MaxItem.Val.Compare(maxItem) < 0 { errs = append(errs, fmt.Errorf("expected maxItem<=%v but node has maxItem=%v", - exp.MaxItem, maxItem)) + exp.MaxItem.Val, maxItem)) } } if len(errs) > 0 { diff --git a/lib/btrfsutil/old_rebuilt_forrest.go b/lib/btrfsutil/old_rebuilt_forrest.go index 9035b98..c451fb8 100644 --- a/lib/btrfsutil/old_rebuilt_forrest.go +++ b/lib/btrfsutil/old_rebuilt_forrest.go @@ -35,13 +35,14 @@ type oldRebuiltTree struct { var _ btrfstree.Tree = oldRebuiltTree{} type oldRebuiltTreeError struct { - Min btrfsprim.Key - Max btrfsprim.Key - Err error + Min btrfsprim.Key + Max btrfsprim.Key + Node btrfsvol.LogicalAddr + Err error } func (e oldRebuiltTreeError) Error() string { - return fmt.Sprintf("keys %v-%v: %v", e.Min, e.Max, e.Err) + return fmt.Sprintf("keys %v-%v: node@%v: %v", e.Min, e.Max, e.Node, e.Err) } func (e oldRebuiltTreeError) Unwrap() error { @@ -189,11 +190,12 @@ func (bt *OldRebuiltForrest) rawTreeWalk(ctx context.Context, treeID btrfsprim.O var curNode nodeInfo cbs := btrfstree.TreeWalkHandler{ BadNode: func(path btrfstree.Path, node *btrfstree.Node, err error) bool { - _, nodeExp, _ := path.NodeExpectations(ctx, false) + nodeAddr, nodeExp, _ := path.NodeExpectations(ctx, false) cacheEntry.Errors.Insert(oldRebuiltTreeError{ - Min: nodeExp.MinItem.Val, - Max: nodeExp.MaxItem.Val, - Err: err, + Min: nodeExp.MinItem.Val, + Max: nodeExp.MaxItem.Val, + Node: nodeAddr, + Err: err, }) return false }, |