From 7ca8e6805164a5855c4af6ec5103c8e0cbcab89c Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Fri, 23 Dec 2022 18:00:47 -0700 Subject: =?UTF-8?q?rebuildnodes:=20Move=20keyio.KeyAndTree=E2=86=92keyAndt?= =?UTF-8?q?ree?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/btrfsprogs/btrfsinspect/rebuildnodes/rebuild.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'lib/btrfsprogs/btrfsinspect/rebuildnodes/rebuild.go') diff --git a/lib/btrfsprogs/btrfsinspect/rebuildnodes/rebuild.go b/lib/btrfsprogs/btrfsinspect/rebuildnodes/rebuild.go index 982c27d..00dbad5 100644 --- a/lib/btrfsprogs/btrfsinspect/rebuildnodes/rebuild.go +++ b/lib/btrfsprogs/btrfsinspect/rebuildnodes/rebuild.go @@ -28,6 +28,18 @@ import ( "git.lukeshu.com/btrfs-progs-ng/lib/textui" ) +type keyAndTree struct { + btrfsprim.Key + TreeID btrfsprim.ObjID +} + +func (a keyAndTree) Cmp(b keyAndTree) int { + if d := a.Key.Cmp(b.Key); d != 0 { + return d + } + return containers.NativeCmp(a.TreeID, b.TreeID) +} + type rebuilder struct { sb btrfstree.Superblock rebuilt *btrees.RebuiltTrees @@ -36,8 +48,8 @@ type rebuilder struct { csums containers.RBTree[containers.NativeOrdered[btrfsvol.LogicalAddr], btrfsinspect.SysExtentCSum] keyIO *keyio.Handle - curKey keyio.KeyAndTree - queue []keyio.KeyAndTree + curKey keyAndTree + queue []keyAndTree pendingAugments map[btrfsprim.ObjID][]map[btrfsvol.LogicalAddr]int } @@ -179,7 +191,7 @@ func (o *rebuilder) rebuild(ctx context.Context) error { } func (o *rebuilder) cbAddedItem(ctx context.Context, tree btrfsprim.ObjID, key btrfsprim.Key) { - o.queue = append(o.queue, keyio.KeyAndTree{ + o.queue = append(o.queue, keyAndTree{ TreeID: tree, Key: key, }) -- cgit v1.2.3-2-g168b