volume: sync to disk before copying volume files

address https://github.com/chrislusf/seaweedfs/issues/2976
This commit is contained in:
chrislu
2022-04-26 13:03:43 -07:00
parent 3bce568c32
commit 94f824e1ce
2 changed files with 16 additions and 0 deletions

View File

@@ -190,6 +190,21 @@ func (v *Volume) SetStopping() {
}
}
func (v *Volume) SyncToDisk() {
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)
}
}
if v.DataBackend != nil {
if err := v.DataBackend.Sync(); err != nil {
glog.Warningf("Volume Close fail to sync volume %d", v.Id)
}
}
}
// Close cleanly shuts down this volume
func (v *Volume) Close() {
v.dataFileAccessLock.Lock()