Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1620780
| From | Dave Jones <davej@codemonkey.org.uk> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: iov_iter_pipe warning. |
| Date | 2017-04-11 01:50 +0200 |
| Message-ID | <tuReh-7C4-1@gated-at.bofh.it> (permalink) |
| References | <tnz2O-8X-11@gated-at.bofh.it> <tuNaF-50X-11@gated-at.bofh.it> <tuNu3-5aC-35@gated-at.bofh.it> <tuNDJ-5ev-35@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Mon, Apr 10, 2017 at 08:57:11PM +0100, Al Viro wrote: > On Mon, Apr 10, 2017 at 03:42:06PM -0400, Dave Jones wrote: > > > Do you have a reliable reproducer? > > > > Not reliable, but I'll see if I can find some time to narrow it down > > this week. I've been working on better logging of "wtf just happened" > > the last few weeks, so it should get easier once I finish that work. > > I would suggest > a) slapping WARN_ON(pipe->nr_bufs); right before the loop > in splice_direct_to_actor(). Internal pipe should be empty when we > enter this function. > b) the same WARN_ON() in the very end of the loop body. > > We should have started with empty pipe. We'd called ->splice_read() > and it had returned a positive number (in read_len). That should be > the amount we'd pushed in there. Then we call actor(), with > sd->total_len set to read_len. Its return value is > * positive (or we would've buggered off) > * no less than read_len (ditto) > so it should have drained the pipe entirely, leaving it empty again. > > Finding it not just non-empty, but full means that something's very > wrong. The actor here is essentially ->splice_write(), and I'm really > curious which file is the target. Actually, could you turn those > WARN_ON() into > if (WARN_ON(pipe->nr_bufs)) > printk(KERN_ERR "->splice_write = %p", > sd->u.file->f_op->splice_write); > and see which function it is? s/nr_bufs/nrbufs/ aside, I tried this, and it didn't trigger, even though I hit the iov_iter_pipe WARN again. Dave
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-10 21:30 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-10 21:50 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-10 22:00 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-11 01:50 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-11 02:30 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-11 05:10 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-11 05:30 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-11 23:00 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-11 23:20 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-12 00:30 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-12 01:30 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-12 01:40 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-12 01:50 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-12 01:50 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-12 02:00 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-12 02:10 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-12 02:20 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-12 03:00 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-12 03:20 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-12 04:30 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-12 05:00 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-12 16:40 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-12 17:30 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-12 18:30 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-12 19:10 +0200
Re: iov_iter_pipe warning. Dave Jones <davej@codemonkey.org.uk> - 2017-04-12 21:10 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-21 21:10 +0200
Re: iov_iter_pipe warning. Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-12 02:00 +0200
csiph-web