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.go37
1 files changed, 31 insertions, 6 deletions
diff --git a/weed/command/weedfuse/weedfuse.go b/weed/command/weedfuse/weedfuse.go
index 9e9c0505c..5897ea066 100644
--- a/weed/command/weedfuse/weedfuse.go
+++ b/weed/command/weedfuse/weedfuse.go
@@ -13,20 +13,45 @@ import (
)
var (
- options = flag.String("o", "", "comma separated options rw,uid=xxx,gid=xxx")
- isForeground = flag.Bool("foreground", false, "starts as a daemon")
+ 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() {
- flag.Parse()
+ 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 := flag.Arg(0)
- mountPoint := flag.Arg(1)
+ 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 {
@@ -39,7 +64,7 @@ func main() {
command.RunMount(
filer, "/"+filerPath, mountPoint, "", "000", "",
- 4, true, 0, 1000000)
+ 4, !nouser, 0, 1000000)
}