Fail nicelly on OSXFUSE 3.0.0+

License: MIT
Signed-off-by: 's avatarJakub Sztandera <kubuxu@protonmail.ch>
上级 e76b14ae
......@@ -31,7 +31,7 @@ var fuseVersionPkg = "github.com/jbenet/go-fuse-version/fuse-version"
var errStrFuseRequired = `OSXFUSE not found.
OSXFUSE is required to mount, please install it.
NOTE: Version 2.7.2 or higher required; prior versions are known to kernel panic!
NOTE: Version in between 2.7.2 and 3.0.0 is required; prior versions are known to kernel panic!
It is recommended you install it from the OSXFUSE website:
http://osxfuse.github.io/
......@@ -56,6 +56,8 @@ It is recommended you install it from the OSXFUSE website:
For more help, see:
https://github.com/ipfs/go-ipfs/issues/177
OSXFUSE versions >3.0.0 are not compatible with version of FUSE library in current use.
`
var errStrNeedFuseVersion = `unable to check fuse version.
......@@ -142,6 +144,7 @@ func darwinFuseCheckVersion(node *core.IpfsNode) error {
log.Debug("mount: osxfuse version:", ov)
min := semver.MustParse("2.7.2")
max := semver.MustParse("3.0.0")
curr, err := semver.Make(ov)
if err != nil {
return err
......@@ -150,6 +153,10 @@ func darwinFuseCheckVersion(node *core.IpfsNode) error {
if curr.LT(min) {
return fmt.Errorf(errStrUpgradeFuse, ov)
}
// TODO: Upgrade fuse lib and work nice with 3.0.0+
if curr.GE(max) {
return fmt.Errorf(errStrUpgradeFuse, ov)
}
return nil
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论