mirror of https://github.com/containers/podman.git
Fail on failures to close the file descriptors, and especially the SparseWriter
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
This commit is contained in:
parent
5e0b7e54c0
commit
7bfe5e700f
|
|
@ -71,7 +71,7 @@ func newDecompressor(compressedFilePath string, compressedFileContent []byte) (d
|
|||
}
|
||||
}
|
||||
|
||||
func runDecompression(d decompressor, decompressedFilePath string) error {
|
||||
func runDecompression(d decompressor, decompressedFilePath string) (retErr error) {
|
||||
compressedFileReader, err := d.compressedFileReader()
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
@ -100,6 +100,9 @@ func runDecompression(d decompressor, decompressedFilePath string) error {
|
|||
defer func() {
|
||||
if err := decompressedFileWriter.Close(); err != nil {
|
||||
logrus.Warnf("Unable to to close destination file %s: %q", decompressedFilePath, err)
|
||||
if retErr == nil {
|
||||
retErr = err
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ func setup() (string, *machineTestBuilder) {
|
|||
}
|
||||
defer func() {
|
||||
if err := dest.Close(); err != nil {
|
||||
fmt.Printf("failed to close destination file %q: %q\n", dest.Name(), err)
|
||||
Fail(fmt.Sprintf("failed to close destination file %q: %q\n", dest.Name(), err))
|
||||
}
|
||||
}()
|
||||
fmt.Printf("--> copying %q to %q\n", src.Name(), dest.Name())
|
||||
|
|
@ -159,9 +159,13 @@ func teardown(origHomeDir string, testDir string, mb *machineTestBuilder) {
|
|||
}
|
||||
|
||||
// copySparse is a helper method for tests only; caller is responsible for closures
|
||||
func copySparse(dst io.WriteSeeker, src io.Reader) error {
|
||||
func copySparse(dst io.WriteSeeker, src io.Reader) (retErr error) {
|
||||
spWriter := compression.NewSparseWriter(dst)
|
||||
defer spWriter.Close()
|
||||
defer func() {
|
||||
if err := spWriter.Close(); err != nil && retErr == nil {
|
||||
retErr = err
|
||||
}
|
||||
}()
|
||||
_, err := io.Copy(spWriter, src)
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue