Re: 2.4.15-pre9 breakage (inode.c)

Alexander Viro
2001-11-24T06:37:59Z

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.