Re: invalidate_inode_pages in 2.5.32/3

Daniel Phillips
2002-09-07T09:54:40Z

On Saturday 07 September 2002 10:01, Daniel Phillips wrote:
> On Thursday 05 September 2002 20:27, Andrew Morton wrote:
> > But be aware that invalidate_inode_pages has always been best-effort.
> > If someone is reading, or writing one of those pages then it
> > certainly will not be removed. If you need assurances that the
> > pagecache has been taken down then we'll need something stronger
> > in there.
>
> But what is stopping us now from removing a page from the page cache
> even while IO is in progress? (Practical issue: the page lock, but
> that's a self-fullfilling prophesy.)

Never mind, I can see that the main function of the page lock here is to
allow the filesystem to know there's no IO in progress on a block and so the
block can be recovered and used for something else. Leaving the page in the
page cache during IO is a simple means of keeping track of this.

All the same, I have deep misgivings about the logic of the vfs truncate path
in general, and given all the trouble it's caused historically, there's good
reason to. I don't know, it may be perfect the way it is, but history would
suggest otherwise.

--
Daniel