Re: xfs_file_splice_read: possible circular locking dependency detected

Nicholas Piggin <[email protected]> Mon, 19 Sep 2016 17:26:23 +1000
Newsgroups gmane.comp.file-systems.xfs.general
Organization IBM
Message-ID <20160919172623.14f2d5cb__37076.0899888866$1474270004$gmane$org@roar.ozlabs.ibm.com>
On Mon, 19 Sep 2016 07:11:21 +0100
Al Viro <[email protected]> wrote:

> On Mon, Sep 19, 2016 at 01:08:30PM +1000, Nicholas Piggin wrote:
> 
> > Without looking through all the patches again, I believe the issue was
> > just that filesystems were not expecting (or at least, not audited to
> > expect) pages being added to their pagecache in that particular state
> > (they'd expect to go through ->readpage or see !uptodate in prepare_write).
> > 
> > If some wanted to attach metadata to uptodate pages for example, this
> > may have caused a problem. It wasn't some big fundamental problem, just a
> > mechanical one.  
> 
> Umm...  Why not make it non-uptodate/locked, try to replace the original
> with it in pagecache and then do full-page ->write_begin immediately
> followed by full-page ->write_end?  Looks like that ought to work in
> all in-tree cases...

That sounds like it probably should work for that case. IIRC, I was looking
at using a write_begin flag to notify the case of of replacing the page, so
the fs could also handle the case of replacing existing pagecache.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs