From d8c574a5ef1a811f9a0d447097d9edfcc0c1d84c Mon Sep 17 00:00:00 2001 From: chrislu Date: Wed, 14 May 2025 01:33:33 -0700 Subject: [PATCH] fix fsync logic --- weed/storage/store.go | 2 +- weed/storage/volume_write.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/weed/storage/store.go b/weed/storage/store.go index b138ef457..3b2869a2e 100644 --- a/weed/storage/store.go +++ b/weed/storage/store.go @@ -437,7 +437,7 @@ func (s *Store) WriteVolumeNeedle(i needle.VolumeId, n *needle.Needle, checkCook err = fmt.Errorf("volume %d is read only", i) return } - _, _, isUnchanged, err = v.writeNeedle2(n, checkCookie, fsync && s.isStopping) + _, _, isUnchanged, err = v.writeNeedle2(n, checkCookie, fsync || s.isStopping) return } glog.V(0).Infoln("volume", i, "not found!") diff --git a/weed/storage/volume_write.go b/weed/storage/volume_write.go index 94496cdf6..cf959b576 100644 --- a/weed/storage/volume_write.go +++ b/weed/storage/volume_write.go @@ -121,7 +121,7 @@ func (v *Volume) writeNeedle2(n *needle.Needle, checkCookie bool, fsync bool) (o n.Ttl = v.Ttl } - if !fsync { + if fsync { return v.syncWrite(n, checkCookie) } else { asyncRequest := needle.NewAsyncRequest(n, true)