Remix.run Logo
rrauch a day ago

Looks like the author is well aware:

  /// Even when using direct I/O, `fsync` is still necessary, as it ensures the device itself has flushed any internal caches.
  async fn sync(&self) {
    let (fut, fut_ctl) = SignalFuture::new();
    self.sender.send(Request::Sync { res: fut_ctl }).unwrap();
    fut.await
  }
Full code here:

https://github.com/wilsonzlin/blobd/blob/master/libblobd-dir...