On Fri, Oct 10, 2003 at 05:01:44PM +0100, Jamie Lokier wrote:
Why don't you _share_ the App's cache with the kernel's? That's what
mmap() and remap_file_pages() are for.
Because you can't force flush/read. You can't say "I need you
to go to disk for this."
That's tough to guarantee at the platter level regardless of O_DIRECT,
but otherwise: you have fdatasync() and msync().
Platter level doesn't matter. Storage access level matters.
Node1 and Node2 have to see the same thing. As long as I am absolutely
sure that when Node1's write() returns, any subsequent read() on Node2
will see the change (normal barrier stuff, really), it doesn't matter
what happend on the Storage.