[PATC] small VFS change for JFFS2
dwmw2 at infradead.org
Mon Apr 18 09:16:51 EDT 2005
On Mon, 2005-04-18 at 13:46 +0100, Christoph Hellwig wrote:
> Why doesn't __wait_on_freeing_inode get called? prune_icache sets
> I_FREEING before it's dropping the inode lock.
Because prune_icache() _also_ removes the inode from the hash before
dropping the inode lock. It shouldn't -- the inode should only get
removed from the hash when it's actually been cleared. That's the real
bug -- and I agree that the fix isn't to expose internal locks to let
JFFS2 work around it.
prune_icache() (and probably invalidate_inodes() too) needs to leave the
inode on the hash list while it's being freed.
More information about the linux-mtd