xfs
[Top] [All Lists]

Re: xfs_file_splice_read: possible circular locking dependency detected

To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Subject: Re: xfs_file_splice_read: possible circular locking dependency detected
From: CAI Qian <caiqian@xxxxxxxxxx>
Date: Thu, 8 Sep 2016 16:39:34 -0400 (EDT)
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, Al Viro <viro@xxxxxxxxxxxxxxxxxx>, linux-xfs <linux-xfs@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <CA+55aFyfDNR9vkQ3sZMhLcoizE5VCLJDVukyPk=gbhDz9aNLgA@xxxxxxxxxxxxxx>
References: <723420070.1340881.1472835555274.JavaMail.zimbra@xxxxxxxxxx> <1832555471.1341372.1472835736236.JavaMail.zimbra@xxxxxxxxxx> <20160903003919.GI30056@dastard> <1450936953.949798.1473348551588.JavaMail.zimbra@xxxxxxxxxx> <CA+55aFyfDNR9vkQ3sZMhLcoizE5VCLJDVukyPk=gbhDz9aNLgA@xxxxxxxxxxxxxx>
Thread-index: PDO0dlBPhn+wx5M9uFEi6qpDyTjvjw==
Thread-topic: xfs_file_splice_read: possible circular locking dependency detected

----- Original Message -----
> From: "Linus Torvalds" <torvalds@xxxxxxxxxxxxxxxxxxxx>
> To: "CAI Qian" <caiqian@xxxxxxxxxx>
> Cc: "Dave Chinner" <david@xxxxxxxxxxxxx>, "Al Viro" 
> <viro@xxxxxxxxxxxxxxxxxx>, "linux-xfs"
> <linux-xfs@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
> Sent: Thursday, September 8, 2016 2:01:23 PM
> Subject: Re: xfs_file_splice_read: possible circular locking dependency 
> detected
> 
> On Thu, Sep 8, 2016 at 8:29 AM, CAI Qian <caiqian@xxxxxxxxxx> wrote:
> > Right. FYI, revert the commit below fixes the regression,
> >
> > 8d02076 : ->splice_write() via ->write_iter()
> 
> I guess you didn't actually revert that, because so much else has
> changed. So you just tested the pre- and post- state of that commit?
Right, I just reverted that commit while that one is as a HEAD. It is
not going to be a straight-forward revert. There have had a few commits
on the top already, so there will be some additional work to bake a proper
revert to the current origin HEAD.

Though, Everything else looks straigtforward (PAGE_CACHE_* conversion,
inode_lock* conversion, file_remove_privs() converstion). It seems only
tricky thing is that generic_write_sync() starts to use struct kiocb *
instead of struct file *, so generic_file_splice_write() and probably
xfs_file_splice_write() need to change to use kiocb as well.
   CAI Qian

<Prev in Thread] Current Thread [Next in Thread>