xfs_file_splice_read: possible circular locking dependency detected
Al Viro
viro at ZenIV.linux.org.uk
Thu Sep 8 21:26:28 CDT 2016
On Fri, Sep 09, 2016 at 11:53:24AM +1000, Dave Chinner wrote:
> This isn't specific to splice - it's the same issue for all page
> cache lookup and validation checks. This issue is one of the reasons
> why XFS has a MMAPLOCK similar to the IOLOCK - we can't take the
> IOLOCK in the page fault path, but we still need to protect page
> faults against racing page invalidations within EOF from operations
> like hole punch.
Point taken. The window is between grabbing the pages and ->readpage()
calls, though, so converting to ->read_iter() ought to deal with the
entire class of problems...
[snip]
> Sounds reasonable, but the iter stuff makes my head hurt so I
> haven't thought about it that deeply yet.
O_DIRECT requires a bit of care, but it seems to be doable.
More information about the xfs
mailing list