diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2023-02-03 13:04:17 -0700 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2023-02-12 16:16:53 -0700 |
commit | 21e92e5dea4d8efc65403eeaee91b32856b86cb6 (patch) | |
tree | 331fc7c8d8765fa11364d4fc28302e829a34e678 /lib/btrfs/io4_fs.go | |
parent | 11ac4fae146e5f599f34a5fafa27e20fecf713a9 (diff) |
btrfsitem: Add `Free` and `CloneItem` methods to Items
Diffstat (limited to 'lib/btrfs/io4_fs.go')
-rw-r--r-- | lib/btrfs/io4_fs.go | 10 |
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: |