summaryrefslogtreecommitdiff
path: root/lib/btrfs/btrfstree/types_node.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-08-30 21:39:00 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-08-30 21:39:54 -0600
commita9d6b935eef8124efbcfd2c9569fbccd932051de (patch)
tree24b9681825a6dcc40643f7d3d081c21316ee585e /lib/btrfs/btrfstree/types_node.go
parent4a52c625fdf68a8693d5b3c6eb80e7faf822cb15 (diff)
Change how btrfstree.TreePath generations work
Diffstat (limited to 'lib/btrfs/btrfstree/types_node.go')
-rw-r--r--lib/btrfs/btrfstree/types_node.go12
1 files changed, 6 insertions, 6 deletions
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 {