From 1a979d52855911980acc0b6f366d808c5734c054 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 17 Apr 2023 15:53:42 -0600 Subject: btrfstree: Wrap the error for UUID lookup failures --- lib/btrfs/btrfstree/btree_tree.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/btrfs/btrfstree') diff --git a/lib/btrfs/btrfstree/btree_tree.go b/lib/btrfs/btrfstree/btree_tree.go index b9b9201..b071b7d 100644 --- a/lib/btrfs/btrfstree/btree_tree.go +++ b/lib/btrfs/btrfstree/btree_tree.go @@ -328,7 +328,8 @@ func (tree *RawTree) TreeParentID(ctx context.Context) (btrfsprim.ObjID, btrfspr } parentIDItem, err := uuidTree.TreeLookup(ctx, btrfsitem.UUIDToKey(tree.ParentUUID)) if err != nil { - return 0, 0, err + return 0, 0, fmt.Errorf("tree %s: failed to look up UUID: %v: %w", + tree.ID.Format(btrfsprim.ROOT_TREE_OBJECTID), tree.ParentUUID, err) } switch parentIDBody := parentIDItem.Body.(type) { case *btrfsitem.UUIDMap: -- cgit v1.2.3-2-g168b From a74c2cd52a12614565349577b8a5a6fbdcf337c3 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 4 Mar 2023 09:42:44 -0700 Subject: btrfsutil: RebuiltTree: Properly track errors for the btrfstree.Tree API --- lib/btrfs/btrfstree/path.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/btrfs/btrfstree') diff --git a/lib/btrfs/btrfstree/path.go b/lib/btrfs/btrfstree/path.go index 327a39b..3fd43c8 100644 --- a/lib/btrfs/btrfstree/path.go +++ b/lib/btrfs/btrfstree/path.go @@ -134,7 +134,7 @@ func (path Path) String() string { return ret.String() } -func checkOwner( +func CheckOwner( ctx context.Context, forrest Forrest, treeID btrfsprim.ObjID, ownerToCheck btrfsprim.ObjID, genToCheck btrfsprim.Generation, ) error { @@ -194,7 +194,7 @@ func (path Path) NodeExpectations(ctx context.Context) (_ btrfsvol.LogicalAddr, Level: containers.OptionalValue(lastElem.ToLevel), Generation: containers.OptionalValue(lastElem.ToGeneration), Owner: func(owner btrfsprim.ObjID, gen btrfsprim.Generation) error { - return checkOwner(ctx, firstElem.Forrest, lastElem.TreeID, + return CheckOwner(ctx, firstElem.Forrest, lastElem.TreeID, owner, gen) }, MinItem: containers.OptionalValue(btrfsprim.Key{}), @@ -206,7 +206,7 @@ func (path Path) NodeExpectations(ctx context.Context) (_ btrfsvol.LogicalAddr, Level: containers.OptionalValue(lastElem.ToLevel), Generation: containers.OptionalValue(lastElem.ToGeneration), Owner: func(owner btrfsprim.ObjID, gen btrfsprim.Generation) error { - return checkOwner(ctx, firstElem.Forrest, lastElem.FromTree, + return CheckOwner(ctx, firstElem.Forrest, lastElem.FromTree, owner, gen) }, MinItem: containers.OptionalValue(lastElem.ToMinKey), -- cgit v1.2.3-2-g168b