mirror of
https://github.com/containers/podman.git
synced 2025-10-20 20:54:45 +08:00
Move code for sparse optimized copy to a dedicated method
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
This commit is contained in:
@ -63,3 +63,13 @@ func (d *genericDecompressor) close() {
|
|||||||
logrus.Errorf("Unable to close compressed file: %q", err)
|
logrus.Errorf("Unable to close compressed file: %q", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (d *genericDecompressor) sparseOptimizedCopy(w WriteSeekCloser, r io.Reader) error {
|
||||||
|
var err error
|
||||||
|
sparseWriter := NewSparseWriter(w)
|
||||||
|
defer func() {
|
||||||
|
err = sparseWriter.Close()
|
||||||
|
}()
|
||||||
|
_, err = io.Copy(sparseWriter, r)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
@ -27,13 +27,5 @@ func (d *gzipDecompressor) decompress(w WriteSeekCloser, r io.Reader) error {
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
sparseWriter := NewSparseWriter(w)
|
return d.sparseOptimizedCopy(w, gzReader)
|
||||||
defer func() {
|
|
||||||
if err := sparseWriter.Close(); err != nil {
|
|
||||||
logrus.Errorf("Unable to close uncompressed file: %q", err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
_, err = io.Copy(sparseWriter, gzReader)
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,6 @@ package compression
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"io"
|
"io"
|
||||||
|
|
||||||
"github.com/sirupsen/logrus"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type uncompressedDecompressor struct {
|
type uncompressedDecompressor struct {
|
||||||
@ -16,13 +14,5 @@ func newUncompressedDecompressor(compressedFilePath string) (*uncompressedDecomp
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (d *uncompressedDecompressor) decompress(w WriteSeekCloser, r io.Reader) error {
|
func (d *uncompressedDecompressor) decompress(w WriteSeekCloser, r io.Reader) error {
|
||||||
sparseWriter := NewSparseWriter(w)
|
return d.sparseOptimizedCopy(w, r)
|
||||||
defer func() {
|
|
||||||
if err := sparseWriter.Close(); err != nil {
|
|
||||||
logrus.Errorf("Unable to close uncompressed file: %q", err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
_, err := io.Copy(sparseWriter, r)
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
|
|
||||||
"github.com/klauspost/compress/zstd"
|
"github.com/klauspost/compress/zstd"
|
||||||
"github.com/sirupsen/logrus"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type zstdDecompressor struct {
|
type zstdDecompressor struct {
|
||||||
@ -23,13 +22,5 @@ func (d *zstdDecompressor) decompress(w WriteSeekCloser, r io.Reader) error {
|
|||||||
}
|
}
|
||||||
defer zstdReader.Close()
|
defer zstdReader.Close()
|
||||||
|
|
||||||
sparseWriter := NewSparseWriter(w)
|
return d.sparseOptimizedCopy(w, zstdReader)
|
||||||
defer func() {
|
|
||||||
if err := sparseWriter.Close(); err != nil {
|
|
||||||
logrus.Errorf("Unable to close uncompressed file: %q", err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
_, err = io.Copy(sparseWriter, zstdReader)
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user