Messages in this thread | | | Subject | Re: [PATC] small VFS change for JFFS2 | From | David Woodhouse <> | Date | Mon, 18 Apr 2005 23:16:51 +1000 |
| |
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.
-- dwmw2
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |