From a17ff9e9db5ecf20542a69654ade63d9f3aa7220 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Sun, 31 Dec 2023 21:40:55 -0700 Subject: file_blockbuf.go: Ensure the cache is flushed before closing --- lib/diskio/file_blockbuf.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/diskio/file_blockbuf.go b/lib/diskio/file_blockbuf.go index 8c0fec2..002b40a 100644 --- a/lib/diskio/file_blockbuf.go +++ b/lib/diskio/file_blockbuf.go @@ -68,12 +68,16 @@ func (src bufferedBlockSource[A]) Load(ctx context.Context, blockAddr A, block * func (bf *bufferedFile[A]) Name() string { return bf.inner.Name() } func (bf *bufferedFile[A]) Size() A { return bf.inner.Size() } -func (bf *bufferedFile[A]) Close() error { return bf.inner.Close() } func (bf *bufferedFile[A]) Flush() { bf.blockCache.Flush(bf.ctx) } +func (bf *bufferedFile[A]) Close() error { + bf.Flush() + return bf.inner.Close() +} + func (bf *bufferedFile[A]) ReadAt(dat []byte, off A) (n int, err error) { done := 0 for done < len(dat) { -- cgit v1.2.3