I found the cause of the oops when unmounting in 2.1.45 ... the
sb->s_root value was being set NULL prior to calling put_super in
fs/super.c.
With this fix I can now mount and unmount cleanly in 2.1.45. All we
need now is a slightly less aggressive dcache and we'll have a stable
development kernel again :-)
-Bill
--------------87885826D0D59BECE112A263
Content-Type: text/plain; charset=us-ascii; name="super_45-patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="super_45-patch"
--- fs/super.c.old Wed Jul 9 07:18:27 1997
+++ fs/super.c Thu Jul 10 21:58:25 1997
@@ -465,7 +465,7 @@
}
if (!(sb = get_super(dev)))
return;
- if (sb->s_root != sb->s_root->d_mounts) {
+ if (sb->s_root && sb->s_root != sb->s_root->d_mounts) {
printk("VFS: Mounted device %s - tssk, tssk\n",
kdevname(dev));
return;
--------------87885826D0D59BECE112A263--