On Thu, Feb 16, 2012 at 03:26:48PM -0500, Jeff Moyer wrote: > Hi, > > The following comment in ext4_end_io_dio caught my attention: > > /* XXX: probably should move into the real I/O completion handler */ > inode_dio_done(inode); > > The truncate code takes i_mutex, then calls inode_dio_wait. Because the > ext4 code path above will end up dropping the mutex before it is > reacquired by the worker thread that does the extent conversion, it > seems to me that the truncate can happen out of order. Jan Kara > mentioned that this might result in error messages in the system logs, > but that should be the extent of the "damage." > > The fix is pretty straight-forward: don't call inode_dio_done until the > extent conversion is complete. > > Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> > Reviewed-by: Jan Kara <jack@xxxxxxx> Thanks, applied. - 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