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