From 437bf733021a6aa3b90042a12a35b887b8ed45a2 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 1 Jun 2022 09:56:56 -0600 Subject: lib: eagerly unmarshal items --- pkg/btrfs/io2_fs.go | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'pkg/btrfs/io2_fs.go') diff --git a/pkg/btrfs/io2_fs.go b/pkg/btrfs/io2_fs.go index bcf9777..b7752c7 100644 --- a/pkg/btrfs/io2_fs.go +++ b/pkg/btrfs/io2_fs.go @@ -5,7 +5,6 @@ import ( "fmt" "reflect" - "lukeshu.com/btrfs-tools/pkg/binstruct" "lukeshu.com/btrfs-tools/pkg/btrfs/btrfsitem" "lukeshu.com/btrfs-tools/pkg/util" ) @@ -123,17 +122,14 @@ func (fs *FS) Init() error { for _, chunk := range syschunks { fs.chunks = append(fs.chunks, chunk) } - if err := fs.WalkTree(sb.Data.ChunkTree, func(key Key, dat []byte) error { + if err := fs.WalkTree(sb.Data.ChunkTree, func(key Key, body btrfsitem.Item) error { if key.ItemType != btrfsitem.CHUNK_ITEM_KEY { return nil } - pair := SysChunk{ - Key: key, - } - if _, err := binstruct.Unmarshal(dat, &pair.Chunk); err != nil { - return err - } - fs.chunks = append(fs.chunks, pair) + fs.chunks = append(fs.chunks, SysChunk{ + Key: key, + Chunk: body.(btrfsitem.Chunk), + }) return nil }); err != nil { fs.initErr = err -- cgit v1.2.3-2-g168b