diff options
Diffstat (limited to 'weed/command')
| -rw-r--r-- | weed/command/fuse_std.go | 7 | ||||
| -rw-r--r-- | weed/command/mount.go | 2 | ||||
| -rw-r--r-- | weed/command/mount_std.go | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/weed/command/fuse_std.go b/weed/command/fuse_std.go index b2839aaf8..2cc6fa8ab 100644 --- a/weed/command/fuse_std.go +++ b/weed/command/fuse_std.go @@ -155,6 +155,13 @@ func runFuse(cmd *Command, args []string) bool { } else { panic(fmt.Errorf("concurrentWriters: %s", err)) } + case "concurrentReaders": + if parsed, err := strconv.ParseInt(parameter.value, 0, 32); err == nil { + intValue := int(parsed) + mountOptions.concurrentReaders = &intValue + } else { + panic(fmt.Errorf("concurrentReaders: %s", err)) + } case "cacheDir": mountOptions.cacheDirForRead = ¶meter.value case "cacheCapacityMB": diff --git a/weed/command/mount.go b/weed/command/mount.go index 98f139c6f..618bbd3ae 100644 --- a/weed/command/mount.go +++ b/weed/command/mount.go @@ -17,6 +17,7 @@ type MountOptions struct { ttlSec *int chunkSizeLimitMB *int concurrentWriters *int + concurrentReaders *int cacheMetaTtlSec *int cacheDirForRead *string cacheDirForWrite *string @@ -65,6 +66,7 @@ func init() { mountOptions.ttlSec = cmdMount.Flag.Int("ttl", 0, "file ttl in seconds") mountOptions.chunkSizeLimitMB = cmdMount.Flag.Int("chunkSizeLimitMB", 2, "local write buffer size, also chunk large files") mountOptions.concurrentWriters = cmdMount.Flag.Int("concurrentWriters", 32, "limit concurrent goroutine writers") + mountOptions.concurrentReaders = cmdMount.Flag.Int("concurrentReaders", 16, "limit concurrent chunk fetches for read operations") mountOptions.cacheDirForRead = cmdMount.Flag.String("cacheDir", os.TempDir(), "local cache directory for file chunks and meta data") mountOptions.cacheSizeMBForRead = cmdMount.Flag.Int64("cacheCapacityMB", 128, "file chunk read cache capacity in MB") mountOptions.cacheDirForWrite = cmdMount.Flag.String("cacheDirWrite", "", "buffer writes mostly for large files") diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go index 53b09589d..d1593454e 100644 --- a/weed/command/mount_std.go +++ b/weed/command/mount_std.go @@ -236,6 +236,7 @@ func RunMount(option *MountOptions, umask os.FileMode) bool { DiskType: types.ToDiskType(*option.diskType), ChunkSizeLimit: int64(chunkSizeLimitMB) * 1024 * 1024, ConcurrentWriters: *option.concurrentWriters, + ConcurrentReaders: *option.concurrentReaders, CacheDirForRead: *option.cacheDirForRead, CacheSizeMBForRead: *option.cacheSizeMBForRead, CacheDirForWrite: cacheDirForWrite, |
