@cryptotaxi247 / kubo / commits / 53a35a8f5

Fail nicelly on OSXFUSE 3.0.0+

License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

Jakub Sztandera committed Dec 5, 2016 at 19:42 UTC 53a35a8f50a3f7cacb14cbe17b5484a69ba31d28
1 file changed +8 -1
fuse/node/mount_darwin.go
+8 -1
@@ -31,7 +31,7 @@ var fuseVersionPkg = "github.com/jbenet/go-fuse-version/fuse-version"
31 var errStrFuseRequired = `OSXFUSE not found.
32
33 OSXFUSE is required to mount, please install it.
34 -NOTE: Version 2.7.2 or higher required; prior versions are known to kernel panic!
34 +NOTE: Version in between 2.7.2 and 3.0.0 is required; prior versions are known to kernel panic!
35 It is recommended you install it from the OSXFUSE website:
36
37 http://osxfuse.github.io/
@@ -56,6 +56,8 @@ It is recommended you install it from the OSXFUSE website:
56 For more help, see:
57
58 https://github.com/ipfs/go-ipfs/issues/177
59 +
60 +OSXFUSE versions >3.0.0 are not compatible with version of FUSE library in current use.
61 `
62
63 var errStrNeedFuseVersion = `unable to check fuse version.
@@ -142,6 +144,7 @@ func darwinFuseCheckVersion(node *core.IpfsNode) error {
144 log.Debug("mount: osxfuse version:", ov)
145
146 min := semver.MustParse("2.7.2")
147 + max := semver.MustParse("3.0.0")
148 curr, err := semver.Make(ov)
149 if err != nil {
150 return err
@@ -150,6 +153,10 @@ func darwinFuseCheckVersion(node *core.IpfsNode) error {
153 if curr.LT(min) {
154 return fmt.Errorf(errStrUpgradeFuse, ov)
155 }
156 + // TODO: Upgrade fuse lib and work nice with 3.0.0+
157 + if curr.GE(max) {
158 + return fmt.Errorf(errStrUpgradeFuse, ov)
159 + }
160 return nil
161 }
162