[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170906234617.GW17782@dastard>
Date: Thu, 7 Sep 2017 09:46:17 +1000
From: Dave Chinner <david@...morbit.com>
To: Dave Jones <davej@...emonkey.org.uk>,
"Darrick J. Wong" <darrick.wong@...cle.com>,
Al Viro <viro@...IV.linux.org.uk>,
Linux Kernel <linux-kernel@...r.kernel.org>,
linux-xfs@...r.kernel.org
Subject: Re: iov_iter_pipe warning.
On Wed, Sep 06, 2017 at 04:03:37PM -0400, Dave Jones wrote:
> On Mon, Aug 28, 2017 at 09:25:42PM -0700, Darrick J. Wong wrote:
> > On Mon, Aug 28, 2017 at 04:31:30PM -0400, Dave Jones wrote:
> > > I'm still trying to narrow down an exact reproducer, but it seems having
> > > trinity do a combination of sendfile & writev, with pipes and regular
> > > files as fd's is the best repro.
> > >
> > > Is this a real problem, or am I chasing ghosts ? That it doesn't happen
> > > on ext4 or btrfs is making me wonder...
> >
> > <shrug> I haven't heard of any problems w/ directio xfs lately, but OTOH
> > I think it's the only filesystem that uses iomap_dio_rw, which would
> > explain why ext4/btrfs don't have this problem.
>
> Another warning, from likely the same root cause.
>
> WARNING: CPU: 3 PID: 572 at lib/iov_iter.c:962 iov_iter_pipe+0xe2/0xf0
WARN_ON(pipe->nrbufs == pipe->buffers);
* @nrbufs: the number of non-empty pipe buffers in this pipe
* @buffers: total number of buffers (should be a power of 2)
So that's warning that the pipe buffer is already full before we
try to read from the filesystem?
That doesn't seem like an XFS problem - it indicates the pipe we are
filling in generic_file_splice_read() is not being emptied by
whatever we are splicing the file data to....
Cheers,
Dave.
--
Dave Chinner
david@...morbit.com
Powered by blists - more mailing lists