From 1ea26f04701fa66e36b058f3efb3a6c7059cdc5c Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Fri, 17 Mar 2023 02:28:54 -0400 Subject: tree-wide: Turn on all revive linters (with exceptions) --- lib/btrfs/btrfstree/btree_tree.go | 5 +++-- lib/btrfs/btrfstree/path.go | 27 +++++++++++++-------------- lib/btrfs/btrfstree/types_node.go | 29 ++++++++++++++++------------- 3 files changed, 32 insertions(+), 29 deletions(-) (limited to 'lib/btrfs/btrfstree') diff --git a/lib/btrfs/btrfstree/btree_tree.go b/lib/btrfs/btrfstree/btree_tree.go index df58c0c..1e3c789 100644 --- a/lib/btrfs/btrfstree/btree_tree.go +++ b/lib/btrfs/btrfstree/btree_tree.go @@ -188,7 +188,8 @@ func (fs TreeOperatorImpl) treeSearch(treeRoot TreeRoot, fn func(btrfsprim.Key, return nil, nil, err } - if node.Data.Head.Level > 0 { + switch { + case node.Data.Head.Level > 0: // interior node // Search for the right-most node.Data.BodyInterior item for which @@ -220,7 +221,7 @@ func (fs TreeOperatorImpl) treeSearch(treeRoot TreeRoot, fn func(btrfsprim.Key, ToMaxKey: toMaxKey, }) FreeNodeRef(node) - } else { + default: // leaf node // Search for a member of node.Data.BodyLeaf for which diff --git a/lib/btrfs/btrfstree/path.go b/lib/btrfs/btrfstree/path.go index dc2fc1d..b9ab5bc 100644 --- a/lib/btrfs/btrfstree/path.go +++ b/lib/btrfs/btrfstree/path.go @@ -101,23 +101,22 @@ func (elem TreePathElem) writeNodeTo(w io.Writer) { func (path TreePath) String() string { if len(path) == 0 { return "(empty-path)" + } + var ret strings.Builder + fmt.Fprintf(&ret, "%s->", path[0].FromTree.Format(btrfsprim.ROOT_TREE_OBJECTID)) + if len(path) == 1 && path[0] == (TreePathElem{FromTree: path[0].FromTree, FromItemSlot: -1}) { + ret.WriteString("(empty-path)") } else { - var ret strings.Builder - fmt.Fprintf(&ret, "%s->", path[0].FromTree.Format(btrfsprim.ROOT_TREE_OBJECTID)) - if len(path) == 1 && path[0] == (TreePathElem{FromTree: path[0].FromTree, FromItemSlot: -1}) { - ret.WriteString("(empty-path)") - } else { - path[0].writeNodeTo(&ret) - } - for _, elem := range path[1:] { - fmt.Fprintf(&ret, "[%v]", elem.FromItemSlot) - if elem.ToNodeAddr != 0 { - ret.WriteString("->") - elem.writeNodeTo(&ret) - } + path[0].writeNodeTo(&ret) + } + for _, elem := range path[1:] { + fmt.Fprintf(&ret, "[%v]", elem.FromItemSlot) + if elem.ToNodeAddr != 0 { + ret.WriteString("->") + elem.writeNodeTo(&ret) } - return ret.String() } + return ret.String() } func (path TreePath) DeepCopy() TreePath { diff --git a/lib/btrfs/btrfstree/types_node.go b/lib/btrfs/btrfstree/types_node.go index c770fe8..8295ccb 100644 --- a/lib/btrfs/btrfstree/types_node.go +++ b/lib/btrfs/btrfstree/types_node.go @@ -113,20 +113,22 @@ type NodeHeader struct { // .Head.NumItems. func (node Node) MaxItems() uint32 { bodyBytes := node.Size - uint32(nodeHeaderSize) - if node.Head.Level > 0 { + switch { + case node.Head.Level > 0: return bodyBytes / uint32(keyPointerSize) - } else { + default: return bodyBytes / uint32(itemHeaderSize) } } func (node Node) MinItem() (btrfsprim.Key, bool) { - if node.Head.Level > 0 { + switch { + case node.Head.Level > 0: if len(node.BodyInterior) == 0 { return btrfsprim.Key{}, false } return node.BodyInterior[0].Key, true - } else { + default: if len(node.BodyLeaf) == 0 { return btrfsprim.Key{}, false } @@ -135,12 +137,13 @@ func (node Node) MinItem() (btrfsprim.Key, bool) { } func (node Node) MaxItem() (btrfsprim.Key, bool) { - if node.Head.Level > 0 { + switch { + case node.Head.Level > 0: if len(node.BodyInterior) == 0 { return btrfsprim.Key{}, false } return node.BodyInterior[len(node.BodyInterior)-1].Key, true - } else { + default: if len(node.BodyLeaf) == 0 { return btrfsprim.Key{}, false } @@ -221,15 +224,15 @@ func (node Node) MarshalBinary() ([]byte, error) { buf := make([]byte, node.Size) - if bs, err := binstruct.Marshal(node.Head); err != nil { + bs, err := binstruct.Marshal(node.Head) + if err != nil { return buf, err - } else { - if len(bs) != nodeHeaderSize { - return nil, fmt.Errorf("header is %v bytes but expected %v", - len(bs), nodeHeaderSize) - } - copy(buf, bs) } + if len(bs) != nodeHeaderSize { + return nil, fmt.Errorf("header is %v bytes but expected %v", + len(bs), nodeHeaderSize) + } + copy(buf, bs) if node.Head.Level > 0 { if err := node.marshalInteriorTo(buf[nodeHeaderSize:]); err != nil { -- cgit v1.2.3-54-g00ecf