diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2023-04-04 13:16:55 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2023-04-04 13:16:55 -0600 |
commit | abad134af95903657b3a35ae69b827bcba22f841 (patch) | |
tree | bc7a628ffb336b1c790f84b3b489e8235b4ec81d /lib/btrfsutil/graph_loops.go | |
parent | 5d0bd02aefed7e08f3afddf20066605149cb0b87 (diff) | |
parent | 607ea25ea1c0397749db39a15bd52c5e0d3cf552 (diff) |
Merge branch 'lukeshu/fixes'
Diffstat (limited to 'lib/btrfsutil/graph_loops.go')
-rw-r--r-- | lib/btrfsutil/graph_loops.go | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/lib/btrfsutil/graph_loops.go b/lib/btrfsutil/graph_loops.go index b5690af..2819482 100644 --- a/lib/btrfsutil/graph_loops.go +++ b/lib/btrfsutil/graph_loops.go @@ -24,13 +24,13 @@ func (g Graph) renderNode(node btrfsvol.LogicalAddr) []string { fmt.Sprintf(" gen: %v,", nodeData.Generation), fmt.Sprintf(" num_items: %v,", len(nodeData.Items)), fmt.Sprintf(" min_item: {%d,%v,%d},", - nodeData.MinItem().ObjectID, - nodeData.MinItem().ItemType, - nodeData.MinItem().Offset), + nodeData.MinItem(g).ObjectID, + nodeData.MinItem(g).ItemType, + nodeData.MinItem(g).Offset), fmt.Sprintf(" max_item: {%d,%v,%d}}", - nodeData.MaxItem().ObjectID, - nodeData.MaxItem().ItemType, - nodeData.MaxItem().Offset), + nodeData.MaxItem(g).ObjectID, + nodeData.MaxItem(g).ItemType, + nodeData.MaxItem(g).Offset), } } else if nodeErr, ok := g.BadNodes[node]; ok { return []string{ @@ -43,7 +43,7 @@ func (g Graph) renderNode(node btrfsvol.LogicalAddr) []string { } func (g Graph) renderEdge(kp GraphEdge) []string { - a := fmt.Sprintf("[%d]={", kp.FromItem) + a := fmt.Sprintf("[%d]={", kp.FromSlot) b := strings.Repeat(" ", len(a)) ret := []string{ a + fmt.Sprintf("ToNode: %v,", kp.ToNode), @@ -59,7 +59,7 @@ func (g Graph) renderEdge(kp GraphEdge) []string { if toNode, ok := g.Nodes[kp.ToNode]; !ok { err = g.BadNodes[kp.ToNode] } else { - err = checkNodeExpectations(kp, toNode) + err = g.loopCheckNodeExpectations(kp, toNode) } if err != nil { c := strings.Repeat(" ", len(a)-1) @@ -110,7 +110,7 @@ func (g Graph) renderLoop(stack []btrfsvol.LogicalAddr) []string { return lines } -func checkNodeExpectations(kp GraphEdge, toNode GraphNode) error { +func (g Graph) loopCheckNodeExpectations(kp GraphEdge, toNode GraphNode) error { var errs derror.MultiError if toNode.Level != kp.ToLevel { errs = append(errs, fmt.Errorf("kp.level=%v != node.level=%v", @@ -123,9 +123,9 @@ func checkNodeExpectations(kp GraphEdge, toNode GraphNode) error { switch { case len(toNode.Items) == 0: errs = append(errs, fmt.Errorf("node.num_items=0")) - case kp.ToKey != (btrfsprim.Key{}) && toNode.MinItem() != kp.ToKey: + case kp.ToKey != (btrfsprim.Key{}) && toNode.MinItem(g) != kp.ToKey: errs = append(errs, fmt.Errorf("kp.key=%v != node.items[0].key=%v", - kp.ToKey, toNode.MinItem())) + kp.ToKey, toNode.MinItem(g))) } if len(errs) > 0 { return errs |