From 5a761bb7a4a2d9a9e41a089b5091d674b4ff3297 Mon Sep 17 00:00:00 2001 From: Daniel Santos Date: Tue, 26 Jan 2021 20:42:10 -0700 Subject: [PATCH 1/4] Enforce umask correctly --- weed/command/mount_std.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go index eaa66519e..fe9ba28c4 100644 --- a/weed/command/mount_std.go +++ b/weed/command/mount_std.go @@ -100,7 +100,7 @@ func RunMount(option *MountOptions, umask os.FileMode) bool { uid, gid := uint32(0), uint32(0) mountMode := os.ModeDir | 0777 if err == nil { - mountMode = os.ModeDir | fileInfo.Mode() + mountMode := os.ModeDir | os.FileMode(0777)&^umask uid, gid = util.GetFileUidGid(fileInfo) fmt.Printf("mount point owner uid=%d gid=%d mode=%s\n", uid, gid, fileInfo.Mode()) } else { @@ -208,9 +208,7 @@ func RunMount(option *MountOptions, umask os.FileMode) bool { }) glog.V(0).Infof("mounted %s%s to %s", filer, mountRoot, dir) - server := fs.New(c, nil) - seaweedFileSystem.Server = server - err = server.Serve(seaweedFileSystem) + err = fs.Serve(c, seaweedFileSystem) // check if the mount process has an error to report <-c.Ready From 0aaaa9b470155401be55e8cb5c26d8d9af0cd85d Mon Sep 17 00:00:00 2001 From: Daniel Santos Date: Tue, 26 Jan 2021 21:06:08 -0700 Subject: [PATCH 2/4] Fix var assignment --- weed/command/mount_std.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go index fe9ba28c4..8119edd01 100644 --- a/weed/command/mount_std.go +++ b/weed/command/mount_std.go @@ -100,7 +100,7 @@ func RunMount(option *MountOptions, umask os.FileMode) bool { uid, gid := uint32(0), uint32(0) mountMode := os.ModeDir | 0777 if err == nil { - mountMode := os.ModeDir | os.FileMode(0777)&^umask + mountMode = os.ModeDir | os.FileMode(0777)&^umask uid, gid = util.GetFileUidGid(fileInfo) fmt.Printf("mount point owner uid=%d gid=%d mode=%s\n", uid, gid, fileInfo.Mode()) } else { From 0c64d60fdb29d48e2ab2805a33904191c78349b5 Mon Sep 17 00:00:00 2001 From: Daniel Santos Date: Tue, 26 Jan 2021 21:45:52 -0700 Subject: [PATCH 3/4] Fix log message with correct mode --- weed/command/mount_std.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go index 8119edd01..5df005202 100644 --- a/weed/command/mount_std.go +++ b/weed/command/mount_std.go @@ -102,7 +102,7 @@ func RunMount(option *MountOptions, umask os.FileMode) bool { if err == nil { mountMode = os.ModeDir | os.FileMode(0777)&^umask uid, gid = util.GetFileUidGid(fileInfo) - fmt.Printf("mount point owner uid=%d gid=%d mode=%s\n", uid, gid, fileInfo.Mode()) + fmt.Printf("mount point owner uid=%d gid=%d mode=%s\n", uid, gid, mountMode) } else { fmt.Printf("can not stat %s\n", dir) return false From d38613c49acbca55937770ebf3db79817a313a05 Mon Sep 17 00:00:00 2001 From: Daniel Santos Date: Wed, 27 Jan 2021 20:56:41 -0700 Subject: [PATCH 4/4] match upstream --- weed/command/mount_std.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go index 5df005202..8c6072255 100644 --- a/weed/command/mount_std.go +++ b/weed/command/mount_std.go @@ -208,7 +208,9 @@ func RunMount(option *MountOptions, umask os.FileMode) bool { }) glog.V(0).Infof("mounted %s%s to %s", filer, mountRoot, dir) - err = fs.Serve(c, seaweedFileSystem) + server := fs.New(c, nil) + seaweedFileSystem.Server = server + err = server.Serve(seaweedFileSystem) // check if the mount process has an error to report <-c.Ready