On Sun, 23 November 2008 21:14:47 +0100, Francis Moreau wrote: > Matthew Wilcox <matthew@xxxxxx> writes: > > On Sun, Nov 23, 2008 at 01:14:52PM +0100, Francis Moreau wrote: > > > >> Are there any cases where a page can be partially uptodate ? > > > > Consider a filesystem with 1k blocks and a system with a page size of 4k. > > You have a buffer_head for each of the four blocks that are being kept > > in the page, and you want to track their dirty state independently. > > Sorry but I'm confused since you're taking about the dirty state > (tracked by BH_Dirty bit) and I was taking about the uptodate state > (tracked by BH_Uptodate bit). Think page cache, except that the granularity is not pages but 1k blocks. If your filesystem wants to read an indirect block, 1k is read into the cache, the other 3k (or 63k) of the page remain as they were. If you have to cache data on a granularity smaller than a page, as many filesystems, your only alternative would be to leave the remaining 3k (or 63k) empty - a rather wasteful approach. Jörn -- A surrounded army must be given a way out. -- Sun Tzu -- 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