aboutsummaryrefslogtreecommitdiff
path: root/weed/command/weedfuse/weedfuse.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/command/weedfuse/weedfuse.go')
-rw-r--r--weed/command/weedfuse/weedfuse.go109
1 files changed, 0 insertions, 109 deletions
diff --git a/weed/command/weedfuse/weedfuse.go b/weed/command/weedfuse/weedfuse.go
deleted file mode 100644
index 4c0d12874..000000000
--- a/weed/command/weedfuse/weedfuse.go
+++ /dev/null
@@ -1,109 +0,0 @@
-package main
-
-import (
- "flag"
- "fmt"
- "os"
- "strings"
-
- "github.com/chrislusf/seaweedfs/weed/command"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/jacobsa/daemonize"
- "github.com/kardianos/osext"
-)
-
-var (
- fuseCommand = flag.NewFlagSet("weedfuse", flag.ContinueOnError)
- options = fuseCommand.String("o", "", "comma separated options rw,uid=xxx,gid=xxx")
- isForeground = fuseCommand.Bool("foreground", false, "starts as a daemon")
-)
-
-func main() {
-
- err := fuseCommand.Parse(os.Args[1:])
- if err != nil {
- glog.Fatal(err)
- }
- fmt.Printf("options: %v\n", *options)
-
- // seems this value is always empty, need to parse it differently
- optionsString := *options
- prev := ""
- for i, arg := range os.Args {
- fmt.Printf("args[%d]: %v\n", i, arg)
- if prev == "-o" {
- optionsString = arg
- }
- prev = arg
- }
-
- device := fuseCommand.Arg(0)
- mountPoint := fuseCommand.Arg(1)
-
- fmt.Printf("source: %v\n", device)
- fmt.Printf("target: %v\n", mountPoint)
-
- nouser := true
- for _, option := range strings.Split(optionsString, ",") {
- fmt.Printf("option: %v\n", option)
- switch option {
- case "user":
- nouser = false
- }
- }
-
- maybeSetupPath()
-
- if !*isForeground {
- startAsDaemon()
- return
- }
-
- parts := strings.SplitN(device, "/", 2)
- filer, filerPath := parts[0], parts[1]
-
- command.RunMount(
- filer, "/"+filerPath, mountPoint, "", "000", "",
- 4, !nouser, 0, 1000000)
-
-}
-
-func maybeSetupPath() {
- // sudo mount -av may not include PATH in some linux, e.g., Ubuntu
- hasPathEnv := false
- for _, e := range os.Environ() {
- if strings.HasPrefix(e, "PATH=") {
- hasPathEnv = true
- }
- fmt.Println(e)
- }
- if !hasPathEnv {
- os.Setenv("PATH", "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
- }
-}
-
-func startAsDaemon() {
-
- // adapted from gcsfuse
-
- // Find the executable.
- var path string
- path, err := osext.Executable()
- if err != nil {
- glog.Fatalf("osext.Executable: %v", err)
- }
-
- // Set up arguments. Be sure to use foreground mode.
- args := append([]string{"-foreground"}, os.Args[1:]...)
-
- // Pass along PATH so that the daemon can find fusermount on Linux.
- env := []string{
- fmt.Sprintf("PATH=%s", os.Getenv("PATH")),
- }
-
- err = daemonize.Run(path, args, env, os.Stdout)
- if err != nil {
- glog.Fatalf("daemonize.Run: %v", err)
- }
-
-}