aboutsummaryrefslogtreecommitdiff
path: root/weed
diff options
context:
space:
mode:
authorKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.com>2024-01-06 00:10:20 +0500
committerGitHub <noreply@github.com>2024-01-05 11:10:20 -0800
commit3b62b338a5532639fa34cd2a56101ea5507f6eb3 (patch)
tree29c56efc55008fb32221e1686fe646af562fefde /weed
parent4f6172f3699cc47107dea3fe4f3664f283296cdb (diff)
downloadseaweedfs-3b62b338a5532639fa34cd2a56101ea5507f6eb3.tar.xz
seaweedfs-3b62b338a5532639fa34cd2a56101ea5507f6eb3.zip
chore: add maxMB option for webdav (#5165)
Diffstat (limited to 'weed')
-rw-r--r--weed/command/server.go1
-rw-r--r--weed/command/webdav.go3
-rw-r--r--weed/server/webdav_server.go5
3 files changed, 7 insertions, 2 deletions
diff --git a/weed/command/server.go b/weed/command/server.go
index 9631f6bfd..b8ef25fad 100644
--- a/weed/command/server.go
+++ b/weed/command/server.go
@@ -164,6 +164,7 @@ func init() {
webdavOptions.tlsCertificate = cmdServer.Flag.String("webdav.cert.file", "", "path to the TLS certificate file")
webdavOptions.cacheDir = cmdServer.Flag.String("webdav.cacheDir", os.TempDir(), "local cache directory for file chunks")
webdavOptions.cacheSizeMB = cmdServer.Flag.Int64("webdav.cacheCapacityMB", 0, "local cache capacity in MB")
+ webdavOptions.maxMB = cmdServer.Flag.Int("webdav.maxMB", 4, "split files larger than the limit")
webdavOptions.filerRootPath = cmdServer.Flag.String("webdav.filer.path", "/", "use this remote path from filer server")
mqBrokerOptions.port = cmdServer.Flag.Int("mq.broker.port", 17777, "message queue broker gRPC listen port")
diff --git a/weed/command/webdav.go b/weed/command/webdav.go
index 67e6ce69c..f0e738f4a 100644
--- a/weed/command/webdav.go
+++ b/weed/command/webdav.go
@@ -32,6 +32,7 @@ type WebDavOption struct {
tlsCertificate *string
cacheDir *string
cacheSizeMB *int64
+ maxMB *int
}
func init() {
@@ -45,6 +46,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.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")
}
@@ -116,6 +118,7 @@ func (wo *WebDavOption) startWebDav() bool {
Cipher: cipher,
CacheDir: util.ResolvePath(*wo.cacheDir),
CacheSizeMB: *wo.cacheSizeMB,
+ MaxMB: *wo.maxMB,
})
if webdavServer_err != nil {
glog.Fatalf("WebDav Server startup error: %v", webdavServer_err)
diff --git a/weed/server/webdav_server.go b/weed/server/webdav_server.go
index c4b1a1c03..97d51dad7 100644
--- a/weed/server/webdav_server.go
+++ b/weed/server/webdav_server.go
@@ -38,6 +38,7 @@ type WebDavOption struct {
Cipher bool
CacheDir string
CacheSizeMB int64
+ MaxMB int
}
type WebDavServer struct {
@@ -262,7 +263,7 @@ func (fs *WebDavFileSystem) OpenFile(ctx context.Context, fullFilePath string, f
fs: fs,
name: fullFilePath,
isDirectory: false,
- bufWriter: buffered_writer.NewBufferedWriteCloser(4 * 1024 * 1024),
+ bufWriter: buffered_writer.NewBufferedWriteCloser(fs.option.MaxMB * 1024 * 1024),
}, nil
}
@@ -278,7 +279,7 @@ func (fs *WebDavFileSystem) OpenFile(ctx context.Context, fullFilePath string, f
fs: fs,
name: fullFilePath,
isDirectory: false,
- bufWriter: buffered_writer.NewBufferedWriteCloser(4 * 1024 * 1024),
+ bufWriter: buffered_writer.NewBufferedWriteCloser(fs.option.MaxMB * 1024 * 1024),
}, nil
}