summaryrefslogtreecommitdiff
path: root/lib/btrfsutil
AgeCommit message (Collapse)Author
2023-04-15Clean-up made possible by btrfsutil.RebuiltForrest implementing btrfs.ReadableFSLuke Shumaker
- rebuildtrees: Use .ForrestLookup instead of .RebuiltTree where possible - btrfsutil: noopRebuiltForrestCallbacks: Use only the generic btrfstree.Forrest API - btrfsutil: RebuiltForrest, RebuiltTree: Avoid unnecessarily reaching into forrest.inner - btrfsutil: RebuiltTree: Drop the .ReadItem() method; it duplicates .TreeLookup without benefit.
2023-04-13btrfsutil: RebuiltForrest: Naively implement the new btrfs.ReadableFS APILuke Shumaker
2023-04-13btrfsutil: RebuiltForrest.RebuiltTree(): Return errorsLuke Shumaker
2023-04-13btrfsutil: RebuiltForrest: Have the ancestor id-to-ptr map persistLuke Shumaker
2023-04-13btrfsutil: RebuiltForrest: readItem: Return a full btrfstree.ItemLuke Shumaker
2023-04-13btrfsutil: RebuiltTree: Track member interior nodes tooLuke Shumaker
2023-04-13btrfsutil: Graph: Track item sizesLuke Shumaker
2023-04-13btrfsutil: RebuiltTree: Be strict about which KPs to consider validLuke Shumaker
2023-04-13btrfsutil: RebuiltTree: Track the max-key for each path to a nodeLuke Shumaker
2023-04-13btrfsutil: RebuiltTree: Wrap leafToRoots in a structLuke Shumaker
The implication being that I plan on adding more members to the struct.
2023-04-13btrfsutil: RebuiltTree: Refactor .uncachedLeafToRoots()Luke Shumaker
2023-04-13btrfsutil: RebuiltForrest: Allow skipping the .AddedItem loopLuke Shumaker
2023-04-13btrfsutil: Split rebuilt_callbacks.go off from rebuilt_forrest.goLuke Shumaker
2023-04-13btrfsutil: RebuiltForrest: Simplify by taking a btrfs.ReadableFSLuke Shumaker
2023-04-13Try to find misuses of textui.ProgressLuke Shumaker
- Add a runtime-check to Progress to notice if we deadlocked or forgot to call .Done(). - Add a runtime-check to Progress.Done() to panic if .Set() was never called (instead of the old behavior of deadlocking). - grep: Use `defer` when possible, to help remember to call .Done(). - grep: Always either call .Set() right away, or right before calling .Done().
2023-04-09btrfstree: Do a better job of checking node ownershipLuke Shumaker
This now considers the interior nodes *between* the root and the leaf, instead of just considering the root and the leaf.
2023-04-09btrfsutil: RebuiltForrest: Don't bother listing trees with no rootsLuke Shumaker
2023-04-04btrfsutil: RebuiltForrest: Include more info when logging failuresLuke Shumaker
2023-04-04btrfsutil: Rename unexported types to be clearer about which system they ↵Luke Shumaker
belong to - nodeInfo → oldRebuiltNodeInfo (old_rebuilt_forrest.go) - itemStats → rebuiltItemStats (rebuilt_tree.go) - rootStats → rebuiltRootStats (rebuilt_tree.go) - nodeScanner → nodeLister (listnodes.go) - nodeStats → nodeListStats (listnodes.go) - scanStats → devScanStats (scan.go)
2023-04-04btrfsutil: RebuiltTree.items: Simplify a touchLuke Shumaker
2023-04-04btrfsutil: Move the shared cache definitions from rebuilt_forrest.go to ↵Luke Shumaker
rebuilt_tree.go
2023-04-04btrfsutil: RebuiltTree: Have .items() take a bool instead of a funcLuke Shumaker
2023-04-04btrfsutil: GraphNode: Add a CheckExpectations methodLuke Shumaker
2023-04-04btrfsutil: RebuiltTree: Take better advantage of cache pinningLuke Shumaker
2023-04-04maps: Add HasKey and HaveAnyKeysInCommon functions, use themLuke Shumaker
2023-04-04btrfsutil: Add a ReadGraph function, rebuildtrees: Clean up scan to matchLuke Shumaker
2023-04-04btrfsutil: OldRebuiltTree: Include the node address in errorsLuke Shumaker
2023-04-03btrfsutil: RebuiltTree: Fix a commentLuke Shumaker
2023-04-02btrfsutil: GraphNode: Have .MinItem and .MaxItem work on interior nodes tooLuke Shumaker
2023-04-02btrfsutil: noopRebuiltForrestCallbacks: Add a missing failure-checkLuke Shumaker
2023-04-02btrfsutil: RebuiltTree: Update comments for the new cache interfaceLuke Shumaker
2023-04-02btrfsutil: OldRebuiltForrest: TreeWalk: At least visit leaf nodesLuke Shumaker
2023-04-02btrfsutil: Graph: I missed .FromItem in the "item"→"slot" switchLuke Shumaker
2023-03-30btrfsutil: OldRebuiltForrest: SimplifyLuke Shumaker
2023-03-30btrfs: ReadableFS: Also embed btrfstree.NodeSourceLuke Shumaker
2023-03-30btrfsutil: OldRebuiltForrest: Move ReadableFS methods to the endLuke Shumaker
...and touch up comments.
2023-03-30tree-wide: Drop the old btrfstree.TreeOperator APILuke Shumaker
2023-03-30btrfsutil, cmd: Migrate to the new btrfstree.Forrest APILuke Shumaker
2023-03-30btrfsutil: OldRebuiltForrest: Migrate to consume the new btree.Forrest APILuke Shumaker
2023-03-30btrfsutil: OldRebuiltForrest: Implement the new btrfstree.ForrestLuke Shumaker
2023-03-30btrfstree: Rethink the API, but leave the old API in placeLuke Shumaker
2023-03-30btrfstree: Rethink 'Path' yet againLuke Shumaker
2023-03-30btrfstree: Change the NodeSource API so that it can do cachingLuke Shumaker
2023-03-30btrfstree: Divorce ReadNode from NodeExpectationsLuke Shumaker
2023-03-30tree-wide: Funnel all btrfstree.ReadNode[btrfsvol.LogicalAddr]() calls ↵Luke Shumaker
through btrfstree.NodeSource.ReadNode()
2023-03-28containers: Rethink the caching librariesLuke Shumaker
2023-03-23btrfs: Consider the generation when checking if a node owner is OKLuke Shumaker
2023-03-23btrfstree: Add a 'generation' argument the owner validationLuke Shumaker
Validating a node's owner properly requires the generation. But don't worry about actually doing it properly yet, just update the API first.
2023-03-23btrfsutil: RebuiltTree: Allow nodes with .Gen == .ParentGenLuke Shumaker
2023-03-23btrfstree: Fuss with the TreeWalk APILuke Shumaker