fix: inherit heal opts globally, including bitrot settings (#11166)

Bonus re-use ReadFileStream internal io.Copy buffers, fixes
lots of chatty allocations when reading metacache readers
with many sustained concurrent listing operations

```
   17.30GB  1.27% 84.80%    35.26GB  2.58%  io.copyBuffer
```
This commit is contained in:
Harshavardhana
2020-12-24 23:04:03 -08:00
committed by GitHub
parent 027e17468a
commit 59d3639396
4 changed files with 8 additions and 12 deletions

View File

@@ -522,7 +522,10 @@ func (s *storageRESTServer) ReadFileStreamHandler(w http.ResponseWriter, r *http
w.Header().Set(xhttp.ContentLength, strconv.Itoa(length))
io.Copy(w, rc)
bufp := s.storage.pool.Get().(*[]byte)
defer s.storage.pool.Put(bufp)
io.CopyBuffer(w, rc, *bufp)
w.(http.Flusher).Flush()
}