diff options
| author | chrislu <chris.lu@gmail.com> | 2022-02-27 01:13:32 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-02-27 01:13:32 -0800 |
| commit | 2112d99140e6fc4cb1c6dab4f4fd9f458d7081bc (patch) | |
| tree | e68e177923381edf5f6bd00a798d3c5612f1d5b1 | |
| parent | 9ef5bb20f6cea962e2e521f183c1d2fa692a4a2b (diff) | |
| download | seaweedfs-2112d99140e6fc4cb1c6dab4f4fd9f458d7081bc.tar.xz seaweedfs-2112d99140e6fc4cb1c6dab4f4fd9f458d7081bc.zip | |
mount2: add back readonly mode
| -rw-r--r-- | weed/command/mount2_std.go | 31 |
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 |
