Linus Torvalds writes: (Summary) wrote:
So I see in the commit message why afs needs to do this, but it's worth pointing out that it's
worth pointing out that it's
(a) impossible to avoid the "inconsistent data" case for writable mmap'ed pages (a) impossible to avoid the "inconsistent data" case for writable mmap'ed pages (b) can cause some really nasty latency issues
(b) can cause some really nasty latency issues
So the "page->private" issue does mean that write-vs-writeback clearly needs that serialization (and that's not an issue for the mapped page being changed at the same time), but in general filesystem people should be aware that data under writeback may still be further dirtied while the writeback is active (and the page marked dirty again).
[...]
complete.So I see in the commit message why afs needs to do this, but it's worth pointing out that it's
worth pointing out that it's
(a) impossible to avoid the "inconsistent data" case for writable mmap'ed pages (a) impossible to avoid the "inconsistent data" case for writable mmap'ed pages (b) can cause some really nasty latency issues
(b) can cause some really nasty latency issues
So the "page->private" issue does mean that write-vs-writeback clearly needs that serialization (and that's not an issue for the mapped page being changed at the same time), but in general filesystem people should be aware that data under writeback may still be further dirtied while the writeback is active (and the page marked dirty again).