add separate cache directory for write buffers

This commit is contained in:
chrislu
2023-08-16 23:39:21 -07:00
parent b05ab1e092
commit 6c7fa567d4
4 changed files with 9 additions and 1 deletions

View File

@@ -153,6 +153,8 @@ func runFuse(cmd *Command, args []string) bool {
} else {
panic(fmt.Errorf("cacheCapacityMB: %s", err))
}
case "cacheDirWrite":
mountOptions.cacheDirWrite = &parameter.value
case "dataCenter":
mountOptions.dataCenter = &parameter.value
case "allowOthers":

View File

@@ -18,6 +18,7 @@ type MountOptions struct {
chunkSizeLimitMB *int
concurrentWriters *int
cacheDir *string
cacheDirWrite *string
cacheSizeMB *int64
dataCenter *string
allowOthers *bool
@@ -56,6 +57,7 @@ func init() {
mountOptions.concurrentWriters = cmdMount.Flag.Int("concurrentWriters", 32, "limit concurrent goroutine writers")
mountOptions.cacheDir = cmdMount.Flag.String("cacheDir", os.TempDir(), "local cache directory for file chunks and meta data")
mountOptions.cacheSizeMB = cmdMount.Flag.Int64("cacheCapacityMB", 0, "file chunk read cache capacity in MB")
mountOptions.cacheDirWrite = cmdMount.Flag.String("cacheDirWrite", os.TempDir(), "buffer writes mostly for large files")
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")

View File

@@ -227,6 +227,7 @@ func RunMount(option *MountOptions, umask os.FileMode) bool {
ConcurrentWriters: *option.concurrentWriters,
CacheDir: *option.cacheDir,
CacheSizeMB: *option.cacheSizeMB,
CacheDirWrite: *option.cacheDirWrite,
DataCenter: *option.dataCenter,
Quota: int64(*option.collectionQuota) * 1024 * 1024,
MountUid: uid,