mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-11-24 08:46:54 +08:00
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:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user