Messages in this thread | | | Date | Thu, 15 Nov 2012 16:35:47 -0600 | From | Chris Friesen <> | Subject | Re: [sqlite] light weight write barriers |
| |
On 11/15/2012 11:06 AM, Ryan Johnson wrote:
> The easiest way to implement this fsync would involve three things: > 1. Schedule writes for all dirty pages in the fs cache that belong to > the affected file, wait for the device to report success, issue a cache > flush to the device (or request ordering commands, if available) to make > it tell the truth, and wait for the device to report success. AFAIK this > already happens, but without taking advantage of any request ordering > commands. > 2. The requesting thread returns as soon as the kernel has identified > all data that will be written back. This is new, but pretty similar to > what AIO already does. > 3. No write is allowed to enqueue any requests at the device that > involve the same file, until all outstanding fsync complete [3]. This is > new.
This sounds interesting as a way to expose some useful semantics to userspace.
I assume we'd need to come up with a new syscall or something since it doesn't match the behaviour of posix fsync().
Chris
| |