Re: [PATCH] Busy inodes after unmount, be more verbose in generic_shutdown_super

From: Jan Blunck
Date: Mon Jan 30 2006 - 09:20:21 EST


On Mon, Jan 30, Kirill Korotaev wrote:

> >
> > mntput(path->mnt); // too early mntput()
> > dput(path->dentry);
> >
> >Assuming that in-between this sequence someone unmounts the file system,
> >your
> >patch will wait for this dput() to finish before it proceeds with
> >unmounting
> >the file system. I think this isn't what we want.
> No, it won't wait for anything, because if umount happened between
> mntput/dput, dentry is not in s_dshrinkers list.
> if umount happens in parallell with dput() (where shrinker operations
> are), then it will behave ok - will wait for dput() and then umount. It
> was intended behaviour!

It should not wait.

>
> Also, please, note that such early mntput()'s are bugs!!! because such
> dentries can reference freed memory after last mntput(). And I remember
> some patches in 2.4.x/2.6.x which fixed this sequence everywhere.

Thats why I'm complaining ...

Regards,
Jan

--
Jan Blunck jblunck@xxxxxxx
SuSE LINUX AG - A Novell company
Maxfeldstr. 5 +49-911-74053-608
D-90409 Nürnberg http://www.suse.de
-
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/