From a9d6b935eef8124efbcfd2c9569fbccd932051de Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 30 Aug 2022 21:39:00 -0600 Subject: Change how btrfstree.TreePath generations work --- lib/btrfs/btrfstree/types_node.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'lib/btrfs/btrfstree/types_node.go') diff --git a/lib/btrfs/btrfstree/types_node.go b/lib/btrfs/btrfstree/types_node.go index dcb6540..59411a0 100644 --- a/lib/btrfs/btrfstree/types_node.go +++ b/lib/btrfs/btrfstree/types_node.go @@ -383,9 +383,9 @@ var ErrNotANode = errors.New("does not look like a node") type NodeExpectations struct { LAddr containers.Optional[btrfsvol.LogicalAddr] // Things knowable from the parent. - Level containers.Optional[uint8] - MaxGeneration containers.Optional[btrfsprim.Generation] - Owner func(btrfsprim.ObjID) error + Level containers.Optional[uint8] + Generation containers.Optional[btrfsprim.Generation] + Owner func(btrfsprim.ObjID) error } type NodeError[Addr ~int64] struct { @@ -481,10 +481,10 @@ func ReadNode[Addr ~int64](fs diskio.File[Addr], sb Superblock, addr Addr, exp N return nodeRef, fmt.Errorf("btrfs.ReadNode: node@%v: expected level=%v but claims to be level=%v", addr, exp.Level.Val, nodeRef.Data.Head.Level) } - if exp.MaxGeneration.OK && nodeRef.Data.Head.Generation > exp.MaxGeneration.Val { + if exp.Generation.OK && nodeRef.Data.Head.Generation != exp.Generation.Val { return nodeRef, &NodeError[Addr]{Op: "btrfstree.ReadNode", NodeAddr: addr, - Err: fmt.Errorf("expected generation<=%v but claims to be generation=%v", - exp.MaxGeneration.Val, nodeRef.Data.Head.Generation)} + Err: fmt.Errorf("expected generation=%v but claims to be generation=%v", + exp.Generation.Val, nodeRef.Data.Head.Generation)} } if exp.Owner != nil { if err := exp.Owner(nodeRef.Data.Head.Owner); err != nil { -- cgit v1.2.3-2-g168b