Merge branch '8953-no-double-count' refs #8953
[arvados.git] / sdk / go / keepclient / collectionreader.go
index b532a1642b981ee40cab10a8a53f18a0b4c8a548..bed60f499562a36c4585018932860fe35df34701 100644 (file)
@@ -40,6 +40,10 @@ func (kc *KeepClient) CollectionFileReader(collection map[string]interface{}, fi
                return nil, ErrNoManifest
        }
        m := manifest.Manifest{Text: mText}
+       return kc.ManifestFileReader(m, filename)
+}
+
+func (kc *KeepClient) ManifestFileReader(m manifest.Manifest, filename string) (ReadCloserWithLen, error) {
        rdrChan := make(chan *cfReader)
        go kc.queueSegmentsToGet(m, filename, rdrChan)
        r, ok := <-rdrChan
@@ -205,6 +209,10 @@ GET:
                }
                var buf = make([]byte, fs.Offset+fs.Len)
                _, err = io.ReadFull(rdr, buf)
+               errClosing := rdr.Close()
+               if err == nil {
+                       err = errClosing
+               }
                if err != nil {
                        r.err = err
                        close(r.errNotNil)