1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-30 01:52:26 +08:00

check osxfuse version. Fixes #202.

This commit is contained in:
Juan Batiz-Benet
2014-10-31 10:10:07 -07:00
parent b02dbc4a6b
commit ca1bf26744

View File

@ -4,6 +4,9 @@ package main
import (
"fmt"
"runtime"
"strings"
"syscall"
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/gonuts/flag"
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/commander"
@ -33,6 +36,9 @@ func init() {
}
func mountCmd(c *commander.Command, inp []string) error {
if err := osxFuseCheck(); err != nil {
return err
}
cc, err := setupCmdContext(c, true)
if err != nil {
@ -92,3 +98,23 @@ func mountIpns(node *core.IpfsNode, nsdir, fsdir string) <-chan error {
return done
}
func osxFuseCheck() error {
// on OSX, check FUSE version.
if runtime.GOOS != "darwin" {
return nil
}
ov, err := syscall.Sysctl("osxfuse.version.number")
if err != nil {
return err
}
if strings.HasPrefix(ov, "2.7.") || strings.HasPrefix(ov, "2.8.") {
return nil
}
return fmt.Errorf("osxfuse version %s not supported.\n%s\n%s", ov,
"Older versions of osxfuse have kernel panic bugs; please upgrade!",
"https://github.com/jbenet/go-ipfs/issues/177")
}