lkml.org 
[lkml]   [1997]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.1.47 oops (crash)


On Thu, 31 Jul 1997, Martin von Loewis wrote:
>
> 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.

Ahh, you're right.

> 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

I just found it - when we're invalidating inodes at unmount time, we do
not invalidate any inode that has a non-zero "i_nrpages". But we really
REALLY should do that.

We do actually want to leave inodes with a non-zero i_nrpages alone under
normal circumstances, but unmounting is definitely not a normal
circumstance.

Linus


\
 
 \ /
  Last update: 2005-03-22 13:40    [W:0.082 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site