Add comment for fsync
Some checks reported errors
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build was killed

This commit is contained in:
Alex 2022-03-14 11:54:00 +01:00
parent d78bf379fb
commit 0af314b295
Signed by: lx
GPG key ID: 0E496D15096376BE

View file

@ -902,6 +902,11 @@ impl BlockManagerLocked {
fs::remove_file(to_delete).await?; fs::remove_file(to_delete).await?;
} }
// We want to ensure that when this function returns, data is properly persisted
// to disk. The first step is the sync_all above that does an fsync on the data file.
// Now, we do an fsync on the containing directory, to ensure that the rename
// is persisted properly. See:
// http://thedjbway.b0llix.net/qmail/syncdir.html
let dir = fs::OpenOptions::new() let dir = fs::OpenOptions::new()
.read(true) .read(true)
.mode(0) .mode(0)