Messages in this thread | | | Date | Thu, 31 Jul 1997 00:44:03 +0200 | From | Martin von Loewis <> | Subject | Re: 2.1.47 oops (crash) |
| |
> If autofs wasn't implicated, then we should indeed start looking for > something where the hashes do not match the parents..
You've probably noticed it: some of the oopses were related to amd umounting some file system, which then would case a negative d_count on some totally unrelated dentry.
Also, there was the report of ext2 inodes surviving an umount and suddenly re-appearing on another file system.
Something is wrong with unmounting. Here's a theory:
- iput removes the inode from the hash list only if nlink is zero - iget, if the inode is not found, invokes get_new_inode - get_new_inode, under certain circumstances, searches the hash list - find_inode on the hash list searches for identical superblock and inode number
So if the superblock is recycled, and the inode was not put with i_nlink==0, it may get recycled by the wrong file system. All kinds of strange things can happen.
I hope I'm missing something.
Regards, Martin
| |