diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-01 10:22:09 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-01 10:45:36 -0600 |
commit | 774b5baa5aa5772b29865e8a570025d94ec34d2a (patch) | |
tree | 0ce0704bd1a39b3b7b0b4a000fe9f9206907d3ac /pkg/btrfs/io2_fs.go | |
parent | 8dde45b09728fb753b072c73ff624dde832c073b (diff) |
better error tolerance
Diffstat (limited to 'pkg/btrfs/io2_fs.go')
-rw-r--r-- | pkg/btrfs/io2_fs.go | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/pkg/btrfs/io2_fs.go b/pkg/btrfs/io2_fs.go index b7752c7..f8ebe93 100644 --- a/pkg/btrfs/io2_fs.go +++ b/pkg/btrfs/io2_fs.go @@ -122,15 +122,17 @@ 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, body btrfsitem.Item) error { - if key.ItemType != btrfsitem.CHUNK_ITEM_KEY { + if err := fs.WalkTree(sb.Data.ChunkTree, WalkTreeHandler{ + Item: func(key Key, body btrfsitem.Item) error { + if key.ItemType != btrfsitem.CHUNK_ITEM_KEY { + return nil + } + fs.chunks = append(fs.chunks, SysChunk{ + Key: key, + Chunk: body.(btrfsitem.Chunk), + }) return nil - } - fs.chunks = append(fs.chunks, SysChunk{ - Key: key, - Chunk: body.(btrfsitem.Chunk), - }) - return nil + }, }); err != nil { fs.initErr = err return fs.initErr |