aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@uber.com>2021-04-05 23:24:26 -0700
committerChris Lu <chris.lu@uber.com>2021-04-05 23:24:26 -0700
commit2327c0756bf0d4da8d376377948bcbcc0a553d6e (patch)
tree1f97af9cd31ef78facbc40d9f6fc5f1250c3d17b
parenta37eca78cd680858d021cd864766b0847328a8d7 (diff)
downloadseaweedfs-2.38.tar.xz
seaweedfs-2.38.zip
fix to avoid loop2.38
-rw-r--r--weed/server/filer_server_handlers_write_upload.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/weed/server/filer_server_handlers_write_upload.go b/weed/server/filer_server_handlers_write_upload.go
index 03db942c6..81b2ce1b0 100644
--- a/weed/server/filer_server_handlers_write_upload.go
+++ b/weed/server/filer_server_handlers_write_upload.go
@@ -74,10 +74,10 @@ func (fs *FilerServer) uploadReaderToChunks(w http.ResponseWriter, r *http.Reque
lock.Unlock()
// handle read errors
if readErr != nil {
+ if err == nil {
+ err = readErr
+ }
if readErr != io.EOF {
- if err == nil {
- err = readErr
- }
resultsChan <- &ChunkCreationResult{
err: readErr,
}
@@ -86,6 +86,9 @@ func (fs *FilerServer) uploadReaderToChunks(w http.ResponseWriter, r *http.Reque
}
if len(data) == 0 {
readErr = io.EOF
+ if err == nil {
+ err = readErr
+ }
return
}
@@ -120,6 +123,10 @@ func (fs *FilerServer) uploadReaderToChunks(w http.ResponseWriter, r *http.Reque
waitForAllData.Wait()
+ if err == io.EOF {
+ err = nil
+ }
+
return fileChunks, md5Hash, readOffset, err, nil
}