Re: statfs() / statvfs() syscall ballsup...

From: Chris Friesen
Date: Fri Oct 10 2003 - 11:59:52 EST


Joel Becker wrote:
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."

According to my man pages, this is exactly what msync() is for, no?

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.

Isn't that exactly what msync() exists for?

Chris

--
Chris Friesen | MailStop: 043/33/F10
Nortel Networks | work: (613) 765-0557
3500 Carling Avenue | fax: (613) 765-2986
Nepean, ON K2H 8E9 Canada | email: cfriesen@xxxxxxxxxxxxxxxxxx

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/