diff --git a/cmd/tier-journal.go b/cmd/tier-journal.go index 2f8037011..ba965fc73 100644 --- a/cmd/tier-journal.go +++ b/cmd/tier-journal.go @@ -195,6 +195,10 @@ func (jd *tierDiskJournal) addEntry(je jentry) error { defer jd.Unlock() _, err = jd.file.Write(b) if err != nil { + // Do not leak fd here, close the file properly. + Fdatasync(jd.file) + _ = jd.file.Close() + jd.file = nil // reset to allow subsequent reopen when file/disk is available. } return err