On Fri, Aug 26, 2011 at 06:44:03PM +1000, Dave Chinner wrote: > While the lockdep report is false positive, I agree that your > change is the right fix to make - the IO completions are already > queued on the workqueue, so they don't need to be flushed to get > them to complete. All that needs to be done is call > ext4_ioend_wait() for them to complete, and that gets rid of the > i_mutex altogether. (*) The really correct fix is to stop using the ioend wait like I did in my pending series for XFS. The only thing preventing ext4 from doing that is that it marks pages uptodate from irq context, before finishing the ioends. This has a lot of nasty implications as the the page might be marked uptodate without actually having that state on disk. -- 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