On Wed, May 13, 2009 at 07:13:40PM +0100, Al Viro wrote: > > OK, that's probably the easiest way to do that, as much as I don't like it... > Since iget() et.al. will not accept I_FREEING (will wait to go away > and restart), and since we'd better have serialization between new/free > on fs data structures anyway, we can afford simply skipping I_FREEING > et.al. in insert_inode_locked(). > > We do that from new_inode, so it won't race with free_inode in any interesting > ways and it won't race with iget (of any origin; nfsd or in case of fs > corruption a lookup) since both still will wait for I_LOCK. > > Tentative patch follow; folks, I would very much like review on that one, > since I'm far too low on caffeine and the area is nasty. Sorry for not having time to review this until now. This looks good to me. Reviewed-by: "Theodore Ts'o" <tytso@xxxxxxx> So Bug #13232 is currently marked as a 2.6.28 regression; do we feel confident enough to push this to Linus for 2.6.30? - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html