Re: [PATCH]: reiser4 [5/8] export remove_from_page_cache()

Nikita Danilov (Nikita@Namesys.COM)
Thu, 31 Oct 2002 19:45:39 +0300


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/