From 996137cdfdff9ec6fbb5c93e21d75b21052e01ae Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 28 Feb 2023 08:05:47 -0700 Subject: rebuildnodes: Fix a data race Calling FreeNodeRef while an item from that node is still in use is a BAD TIME. --- lib/btrfsprogs/btrfsinspect/rebuildnodes/rebuild.go | 1 + 1 file changed, 1 insertion(+) (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 643fbe7..bc36485 100644 --- a/lib/btrfsprogs/btrfsinspect/rebuildnodes/rebuild.go +++ b/lib/btrfsprogs/btrfsinspect/rebuildnodes/rebuild.go @@ -288,6 +288,7 @@ func (o *rebuilder) processSettledItemQueue(ctx context.Context) error { Key: item.Key, Body: item.Body, }) + item.Body.Free() if item.ItemType == btrfsitem.ROOT_ITEM_KEY { o.treeQueue.Insert(item.ObjectID) } -- cgit v1.2.3-54-g00ecf