summaryrefslogtreecommitdiff
path: root/lib/btrfs/btrfstree/btree_forrest.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-03-15 15:17:11 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2023-03-15 20:42:51 -0600
commitd7e086766e0f4396f29987d3798cefc1bb675d1c (patch)
treee45cc733519e5fc540a3b28ef36ebd354ed001cc /lib/btrfs/btrfstree/btree_forrest.go
parent56e44b0630448d44f7aa7f85b2098007ddbae06f (diff)
btrfstree: Have errors include context of what was being searched for
Diffstat (limited to 'lib/btrfs/btrfstree/btree_forrest.go')
-rw-r--r--lib/btrfs/btrfstree/btree_forrest.go17
1 files changed, 2 insertions, 15 deletions
diff --git a/lib/btrfs/btrfstree/btree_forrest.go b/lib/btrfs/btrfstree/btree_forrest.go
index 625fb30..0f46d42 100644
--- a/lib/btrfs/btrfstree/btree_forrest.go
+++ b/lib/btrfs/btrfstree/btree_forrest.go
@@ -22,19 +22,6 @@ type TreeRoot struct {
Generation btrfsprim.Generation
}
-func RootItemSearchFn(treeID btrfsprim.ObjID) func(btrfsprim.Key, uint32) int {
- return func(key btrfsprim.Key, _ uint32) int {
- if key.ObjectID == treeID && key.ItemType == btrfsitem.ROOT_ITEM_KEY {
- return 0
- }
- return btrfsprim.Key{
- ObjectID: treeID,
- ItemType: btrfsitem.ROOT_ITEM_KEY,
- Offset: 0,
- }.Compare(key)
- }
-}
-
// LookupTreeRoot is a utility function to help with implementing the
// 'TreeOperator' interface.
func LookupTreeRoot(fs TreeOperator, sb Superblock, treeID btrfsprim.ObjID) (*TreeRoot, error) {
@@ -68,12 +55,12 @@ func LookupTreeRoot(fs TreeOperator, sb Superblock, treeID btrfsprim.ObjID) (*Tr
Generation: sb.BlockGroupRootGeneration,
}, nil
default:
- rootItem, err := fs.TreeSearch(btrfsprim.ROOT_TREE_OBJECTID, RootItemSearchFn(treeID))
+ rootItem, err := fs.TreeSearch(btrfsprim.ROOT_TREE_OBJECTID, SearchRootItem(treeID))
if err != nil {
if errors.Is(err, ErrNoItem) {
err = ErrNoTree
}
- return nil, err
+ return nil, fmt.Errorf("tree %s: %w", treeID.Format(btrfsprim.ROOT_TREE_OBJECTID), err)
}
switch rootItemBody := rootItem.Body.(type) {
case *btrfsitem.Root: