[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFwVgk8QwZKeU2xUGxS0rjRUsSKRYVVA-p+vHnaS5ixoAA@mail.gmail.com>
Date: Fri, 13 Jan 2017 12:32:37 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: "Alan J. Wylie" <alan@...ie.me.uk>,
Thorsten Leemhuis <regressions@...mhuis.info>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: 4.9.0 regression in pipe-backed iov_iter with systemd-nspawn
On Fri, Jan 13, 2017 at 12:11 PM, Al Viro <viro@...iv.linux.org.uk> wrote:
>
> PS: 'size' argument of iov_iter_advance() is the second "some" in the
> above - we tell it how much we want to advance by and everything past
> that point is, in case of PIPE_ITER, discarded.
Ok. The naming threw me. It would be more logical to call that
operation a "truncate", not advance.
I notice that one of the comments in fs/splice.c actually says that:
iov_iter_advance(&to, copied); /* truncates and discards */
but yes, I see what it's trying to do now.
Ugh. I still think your patch is butt-ugly, and the index comparisons
make me nervous, but..
Let's see if Alan's issue actually goes away with your later patch.
Linus
Powered by blists - more mailing lists