Re: Bug fixes in -mm that should go into 2.6.16

From: Andrew Morton
Date: Thu Mar 09 2006 - 07:17:06 EST


Jan Kara <jack@xxxxxxx> wrote:
>
> > Adrian Bunk <bunk@xxxxxxxxx> wrote:
> > >
> > > Hi Andrew,
> > >
> > > the following two patches in -mm should IMHO go into 2.6.16:
> > > fix-oops-in-invalidate_dquots.patch
> >
> > Maybe. I worry about the intrusiveness versus probability-of-oops.
> Yes, I guess the oops is not very probable - at least the bug was
> there unnoticed for several months...
> BTW Recently I found out in discussion with Neil Brown that probably
> there is a similar problem with umount. The problem is that an inode in
> both generic_delete_inode() and generic_forget_inode() is removed from
> i_sb_list and i_list. Then I_FREEING is set and inode_lock released. Now
> if umount is called, I did not find anything that protects
> invalidate_inodes() from missing those pending inodes. So it could
> happen that we succeed with unmounting the filesystem but there are
> still some live inodes... So we should either leave those inodes in some
> superblock list where invalidate_inodes() can reach them or we should
> implement some other measure that blocks umount from proceeding before
> all those pending inodes are really processed (one idea was some
> active_inode counter in the superblock). And if we solve this problem
> for umount, then quota can possibly use similar approach for handling
> the problem with invalidate_dquots().
> Any ideas?

Could be - I guess the first step would be seeing if it can be triggered.

One option might be to take sb->s_umount for reading while those inodes are
adrift.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/