Re: [PATCH] splice: fix problem with sys_tee and SPLICE_F_NONBLOCK

From: Johann Felix Soden
Date: Tue Feb 19 2008 - 16:48:19 EST



Am Dienstag, den 19.02.2008, 22:25 +0100 schrieb Jens Axboe:
> On Tue, Feb 19 2008, Johann Felix Soden wrote:
> > > On Tue, Feb 19 2008, Johann Felix Soden wrote:
> > > > From: Johann Felix Soden <johfel@xxxxxxxxxxxxxxxxxxxxx>
> > > >
> > > > With SPLICE_F_NONBLOCK sys_tee should return number of duplicated bytes,
> > > > not only -EAGAIN on success.
> > >
> > > ?
> > >
> > > The current behaviour is to return bytes tee'd, or return -EAGAIN for
> > > zero bytes if SPLICE_F_NONBLOCK is set. It doesn't return "-EAGAIN on
> > > success", not sure what you mean there.
> > >
> > Sorry, my patch description was not correct.
> >
> > The new behavior of sys_tee with my patch is:
> > - return -EAGAIN if there are no data in the pipe, but writer
> > connected to the pipe,
> > - return 0 if there are not writers connected
> > - else return number of duplicated byte
> >
> > The old behavior was: return -EAGAIN or the number (>0) of duplicated
> > bytes.
>
> Your patch has an odd way of achieving that goal, modify the real
> location of the assignment instead of overriding something. That has the
> potential to turn into another confusing bug later on, wondering why the
> heck your return value isn't being passed back.
>
> Improvement is welcome though, you can't distuingish -EAGAIN on the
> input side from the output side currently.
>

I thought again about the problem and my patch: you are right, the patch
is nonsense. I have learnt, that the correctness of a patch is not
guaranteed by the (bad, but anyhow working) solution of the problem the
patch was written for.
Sorry for wasting your time.
--
J. F. Soden


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/