From a63d692ff799429be6cf2784e7db53f147be8d15 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Thu, 9 Apr 2020 21:11:30 -0700 Subject: [PATCH] fix: ensure that we close the diskusage file, even if we fail to rename it --- flatfs.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/flatfs.go b/flatfs.go index 06d3ef0..e05fdc0 100644 --- a/flatfs.go +++ b/flatfs.go @@ -973,11 +973,16 @@ func (fs *Datastore) writeDiskUsageFile(du int64, doSync bool) { } removed := false + closed := false defer func() { + if !closed { + _ = tmp.Close() + } if !removed { // silence errcheck _ = os.Remove(tmp.Name()) } + }() toWrite := fs.storedValue @@ -999,6 +1004,7 @@ func (fs *Datastore) writeDiskUsageFile(du int64, doSync bool) { log.Warnw("cound not write disk usage", "error", err) return } + closed = true if err := os.Rename(tmp.Name(), filepath.Join(fs.path, DiskUsageFile)); err != nil { log.Warnw("cound not write disk usage", "error", err)