Thread (124 messages) 124 messages, 9 authors, 2016-10-13

Re: xfs_file_splice_read: possible circular locking dependency detected

From: Al Viro <viro@ZenIV.linux.org.uk>
Date: 2016-09-09 02:26:30

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help