summaryrefslogtreecommitdiff
path: root/cmd/btrfs-rec
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/btrfs-rec')
-rw-r--r--cmd/btrfs-rec/inspect/rebuildtrees/scan.go6
-rw-r--r--cmd/btrfs-rec/inspect_lstrees.go4
2 files changed, 6 insertions, 4 deletions
diff --git a/cmd/btrfs-rec/inspect/rebuildtrees/scan.go b/cmd/btrfs-rec/inspect/rebuildtrees/scan.go
index 86d3741..a6f9c7a 100644
--- a/cmd/btrfs-rec/inspect/rebuildtrees/scan.go
+++ b/cmd/btrfs-rec/inspect/rebuildtrees/scan.go
@@ -71,17 +71,17 @@ func ScanDevices(ctx context.Context, fs *btrfs.FS, nodeList []btrfsvol.LogicalA
if err := ctx.Err(); err != nil {
return ScanDevicesResult{}, err
}
- node, err := fs.ReadNode(ctx, laddr, btrfstree.NodeExpectations{
+ node, err := fs.AcquireNode(ctx, laddr, btrfstree.NodeExpectations{
LAddr: containers.OptionalValue(laddr),
})
if err != nil {
- node.Free()
+ fs.ReleaseNode(node)
return ScanDevicesResult{}, err
}
ret.insertNode(node)
- node.Free()
+ fs.ReleaseNode(node)
stats.N++
progressWriter.Set(stats)
diff --git a/cmd/btrfs-rec/inspect_lstrees.go b/cmd/btrfs-rec/inspect_lstrees.go
index 9639a2e..bdbdca2 100644
--- a/cmd/btrfs-rec/inspect_lstrees.go
+++ b/cmd/btrfs-rec/inspect_lstrees.go
@@ -106,10 +106,11 @@ func init() {
continue
}
visitedNodes.Insert(laddr)
- node, err := fs.ReadNode(ctx, laddr, btrfstree.NodeExpectations{
+ node, err := fs.AcquireNode(ctx, laddr, btrfstree.NodeExpectations{
LAddr: containers.OptionalValue(laddr),
})
if err != nil {
+ fs.ReleaseNode(node)
treeErrCnt++
continue
}
@@ -117,6 +118,7 @@ func init() {
typ := item.Key.ItemType
treeItemCnt[typ]++
}
+ fs.ReleaseNode(node)
}
flush()
}