mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-08-27 19:36:19 +00:00
Avoid io.ReadAll in buildFinalTarball() (#10311)
This commit updates the func buildFinalTarball so it won't use
io.ReadAll, in order to optimize memory usage.
Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com>
(cherry picked from commit 763f3a1db4)
This commit is contained in:
committed by
github-actions[bot]
parent
cae8768c8f
commit
3b88d3b16d
+1
-10
@@ -1128,21 +1128,12 @@ func buildFinalTarball(tr *tar.Reader, tw tarWriter, updateFiles map[string]File
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
delete(updateFiles, header.Name)
|
||||
// skip over file contents from old tarball
|
||||
_, err := io.ReadAll(tr)
|
||||
if err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
} else {
|
||||
// Add original content to new tarball, as item wasn't updated
|
||||
oldContents, err := io.ReadAll(tr)
|
||||
if err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
if err := tw.WriteHeader(header); err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
if _, err := tw.Write(oldContents); err != nil {
|
||||
if _, err := io.Copy(tw, tr); err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user