Re: invalidate_inode_pages in 2.5.32/3

Chuck Lever
2002-09-05T21:59:24Z

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>