[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Linux-cluster] Re: GFS



Hi,

On Wed, Aug 10, 2005 at 11:18:48PM +0300, Pekka J Enberg wrote:
> You, however, don't maintain the same level of data consistency when reads
> and writes are from other filesystems as they use ->nopage.

Mark Fasheh writes:
I'm not sure what you mean here...

Reading and writing from other filesystems to a GFS2 mmap'd file
does not walk the vmas. Therefore, data consistency guarantees
are different:


- A GFS2 filesystem does a read that writes to a GFS2 mmap'd
file -> we take all locks for the mmap'd buffer in order and
release them after read() is done.


- A ext3 filesystem, for example, does a read that writes to
a GFS2 mmap'd file -> we now take locks one page at the
time releasing them before we exit ->nopage(). Other nodes
are now free to write to the same GFS2 mmap'd file.


Or am I missing something here?

On Wed, Aug 10, 2005 at 11:18:48PM +0300, Pekka J Enberg wrote:
> Fixing this requires a generic vma walk in every write() and read(), no?
> That doesn't seem such an hot idea which brings us back to using ->nopage
> for taking the locks (but now the deadlocks are back).

Mark Fasheh writes:
Yeah if you look through mmap.c in ocfs2_fill_ctxt_from_buf() we do this...
Or am I misunderstanding what you mean?

If are doing write() or read() from some other filesystem, we don't walk the vmas but instead rely on ->nopage for locking, right?


Pekka


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]