summaryrefslogtreecommitdiff
path: root/lib/btrfsprogs/btrfsinspect/mount.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-10-08 16:25:54 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-10-08 19:51:37 -0600
commitb9c96ea703dcc84fcd8e3c051617c25579c4e4e1 (patch)
tree736630cc6f69d70d5f959cca32fb1a2b39b5315e /lib/btrfsprogs/btrfsinspect/mount.go
parentceff7fa1fce0d6810c42ef6d57dcc2316e63c84b (diff)
mount: Allow ignoring file checksum errors
Diffstat (limited to 'lib/btrfsprogs/btrfsinspect/mount.go')
-rw-r--r--lib/btrfsprogs/btrfsinspect/mount.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/btrfsprogs/btrfsinspect/mount.go b/lib/btrfsprogs/btrfsinspect/mount.go
index 6cf6317..2a0b232 100644
--- a/lib/btrfsprogs/btrfsinspect/mount.go
+++ b/lib/btrfsprogs/btrfsinspect/mount.go
@@ -30,7 +30,7 @@ import (
"git.lukeshu.com/btrfs-progs-ng/lib/slices"
)
-func MountRO(ctx context.Context, fs *btrfs.FS, mountpoint string) error {
+func MountRO(ctx context.Context, fs *btrfs.FS, mountpoint string, noChecksums bool) error {
pvs := fs.LV.PhysicalVolumes()
if len(pvs) < 1 {
return errors.New("no devices")
@@ -43,8 +43,9 @@ func MountRO(ctx context.Context, fs *btrfs.FS, mountpoint string) error {
rootSubvol := &subvolume{
Subvolume: btrfs.Subvolume{
- FS: btrfsutil.NewBrokenTrees(ctx, fs),
- TreeID: btrfsprim.FS_TREE_OBJECTID,
+ FS: btrfsutil.NewBrokenTrees(ctx, fs),
+ TreeID: btrfsprim.FS_TREE_OBJECTID,
+ NoChecksums: noChecksums,
},
DeviceName: deviceName,
Mountpoint: mountpoint,
@@ -185,8 +186,9 @@ func (sv *subvolume) LoadDir(inode btrfsprim.ObjID) (val *btrfs.Dir, err error)
sv.grp.Go(workerName, func(ctx context.Context) error {
subSv := &subvolume{
Subvolume: btrfs.Subvolume{
- FS: sv.FS,
- TreeID: entry.Location.ObjectID,
+ FS: sv.FS,
+ TreeID: entry.Location.ObjectID,
+ NoChecksums: sv.NoChecksums,
},
DeviceName: sv.DeviceName,
Mountpoint: filepath.Join(sv.Mountpoint, subMountpoint[1:]),