diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-12-30 21:52:57 -0700 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2023-01-05 19:48:17 -0700 |
commit | e18c0e92ba35bb863f7375b190b0448d5fa65d33 (patch) | |
tree | bd8dde285f2eb1f3d24abb5b2703c157f12125b7 /lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/forrest.go | |
parent | 1f8734f894ac5fdaee25bba5b1e3ffd10b31ef4e (diff) |
rebuildnodes/btrees: Allow item rbtrees to be evicted
Diffstat (limited to 'lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/forrest.go')
-rw-r--r-- | lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/forrest.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/forrest.go b/lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/forrest.go index 791e646..c0b7698 100644 --- a/lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/forrest.go +++ b/lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/forrest.go @@ -17,6 +17,7 @@ import ( "git.lukeshu.com/btrfs-progs-ng/lib/btrfsprogs/btrfsinspect/rebuildnodes/keyio" "git.lukeshu.com/btrfs-progs-ng/lib/containers" "git.lukeshu.com/btrfs-progs-ng/lib/slices" + "git.lukeshu.com/btrfs-progs-ng/lib/textui" ) // RebuiltForrest is an abstraction for rebuilding and accessing @@ -61,7 +62,9 @@ type RebuiltForrest struct { cbLookupUUID func(ctx context.Context, uuid btrfsprim.UUID) (id btrfsprim.ObjID, ok bool) // mutable - trees map[btrfsprim.ObjID]*RebuiltTree + trees map[btrfsprim.ObjID]*RebuiltTree + allItems *containers.LRUCache[btrfsprim.ObjID, *itemIndex] + incItems *containers.LRUCache[btrfsprim.ObjID, *itemIndex] } // NewRebuiltForrest returns a new RebuiltForrest instance. All of @@ -81,7 +84,9 @@ func NewRebuiltForrest( cbLookupRoot: cbLookupRoot, cbLookupUUID: cbLookupUUID, - trees: make(map[btrfsprim.ObjID]*RebuiltTree), + trees: make(map[btrfsprim.ObjID]*RebuiltTree), + allItems: containers.NewLRUCache[btrfsprim.ObjID, *itemIndex](textui.Tunable(16)), + incItems: containers.NewLRUCache[btrfsprim.ObjID, *itemIndex](textui.Tunable(16)), } } |