On Sun, Oct 24, 2010 at 07:40:58PM +0200, Christoph Hellwig wrote: > The I_WILL_FREE is currently set for inodes that we write out during > umount after dropping their last reference. It is handled equally > to I_FREEING in most places. The two execptions are: > > - writeback_single_inode skips all list manipulations for I_FREEING, > but not for I_WILL_FREE. We don't care about which list an > I_WILL_FREE inode is on, because we will remove it from the list > a little bit later. > - __mark_inode_dirty skips I_FREEING inodes but not I_WILL_FREE > inodes. This only matters for filesystem that re-dirty the inode > during writeback and then use the I_DIRTY flags inside ->evict_inode. > The formers is done by XFS, but it uses it's internal state to flush > the inode. I could not find any filesystem that looks at I_DIRTY > inside ->evict_inode either. > > Besides cleaning up the code removing I_WILL_FREE will allow us to > avoid one i_lock roundtrip once inode_lock is split and keep iput_final > more logic. This includes removing the __remove_inode_hash call in > iput_final, given that we never drop the protection from lookups now > that I_FREEING is set earlier. All except that one applied, exofs patch dropped, fixes folded, etc. Branch pushed in the same place... -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html