aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlimd <limd@sugon.com>2020-09-23 18:35:37 +0800
committerlimd <limd@sugon.com>2020-09-23 18:35:37 +0800
commit9b21ec27e46ed68ef1daa4a94fd1a4b621ab39fe (patch)
tree9f871367aa2dcb2feab12494e5055ad83a1a4b4a
parent0db149fb5f73694866c5f09d29f4ffae8bacad51 (diff)
downloadseaweedfs-9b21ec27e46ed68ef1daa4a94fd1a4b621ab39fe.tar.xz
seaweedfs-9b21ec27e46ed68ef1daa4a94fd1a4b621ab39fe.zip
mount: auto created dir set corrct umask fix bug
-rw-r--r--weed/command/mount.go2
-rw-r--r--weed/command/mount_std.go7
2 files changed, 6 insertions, 3 deletions
diff --git a/weed/command/mount.go b/weed/command/mount.go
index 7bf59cdc7..a359e52ac 100644
--- a/weed/command/mount.go
+++ b/weed/command/mount.go
@@ -44,7 +44,7 @@ func init() {
mountOptions.cacheSizeMB = cmdMount.Flag.Int64("cacheCapacityMB", 1000, "local file chunk cache capacity in MB (0 will disable cache)")
mountOptions.dataCenter = cmdMount.Flag.String("dataCenter", "", "prefer to write to the data center")
mountOptions.allowOthers = cmdMount.Flag.Bool("allowOthers", true, "allows other users to access the file system")
- mountOptions.umaskString = cmdMount.Flag.String("umask", "022", "octal umask, e.g., 022, 0111")
+ mountOptions.umaskString = cmdMount.Flag.String("umask", "000", "octal umask, e.g., 022, 0111")
mountOptions.nonempty = cmdMount.Flag.Bool("nonempty", false, "allows the mounting over a non-empty directory")
mountCpuProfile = cmdMount.Flag.String("cpuprofile", "", "cpu profile output file")
mountMemProfile = cmdMount.Flag.String("memprofile", "", "memory profile output file")
diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go
index 3947a871a..e84eebada 100644
--- a/weed/command/mount_std.go
+++ b/weed/command/mount_std.go
@@ -12,6 +12,7 @@ import (
"runtime"
"strconv"
"strings"
+ "syscall"
"time"
"github.com/seaweedfs/fuse"
@@ -91,9 +92,11 @@ func RunMount(option *MountOptions, umask os.FileMode) bool {
// detect mount folder mode
if *option.dirAutoCreate {
- os.MkdirAll(dir, os.FileMode(0777) &^ umask)
+ oldMask := syscall.Umask(0)
+ os.MkdirAll(dir, os.ModePerm&^umask)
+ syscall.Umask(oldMask)
}
- mountMode := os.ModeDir | 0755
+ mountMode := os.ModeDir | 0777
fileInfo, err := os.Stat(dir)
if err == nil {
mountMode = os.ModeDir | fileInfo.Mode()