diff --git a/weed/storage/volume.go b/weed/storage/volume.go index e0638d8a8..c6bf3e329 100644 --- a/weed/storage/volume.go +++ b/weed/storage/volume.go @@ -180,10 +180,16 @@ func (v *Volume) Close() { v.dataFileAccessLock.Lock() defer v.dataFileAccessLock.Unlock() if v.nm != nil { + if err := v.nm.Sync(); err != nil { + glog.Warningf("Volume Close fail to sync volume idx %d", v.Id) + } v.nm.Close() v.nm = nil } if v.DataBackend != nil { + if err := v.DataBackend.Sync(); err != nil { + glog.Warningf("Volume Close fail to sync volume %d", v.Id) + } _ = v.DataBackend.Close() v.DataBackend = nil stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "volume").Dec()