diff options
| author | chrislu <chris.lu@gmail.com> | 2024-09-04 01:19:14 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2024-09-04 01:19:14 -0700 |
| commit | 7367b976b05bfa69158a60f205dec970c48f50f0 (patch) | |
| tree | b2206ec7b05e34ed95c0255ceb6da5936efdc00b /weed/command | |
| parent | 66ac82bb8f8a5c5f095387689a503f2bc0edd002 (diff) | |
| download | seaweedfs-7367b976b05bfa69158a60f205dec970c48f50f0.tar.xz seaweedfs-7367b976b05bfa69158a60f205dec970c48f50f0.zip | |
weed mount, weed dav add option to force cache
Diffstat (limited to 'weed/command')
| -rw-r--r-- | weed/command/mount.go | 2 | ||||
| -rw-r--r-- | weed/command/mount_std.go | 1 | ||||
| -rw-r--r-- | weed/command/webdav.go | 3 |
3 files changed, 6 insertions, 0 deletions
diff --git a/weed/command/mount.go b/weed/command/mount.go index f5972fd30..6485d4c0e 100644 --- a/weed/command/mount.go +++ b/weed/command/mount.go @@ -20,6 +20,7 @@ type MountOptions struct { cacheDirForRead *string cacheDirForWrite *string cacheSizeMBForRead *int64 + forceCache *bool dataCenter *string allowOthers *bool umaskString *string @@ -58,6 +59,7 @@ func init() { mountOptions.cacheDirForRead = cmdMount.Flag.String("cacheDir", os.TempDir(), "local cache directory for file chunks and meta data") mountOptions.cacheSizeMBForRead = cmdMount.Flag.Int64("cacheCapacityMB", 0, "file chunk read cache capacity in MB") mountOptions.cacheDirForWrite = cmdMount.Flag.String("cacheDirWrite", "", "buffer writes mostly for large files") + mountOptions.forceCache = cmdMount.Flag.Bool("forceCache", true, "force to cache all reads") 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") diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go index f85e7386d..4508f520f 100644 --- a/weed/command/mount_std.go +++ b/weed/command/mount_std.go @@ -235,6 +235,7 @@ func RunMount(option *MountOptions, umask os.FileMode) bool { CacheDirForRead: *option.cacheDirForRead, CacheSizeMBForRead: *option.cacheSizeMBForRead, CacheDirForWrite: cacheDirForWrite, + ForceCache: *option.forceCache, DataCenter: *option.dataCenter, Quota: int64(*option.collectionQuota) * 1024 * 1024, MountUid: uid, diff --git a/weed/command/webdav.go b/weed/command/webdav.go index 1d1a43eda..b5f8a64d2 100644 --- a/weed/command/webdav.go +++ b/weed/command/webdav.go @@ -32,6 +32,7 @@ type WebDavOption struct { tlsCertificate *string cacheDir *string cacheSizeMB *int64 + forceCache *bool maxMB *int } @@ -46,6 +47,7 @@ func init() { webDavStandaloneOptions.tlsCertificate = cmdWebDav.Flag.String("cert.file", "", "path to the TLS certificate file") webDavStandaloneOptions.cacheDir = cmdWebDav.Flag.String("cacheDir", os.TempDir(), "local cache directory for file chunks") webDavStandaloneOptions.cacheSizeMB = cmdWebDav.Flag.Int64("cacheCapacityMB", 0, "local cache capacity in MB") + webDavStandaloneOptions.forceCache = cmdWebDav.Flag.Bool("forceCache", false, "force to cache reads to local disk") webDavStandaloneOptions.maxMB = cmdWebDav.Flag.Int("maxMB", 4, "split files larger than the limit") webDavStandaloneOptions.filerRootPath = cmdWebDav.Flag.String("filer.path", "/", "use this remote path from filer server") } @@ -118,6 +120,7 @@ func (wo *WebDavOption) startWebDav() bool { Cipher: cipher, CacheDir: util.ResolvePath(*wo.cacheDir), CacheSizeMB: *wo.cacheSizeMB, + ForceCache: *wo.forceCache, MaxMB: *wo.maxMB, }) if webdavServer_err != nil { |
