I'm compiling a kernel in 6M with no problems so far. The nasty little
script that was making toast of my disks under 2.1.45-3 is harmless now
-- seems to have a few spurious errors, but no oopses and no corruption
after fsck.
I added a call to shrink_dcache() in fs_may_umount, after which
s_root->d_count was 3. I sync the device and invalidate the inodes, and
there are no busy inodes, so umounting is OK. But when I try mounting
the device again, inode 2 has a count of 1, so the mount fails. I tried
adding a call to shrink_dcache() in may_mount as well, but it doesn't
help. Any ideas why the inode is being held open?
My code to catch the closing-inode-race-condition is working well -- I'm
getting occasional warning messages that find_inode is waiting on a
closing inode. No "wrapped open count" messages, fortunately.
That's it for now -- but looks like we're very close to having a stable
kernel again :-)
-Bill