From c871456269f1c61bee4b39c7100559a23679a49a Mon Sep 17 00:00:00 2001 From: Krishnan Parthasarathi Date: Thu, 16 May 2019 18:30:51 -0700 Subject: [PATCH] File must be sync'd before closing (#7657) - group sync and close action into a single defer statement to avoid evaluation order related bugs in future. --- cmd/posix.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmd/posix.go b/cmd/posix.go index 4be0d1447..6fe37f8f4 100644 --- a/cmd/posix.go +++ b/cmd/posix.go @@ -1182,8 +1182,10 @@ func (s *posix) CreateFile(volume, path string, fileSize int64, r io.Reader) (er return err } } - defer w.Sync() // Sync before close. - defer w.Close() + defer func() { + w.Sync() // Sync before close. + w.Close() + }() var e error if fileSize > 0 {