fix: always close volume file (#4530) (#5459)

If sync fails then close is never called. We should always be calling
close on the file.

Co-authored-by: Hendrik Appel <happel@europe.altair.com>
This commit is contained in:
Henco Appel
2024-04-02 16:31:40 +01:00
committed by GitHub
parent df9031e19a
commit 2a88da4de7

View File

@@ -81,13 +81,20 @@ func (df *DiskFile) Close() error {
if df.File == nil {
return nil
}
if err := df.Sync(); err != nil {
return err
}
if err := df.File.Close(); err != nil {
return err
err := df.Sync()
var err1 error
if df.File != nil {
// always try to close
err1 = df.File.Close()
}
// assume closed
df.File = nil
if err != nil {
return err
}
if err1 != nil {
return err1
}
return nil
}