xfs_file_splice_read: possible circular locking dependency detected
Al Viro
viro at ZenIV.linux.org.uk
Thu Sep 8 16:30:07 CDT 2016
On Fri, Sep 09, 2016 at 07:19:31AM +1000, Dave Chinner wrote:
> Don't bother. You'll just hit a different lockdep issue - a locking
> order problem on the write side. I tried to get that fixed years
> ago:
>
> https://lkml.org/lkml/2011/7/18/4
> http://oss.sgi.com/archives/xfs/2011-08/msg00122.html
> http://oss.sgi.com/archives/xfs/2012-11/msg00671.html
>
> That specific problem was fixed by the above write_iter
> infrastructure fixes, but introduced the read side problem. i.e.
> splice has /always/ had locking order issues that XFS exposed.
Yep. I'll try to slap together something testable for the variant I'd
outlined; I really think that the root of problems here is that we have
parallel logics in ->read_iter and ->splice_read. That just might
get rid of special-casing DAX in there, while we are at it...
Looking at the DAX side of things, we need iov_iter_zero() to grok those
as well (in addition to copy_page_to_iter() and copy_to_iter()).
More information about the xfs
mailing list