summaryrefslogtreecommitdiff
path: root/lib/btrfsprogs/btrfsinspect/rebuildnodes
AgeCommit message (Collapse)Author
2023-02-12rebuildnodes: rebuild.go: Tidy upLuke Shumaker
2023-02-12rebuildnodes/btrees: Take a Callbacks interface, instead of func pointersLuke Shumaker
2023-02-12rebuildnodes: Don't have wantKeys be stringly-typedLuke Shumaker
2023-02-12rebuildnodes: Split rebuild.go in to separate filesLuke Shumaker
2023-02-12rebuildnodes: Having the treeAugmentQueue instance be named treeQueue is ↵Luke Shumaker
confusing Since there's also Rebuilder.treeQueue.
2023-02-12rebuildnodes: Move each substep in to its own methodLuke Shumaker
2023-02-12rebuildnodes: Explicitly track whether curKey.Key is validLuke Shumaker
2023-02-12rebuildnodes: Rework to be clear about what went wrong when readingLuke Shumaker
2023-02-12btrfstree: Add a FreeNodeRef function, use itLuke Shumaker
2023-02-12btrfsitem: Have all Item implementations be pointers to structsLuke Shumaker
2023-02-12tree-wide: Migrate to the new ARCacheLuke Shumaker
2023-02-12containers: Rethink the RBTree interface to be simplerLuke Shumaker
2023-02-05containers: s/Cmp/Compare/ to match the standard libraryLuke Shumaker
Go 1.18 added net/netip.Addr.Compare, and Go 1.20 added time.Time.Compare.
2023-01-30Split lib/containers.Sync* to git.lukeshu.com/go/typedsyncLuke Shumaker
2023-01-07fixup! rebuildnodes/btrees: Don't include .Items() in .PotentialItems()Luke Shumaker
2023-01-05rebuildnodes/btrees: Switch from a sync.Mutex to a sync.RWMutexLuke Shumaker
2023-01-05rebuildnodes: Speed up treeAugmentQueue.has()Luke Shumaker
2023-01-05rebuildnodes: Don't store negative results that are unlikely to come up againLuke Shumaker
2023-01-05rebuildnodes: _walkRange: Tidy upLuke Shumaker
2023-01-05rebuildnodes: Factor out repeated code in _wantRangeLuke Shumaker
2023-01-05rebuildnodes/btrees: Rework RebuiltTree.items() to be faster in the happy-pathLuke Shumaker
And also have the cache consume less memory.
2023-01-05rebuildnodes/btrees: Don't include .Items() in .PotentialItems()Luke Shumaker
Save some memory.
2023-01-05rebuildnodes/btrees: Rework to avoid the .Leafs memberLuke Shumaker
Save some memory.
2023-01-05rebuildnodes/btrees: Move code up/down in the file, add commentsLuke Shumaker
2023-01-05rebuildnodes/btrees: Touch up a commentLuke Shumaker
2023-01-05rebuildnodes: Track inode flags, to avoid later i/oLuke Shumaker
2023-01-05Try to get log-lines to be shorterLuke Shumaker
2023-01-05rebuildnodes/btrees: Enhance logging around failure to add a treeLuke Shumaker
2023-01-05rebuildnodes/btrees: Cache failures to add a treeLuke Shumaker
2023-01-05rebuildnodes/btrees: Fix logging of the add-tree stackLuke Shumaker
2023-01-05rebuildnodes: Avoid i/o reading items for which handleItem is a no-opLuke Shumaker
2023-01-05rebuildnodes: Compact augment keys to save spaceLuke Shumaker
2023-01-05rebuildnodes: Add optimized storage for nil augmentsLuke Shumaker
2023-01-05rebuildnodes: Fix retrying treesLuke Shumaker
2023-01-05rebuildnodes: Log how many queued augments there areLuke Shumaker
2023-01-05rebuildnodes: Check for INODE_NODATASUM before looking for csumsLuke Shumaker
2023-01-05rebuildnodes: Tidy up errors and key managementLuke Shumaker
2023-01-05rebuildnodes: Optimize storage for single-item augmentsLuke Shumaker
2023-01-05rebuildnodes: Strategically scope variables, add runtime.GC() callsLuke Shumaker
"Ignore space change" is probably useful for viewing this diff.
2023-01-05rebuildnodes: Don't try to add the same augment twiceLuke Shumaker
This should save some memory and some log i/o.
2023-01-05rebuildnodes/btrees: Allow leaf-node indexes to be evictedLuke Shumaker
2023-01-05rebuildnodes: Parallelize I/O and CPULuke Shumaker
2023-01-05rebuildnodes/btrees: Tune cache sizesLuke Shumaker
2023-01-05rebuildnodes/btrees.RebuiltTree: Try to remove methodsLuke Shumaker
Now that .Items() is public, some of the search methods are superfluous, and in fact all .SearchAll calls would be more efficient as .Items.Subrange calls. And rename .Load to .ReadItem, so that grepping for it doesn't mix up with .Items.Load.
2023-01-05rebuildnodes/btrees: Allow item rbtrees to be evictedLuke Shumaker
2023-01-05rebuildnodes/btrees: Refactor to split the forrest from the treesLuke Shumaker
2023-01-05rebuildnodes: Support graceful shutdownLuke Shumaker
2023-01-05rebuildnodes: Optimize: Rethink queue orderingLuke Shumaker
Hopefully this is more sequential, which should help things.
2023-01-05rebuildnodes: Optimize: Avoid unnescessary disk access for existence-checkLuke Shumaker
2023-01-05rebuildnodes: Optimize: Try to avoid disk access for DIR_INDEXLuke Shumaker