Re: 2.4.15-pre9 breakage (inode.c)

Alexander Viro (viro@math.psu.edu)
Sat, 24 Nov 2001 01:37:22 -0500 (EST)


On Sat, 24 Nov 2001, Alexander Viro wrote:

> On Sat, 24 Nov 2001, Andrea Arcangeli wrote:
>
> > you are screwed because you were running a broken filesystem: it is its
> > own business to drop the inodes if it fails, all it needs to do is to
> > call invalidate_inodes(s) internally before returning from the read_super
> > in the failure case.
>
> Cute. Do you realize that _every_ fs would have to do that?

Put it that way:
* if ->read_super() decides to fail, it should evict all inodes
it had put into icache.
* if ->put_super() does any iput(), it should take care to evict
that inode from icache.

IOW,
* if we do iput() while we are outside of (success of ->read_super(),
call of ->put_super()) - we want that inode to be evicted ASAP.

Which is precisely what 2.4.15+patch does.

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