ref: e0ce3837ee2ea643a4cd7eb5e7b068aae0b3910d
parent: 1cd58d8ec3f0f4e5ac84ba6c021d0ce098802f31
author: Runxi Yu <me@runxiyu.org>
date: Sun Feb 22 06:30:17 EST 2026
objectstore/chain: Fix lints
--- a/objectstore/chain/chain.go
+++ b/objectstore/chain/chain.go
@@ -22,12 +22,6 @@
backendNodeByStore map[objectstore.Store]*backendNode
}
-type backendNode struct {- backend objectstore.Store
- prev *backendNode
- next *backendNode
-}
-
// New creates a Chain from backends.
func New(backends ...objectstore.Store) *Chain {nodeByStore := make(map[objectstore.Store]*backendNode, len(backends))
@@ -59,59 +53,6 @@
}
}
-func (chain *Chain) firstBackend() objectstore.Store {- chain.mu.RLock()
- defer chain.mu.RUnlock()
- if chain.backendHead == nil {- return nil
- }
- return chain.backendHead.backend
-}
-
-func (chain *Chain) nextBackend(current objectstore.Store) objectstore.Store {- chain.mu.RLock()
- defer chain.mu.RUnlock()
- node := chain.backendNodeByStore[current]
- if node == nil || node.next == nil {- return nil
- }
- return node.next.backend
-}
-
-func (chain *Chain) touchBackend(backend objectstore.Store) {- if backend == nil {- return
- }
- if !chain.mu.TryLock() {- return
- }
- defer chain.mu.Unlock()
-
- node := chain.backendNodeByStore[backend]
- if node == nil || node == chain.backendHead {- return
- }
- if node.prev != nil {- node.prev.next = node.next
- }
- if node.next != nil {- node.next.prev = node.prev
- }
- if chain.backendTail == node {- chain.backendTail = node.prev
- }
-
- node.prev = nil
- node.next = chain.backendHead
- if chain.backendHead != nil {- chain.backendHead.prev = node
- }
- chain.backendHead = node
- if chain.backendTail == nil {- chain.backendTail = node
- }
-}
-
// ReadBytesFull reads a full serialized object from one backend that has it.
func (chain *Chain) ReadBytesFull(id objectid.ObjectID) ([]byte, error) { for i, backend := 0, chain.firstBackend(); backend != nil; i, backend = i+1, chain.nextBackend(backend) {@@ -227,4 +168,63 @@
}
}
return errors.Join(errs...)
+}
+
+type backendNode struct {+ backend objectstore.Store
+ prev *backendNode
+ next *backendNode
+}
+
+func (chain *Chain) firstBackend() objectstore.Store {+ chain.mu.RLock()
+ defer chain.mu.RUnlock()
+ if chain.backendHead == nil {+ return nil
+ }
+ return chain.backendHead.backend
+}
+
+func (chain *Chain) nextBackend(current objectstore.Store) objectstore.Store {+ chain.mu.RLock()
+ defer chain.mu.RUnlock()
+ node := chain.backendNodeByStore[current]
+ if node == nil || node.next == nil {+ return nil
+ }
+ return node.next.backend
+}
+
+func (chain *Chain) touchBackend(backend objectstore.Store) {+ if backend == nil {+ return
+ }
+ if !chain.mu.TryLock() {+ return
+ }
+ defer chain.mu.Unlock()
+
+ node := chain.backendNodeByStore[backend]
+ if node == nil || node == chain.backendHead {+ return
+ }
+ if node.prev != nil {+ node.prev.next = node.next
+ }
+ if node.next != nil {+ node.next.prev = node.prev
+ }
+ if chain.backendTail == node {+ chain.backendTail = node.prev
+ }
+
+ node.prev = nil
+ node.next = chain.backendHead
+ if chain.backendHead != nil {+ chain.backendHead.prev = node
+ }
+ chain.backendHead = node
+ if chain.backendTail == nil {+ chain.backendTail = node
+ }
}
--
⑨