![]() | |||||||||||||
Messages in this thread |
Andrea Arcangeli <andrea@suse.de> wrote: > > On Tue, May 18, 2004 at 05:27:18PM -0700, Andrew Morton wrote: > > Andrea Arcangeli <andrea@suse.de> wrote: > > > > > > Something broke in invalidate_inode_pages2 between 2.4 and 2.6, this > > > causes malfunctions with mapped pages in 2.6. > > > > What is the malfunction? > > >From Olaf Kirch > > - single application on NFS client opens file and maps it. > No-one else has this file open. File contains "zappa\n", > and the test app stats it once a second and reports size and > contents. > len=6, data=7a 61 70 70 61 0a > - on the NFS server, I do "echo frobnorz > file" > - after a while, the test app on the client reports > len=10, data=7a 61 70 70 61 0a > - I ctrl-C the app and restart it. We agree that this amounts to > a munmap+mmap of the file, right? > The test app now reports > len=10, data=7a 61 70 70 61 0a 00 00 00 00 OK. Can we do a full pte invalidation and force a major fault? > > It's currently the case that pages which are mapped into process pagetables > > are always up to date, which sounds like a good invariant to have. This > > I already intentionally broke that invariant in 2.4 just to make exactly > this thing work safely, this is needed for correct O_DIRECT semantics > too. > > All it matters is that the pages are re-read after munmap+mmap. > > > changes that rule. I dunno if it'll break anything though. > > It didn't break anything in 2.4 AFIK. It might have caused some of the debug checks in fs/buffer.c to get angry when it's used by direct-IO. But they're gone now anyway... - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-03-22 13:03 [from the cache] ©2003-2008 | |||||||||||||