On Wed, Nov 28, 2012 at 11:07:36AM -0500, Christoph Hellwig wrote: > On Wed, Nov 28, 2012 at 01:12:48PM +1100, Dave Chinner wrote: > > From: Dave Chinner <dchinner@xxxxxxxxxx> > > > > lockdep reports splice vs direct-io write lock inversions due to > > generic_file_splice_write() taking the inode->i_mutex inside > > XFS_IOLOCK_EXCL context. These lock contexts are inverted, hence can > > deadlock. Remove the XFS_IOLOCK_EXCL locking context from the outer > > function and drive it inwards to the actor function that only locks > > the inode when the lock is really needed, > > punctuation? > > Otherwise the patch looks fine, but I'd love to understand why the > generic code thes te I_MUTEX_CHILD annotation and we can get away > without it. > > Also can you add a testcase for this to xfstests? I've had trouble reproducing it reliably. The only cases I've seen it occur are some custom FIO workloads. I'll try again to see if I can come up with something that reliably hits it... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs