Re: invalidate_inode_pages in 2.5.32/3

From: Chuck Lever (cel@citi.umich.edu)
Date: Thu Sep 05 2002 - 17:01:48 EST


Andrew Morton wrote:

> Trond, there are very good reasons why it broke. Those pages are
> visible to the whole world via global data structures - both the
> page LRUs and via the superblocks->inodes walk. Those things exist
> for legitimate purposes, and it is legitimate for async threads
> of control to take a reference on those pages while playing with them.
>
> It just "happened to work" in earlier kernels.
>
> I suspect we can just remove the page_count() test from invalidate
> and that will fix everything up. That will give stronger invalidate
> and anything which doesn't like that is probably buggy wrt truncate anyway.
>
> Could you test that?

removing that test from invalidate_inode_pages allows test6 to run to

completion.

however, i don't see why the reference counts should be higher in

2.5.32 than they were in 2.5.31. is there a good way to test that
these pages do not become orphaned?

-- 

corporate: <cel at netapp dot com> personal: <chucklever at bigfoot dot com>

- 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/



This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:27 EST