summaryrefslogtreecommitdiff
path: root/lib/btrfs/io4_fs.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-02-03 13:04:17 -0700
committerLuke Shumaker <lukeshu@lukeshu.com>2023-02-12 16:16:53 -0700
commit21e92e5dea4d8efc65403eeaee91b32856b86cb6 (patch)
tree331fc7c8d8765fa11364d4fc28302e829a34e678 /lib/btrfs/io4_fs.go
parent11ac4fae146e5f599f34a5fafa27e20fecf713a9 (diff)
btrfsitem: Add `Free` and `CloneItem` methods to Items
Diffstat (limited to 'lib/btrfs/io4_fs.go')
-rw-r--r--lib/btrfs/io4_fs.go10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/btrfs/io4_fs.go b/lib/btrfs/io4_fs.go
index c21cafc..56cf266 100644
--- a/lib/btrfs/io4_fs.go
+++ b/lib/btrfs/io4_fs.go
@@ -89,7 +89,7 @@ func (sv *Subvolume) init() {
} else {
switch rootBody := root.Body.(type) {
case *btrfsitem.Root:
- sv.rootVal = *rootBody
+ sv.rootVal = rootBody.Clone()
case *btrfsitem.Error:
sv.rootErr = fmt.Errorf("FS_TREE ROOT_ITEM has malformed body: %w", rootBody.Err)
default:
@@ -127,7 +127,7 @@ func (sv *Subvolume) LoadBareInode(inode btrfsprim.ObjID) (*BareInode, error) {
switch itemBody := item.Body.(type) {
case *btrfsitem.Inode:
- bodyCopy := *itemBody
+ bodyCopy := itemBody.Clone()
val.InodeItem = &bodyCopy
case *btrfsitem.Error:
val.Errs = append(val.Errs, fmt.Errorf("malformed inode: %w", itemBody.Err))
@@ -172,7 +172,7 @@ func (sv *Subvolume) LoadFullInode(inode btrfsprim.ObjID) (*FullInode, error) {
}
continue
}
- bodyCopy := *itemBody
+ bodyCopy := itemBody.Clone()
val.InodeItem = &bodyCopy
case *btrfsitem.Error:
val.Errs = append(val.Errs, fmt.Errorf("malformed INODE_ITEM: %w", itemBody.Err))
@@ -264,7 +264,7 @@ func (dir *Dir) populate() {
}
continue
}
- dir.ChildrenByName[string(entry.Name)] = *entry
+ dir.ChildrenByName[string(entry.Name)] = entry.Clone()
case *btrfsitem.Error:
dir.Errs = append(dir.Errs, fmt.Errorf("malformed DIR_ITEM: %w", entry.Err))
default:
@@ -280,7 +280,7 @@ func (dir *Dir) populate() {
}
continue
}
- dir.ChildrenByIndex[index] = *entry
+ dir.ChildrenByIndex[index] = entry.Clone()
case *btrfsitem.Error:
dir.Errs = append(dir.Errs, fmt.Errorf("malformed DIR_INDEX: %w", entry.Err))
default: