| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH 2/2] xfs: fix splice/direct-IO deadlock |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Wed, 28 Nov 2012 11:07:36 -0500 |
| Cc: | linux-fsdevel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx |
| In-reply-to: | <1354068768-4316-3-git-send-email-david@xxxxxxxxxxxxx> |
| References: | <1354068768-4316-1-git-send-email-david@xxxxxxxxxxxxx> <1354068768-4316-3-git-send-email-david@xxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.21 (2010-09-15) |
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? |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: How to run xfstests against multipath disks on SuSE?, Rich Johnston |
|---|---|
| Next by Date: | Re: [PATCH 06/19] list: add a new LRU list type, Christoph Hellwig |
| Previous by Thread: | [PATCH 2/2] xfs: fix splice/direct-IO deadlock, Dave Chinner |
| Next by Thread: | Re: [PATCH 2/2] xfs: fix splice/direct-IO deadlock, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |