The answer is io_uring, and it does already have fsync() in addition to sync_file_range().https://twitter.com/lwnnet/status/1130971376712638465 …
I don't think I *actually* want quite that - the error reporting seems like it'd be weird. I'd rather just be able to asynchronously submit multiple fsyncs, and handle them in a single flush operation from the FS side.
-
-
Not sure io_uring needs anything special to support that, that would mostly require some VFS plumbing to pass that bundle further down the stack without splitting it up. I do agree that the API and error handling would be way cleaner keeping them separate in terms of reporting.
-
I was thinking that it'd be useful to be able to limit the number of fsyncs etc that are grouped together. A database would e.g. want to fdatasync the minimal for a OLTP foreground commit. But do bulk-fsync for checkpointing, bulk writes, etc.
- 1 more reply
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.