Reuse more metadata buffers (#12955)

Reuse metadata buffers when no longer referenced.

Takes care of most of the happy paths.
This commit is contained in:
Klaus Post
2021-08-13 20:39:27 +02:00
committed by GitHub
parent 24722ddd02
commit 7d8413a589
4 changed files with 75 additions and 7 deletions

View File

@@ -984,6 +984,7 @@ func (z *erasureServerPools) ListObjectVersions(ctx context.Context, bucket, pre
if err != nil && err != io.EOF {
return loi, err
}
defer merged.truncate(0) // Release when returning
if versionMarker == "" {
o := listPathOptions{Marker: marker}
// If we are not looking for a specific version skip it.
@@ -1040,6 +1041,7 @@ func (z *erasureServerPools) ListObjects(ctx context.Context, bucket, prefix, ma
}
merged.forwardPast(opts.Marker)
defer merged.truncate(0) // Release when returning
// Default is recursive, if delimiter is set then list non recursive.
objects := merged.fileInfos(bucket, prefix, delimiter)