Re: another nfs puzzle

From: Peter Staubach
Date: Wed Dec 07 2005 - 10:34:35 EST


Trond Myklebust wrote:

Yup, same problem. Why is this allowed? Does it really work correctly?



Assuming that the processes have _some_ method of synchronisation, then
I cannot see why it shouldn't be workable. Come to think of it, it might
even be possible to use O_DIRECT to provide that synchronisation (use
O_DIRECT to set a "lock" on the page, then modify it using mmap).

Whether or not there are people out there that actually _want_ to do
this is a different matter.


Mixing O_DIRECT i/o and cached i/o is probably a recipe for disaster,
unless the cooperating programs are very careful and very aware of how
the particular file system in the particular kernel implements direct
i/o and caching, including cache validation.

This seems like a dangerous enough area that denying mmap on a file which
has been opened with O_DIRECT by any process and denying open(O_DIRECT)
on a file which has been mmap'd would be a good thing. These things are
easy enough to keep track of, so it shouldn't be too hard to implement.

Thanx...

ps
-
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/