fix: Close files immediately in archive cmd
This commit is contained in:
@@ -105,7 +105,6 @@ func (o *Operations) Archive(
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return []*tar.Header{}, err
|
return []*tar.Header{}, err
|
||||||
}
|
}
|
||||||
defer f.Close()
|
|
||||||
|
|
||||||
signer, sign, err := signature.Sign(f, writer.DriveIsRegular, o.pipes.Signature, o.crypto.Identity)
|
signer, sign, err := signature.Sign(f, writer.DriveIsRegular, o.pipes.Signature, o.crypto.Identity)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -186,6 +185,12 @@ func (o *Operations) Archive(
|
|||||||
dirty = true
|
dirty = true
|
||||||
|
|
||||||
if !file.Info.Mode().IsRegular() {
|
if !file.Info.Mode().IsRegular() {
|
||||||
|
if f != nil {
|
||||||
|
if err := f.Close(); err != nil {
|
||||||
|
return []*tar.Header{}, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,6 +237,10 @@ func (o *Operations) Archive(
|
|||||||
if err := encryptor.Close(); err != nil {
|
if err := encryptor.Close(); err != nil {
|
||||||
return []*tar.Header{}, err
|
return []*tar.Header{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := f.Close(); err != nil {
|
||||||
|
return []*tar.Header{}, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := cleanup(&dirty); err != nil {
|
if err := cleanup(&dirty); err != nil {
|
||||||
|
|||||||
@@ -101,7 +101,6 @@ func (o *Operations) Update(
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return []*tar.Header{}, err
|
return []*tar.Header{}, err
|
||||||
}
|
}
|
||||||
defer f.Close()
|
|
||||||
|
|
||||||
signer, sign, err := signature.Sign(f, writer.DriveIsRegular, o.pipes.Signature, o.crypto.Identity)
|
signer, sign, err := signature.Sign(f, writer.DriveIsRegular, o.pipes.Signature, o.crypto.Identity)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -185,6 +184,12 @@ func (o *Operations) Update(
|
|||||||
dirty = true
|
dirty = true
|
||||||
|
|
||||||
if !file.Info.Mode().IsRegular() {
|
if !file.Info.Mode().IsRegular() {
|
||||||
|
if f != nil {
|
||||||
|
if err := f.Close(); err != nil {
|
||||||
|
return []*tar.Header{}, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,6 +236,10 @@ func (o *Operations) Update(
|
|||||||
if err := encryptor.Close(); err != nil {
|
if err := encryptor.Close(); err != nil {
|
||||||
return []*tar.Header{}, err
|
return []*tar.Header{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := f.Close(); err != nil {
|
||||||
|
return []*tar.Header{}, err
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
hdr.Size = 0 // Don't try to seek after the record
|
hdr.Size = 0 // Don't try to seek after the record
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user