Re: invalidate_inode_pages in 2.5.32/3

Daniel Phillips (phillips@arcor.de)
Sat, 7 Sep 2002 12:01:23 +0200


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