diff --git a/weed/server/filer_server_handlers_write_upload.go b/weed/server/filer_server_handlers_write_upload.go index 6b4a820e6..c47ed223b 100644 --- a/weed/server/filer_server_handlers_write_upload.go +++ b/weed/server/filer_server_handlers_write_upload.go @@ -70,9 +70,13 @@ func (fs *FilerServer) uploadReaderToChunks(w http.ResponseWriter, r *http.Reque if err != nil || dataSize == 0 { bufPool.Put(bytesBuffer) <-bytesBufferLimitChan - uploadErrLock.Lock() - uploadErr = err - uploadErrLock.Unlock() + if err != nil { + uploadErrLock.Lock() + if uploadErr == nil { + uploadErr = err + } + uploadErrLock.Unlock() + } break } if chunkOffset == 0 && !isAppend {