diff options
| author | Chris Lu <chrislusf@users.noreply.github.com> | 2022-06-27 11:33:35 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-27 11:33:35 -0700 |
| commit | dc6b1a52e8a2b34c1e775fe21013e366c6a37ca6 (patch) | |
| tree | 440975208db8715205f2aa1a2e694839bdbb796a | |
| parent | 4be406a0950c5b9fc31f1fe499b0a8fb07d6d16b (diff) | |
| parent | 3a42269da888ccef8e15834684730450d8ed7a66 (diff) | |
| download | seaweedfs-dc6b1a52e8a2b34c1e775fe21013e366c6a37ca6.tar.xz seaweedfs-dc6b1a52e8a2b34c1e775fe21013e366c6a37ca6.zip | |
Merge pull request #3250 from xdadrm/xdadrm-patch-xweo-byte-files-from-webdav
Fixes WebDAV 0-bytes files
| -rw-r--r-- | weed/server/webdav_server.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/weed/server/webdav_server.go b/weed/server/webdav_server.go index 265dea03a..5140af2b4 100644 --- a/weed/server/webdav_server.go +++ b/weed/server/webdav_server.go @@ -48,6 +48,13 @@ type WebDavServer struct { Handler *webdav.Handler } +func max(x, y int64) int64 { + if x <= y { + return y + } + return x +} + func NewWebDavServer(option *WebDavOption) (ws *WebDavServer, err error) { fs, _ := NewWebDavFileSystem(option) @@ -496,6 +503,7 @@ func (f *WebDavFile) Write(buf []byte) (int, error) { written, err := f.bufWriter.Write(buf) if err == nil { + f.entry.Attributes.FileSize = uint64(max(f.off+int64(written), int64(f.entry.Attributes.FileSize))) glog.V(3).Infof("WebDavFileSystem.Write %v: written [%d,%d)", f.name, f.off, f.off+int64(len(buf))) f.off += int64(written) } |
