Q: fs/super.c invalidate_inodes after put_super

Eric W. Biederman (ebiederm+eric@npwt.net)
08 Jun 1998 22:21:56 -0500


In 2.1.93 fs/super.c:do_umount:
Q1: Why was invalidate_inodes moved after put_super?

Problem invalidate_inodes calls dispose_list(), displose_list() calls
clear_inode(), and clear_inode() calls inode->i_op->clear_inode().

But since the filesystem in already gone (put_super has been called)
calling i_op->clear_inode() is dangerous especially since MOD_USE_COUNT
for has been decremented and if anyone sleeps a modular fs may be
removed! Then a kernel oops is assured!

If there is a good reason to call invalidate_inodes() after put_super
I don't know a clean fix to this problem :(

Eric

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu