On Wed, Jun 25, 2008 at 05:59:14PM +0200, Miklos Szeredi (miklos@xxxxxxxxxx) wrote: > > Page is locked of course, but invalidated, removed from all trees and > > caches, i.e. grab, lock, check, unlock... invalidate, write into that > > page should fail, but it will not, since page is uptodate and > > prepare_write does not check mapping at all. > > But callers do check after having locked the page. Yes, it is possible to check mapping, but it does not exist and it is correct, that there is no mapping - we are just writing into page in ram, kind of loop device, but without binding page into mapping. And mapping itself is used just for its operations. > > > > Instead of returning error when reading from invalid page, now you > > > > return old content of it? > > > > > > No, instead of returning a short count, it is now returning old > > > content. > > > > Or instead of returning error or zero and relookup page eventually, > > which can already contain new data, we get old data. > > Umm, it doesn't make any sense to try to always get fresh data. If > you do read() on a file, the data may become old and invalid a > millisecond after the read finished. We can't and needn't do anything > about this. Page reading from disk is atomic in respect that page is always locked, now readpage(s) may not be called in some cases... -- Evgeniy Polyakov -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html