Messages in this thread | | | From | Nikita Danilov <> | Date | Thu, 31 Oct 2002 19:45:39 +0300 | Subject | Re: [PATCH]: reiser4 [5/8] export remove_from_page_cache() |
| |
Christoph Hellwig writes: > On Thu, Oct 31, 2002 at 07:24:40PM +0300, Nikita Danilov wrote: > > Reiser4 stores meta-data in a huge balanced tree. This tree is kept > > (partially) in the page cache. All pages in this tree are attached to > > "fake" inode. Sometimes you need to remove node from the tree. At this > > moment page has to be removed from the fake inode mapping. > > What about chaing truncate_inode_pages to take an additional len > argument so you don't have to remove all pages past an offset?
It is possible, I think. But this will look more of a hack. Truncate is rather for truncating mapping than cutting one page from the middle.
Besides, current truncate_inode_pages() with all its radix_tree_gang_lookup()'s and two passes doesn't looks like easily adaptable.
> > > > > Other file systems don't need remove_from_page_cache() because they only > > store in the page cache data (and remove_from_page_cache() is called by > > truncate()) and meta data that are never explicitly deleted (like > > directory content in ext2). > > Sorry, but that's wrong. XFS does use the pagecache for all metadata and JFS > for all but the superblock (which is never changed durin use) >
Interesting. Then, XFS and JFS meta data in the page cache probably are linearly ordered, and there it is never necessary to remove meta data page from the middle of the mapping, right?
Nikita. - 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/
| |