aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-02-27 01:13:32 -0800
committerchrislu <chris.lu@gmail.com>2022-02-27 01:13:32 -0800
commit2112d99140e6fc4cb1c6dab4f4fd9f458d7081bc (patch)
treee68e177923381edf5f6bd00a798d3c5612f1d5b1
parent9ef5bb20f6cea962e2e521f183c1d2fa692a4a2b (diff)
downloadseaweedfs-2112d99140e6fc4cb1c6dab4f4fd9f458d7081bc.tar.xz
seaweedfs-2112d99140e6fc4cb1c6dab4f4fd9f458d7081bc.zip
mount2: add back readonly mode
-rw-r--r--weed/command/mount2_std.go31
1 files changed, 27 insertions, 4 deletions
diff --git a/weed/command/mount2_std.go b/weed/command/mount2_std.go
index 9f87b35b5..fdb7a090c 100644
--- a/weed/command/mount2_std.go
+++ b/weed/command/mount2_std.go
@@ -158,10 +158,33 @@ func RunMount2(option *Mount2Options, umask os.FileMode) bool {
Debug: false, // *option.debug,
EnableLocks: false,
ExplicitDataCacheControl: false,
- // SyncRead: false, // set to false to enable the FUSE_CAP_ASYNC_READ capability
- DirectMount: true,
- DirectMountFlags: 0,
- // EnableAcl: false,
+ DirectMount: true,
+ DirectMountFlags: 0,
+ //SyncRead: false, // set to false to enable the FUSE_CAP_ASYNC_READ capability
+ //EnableAcl: true,
+ }
+ if *option.nonempty {
+ fuseMountOptions.Options = append(fuseMountOptions.Options, "nonempty")
+ }
+ if *option.readOnly {
+ if runtime.GOOS == "darwin" {
+ fuseMountOptions.Options = append(fuseMountOptions.Options, "rdonly")
+ } else {
+ fuseMountOptions.Options = append(fuseMountOptions.Options, "ro")
+ }
+ }
+ if runtime.GOOS == "darwin" {
+ // https://github-wiki-see.page/m/macfuse/macfuse/wiki/Mount-Options
+ ioSizeMB := 1
+ for ioSizeMB*2 <= *option.chunkSizeLimitMB && ioSizeMB*2 <= 32 {
+ ioSizeMB *= 2
+ }
+ fuseMountOptions.Options = append(fuseMountOptions.Options, "daemon_timeout=600")
+ fuseMountOptions.Options = append(fuseMountOptions.Options, "noapplexattr")
+ fuseMountOptions.Options = append(fuseMountOptions.Options, "novncache")
+ fuseMountOptions.Options = append(fuseMountOptions.Options, "slow_statfs")
+ fuseMountOptions.Options = append(fuseMountOptions.Options, "volname="+*option.filer)
+ fuseMountOptions.Options = append(fuseMountOptions.Options, fmt.Sprintf("iosize=%d", ioSizeMB*1024*1024))
}
// find mount point