summaryrefslogtreecommitdiff
path: root/pkg/btrfs/io2_fs.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-06-01 10:22:09 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-06-01 10:45:36 -0600
commit774b5baa5aa5772b29865e8a570025d94ec34d2a (patch)
tree0ce0704bd1a39b3b7b0b4a000fe9f9206907d3ac /pkg/btrfs/io2_fs.go
parent8dde45b09728fb753b072c73ff624dde832c073b (diff)
better error tolerance
Diffstat (limited to 'pkg/btrfs/io2_fs.go')
-rw-r--r--pkg/btrfs/io2_fs.go18
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