Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Jan 2012 00:37:12 +0100
From:      Jilles Tjoelker <jilles@stack.nl>
To:        Giovanni Trematerra <gianni@freebsd.org>
Cc:        Attilio Rao <attilio@freebsd.org>, flo@freebsd.org, Konstantin Belousov <kib@freebsd.org>, freebsd-arch@freebsd.org
Subject:   Re: pipe/fifo code merged.
Message-ID:  <20120128233712.GA92694@stack.nl>
In-Reply-To: <CACfq092F%2BjeWT5SiQe-vy-oeFRYMtiWLergdBVMasVrpFU2Vpw@mail.gmail.com>
References:  <CACfq093o9iVZKxCj58OR2hpCLDYTUTdxg_re_bEMYn2SrNrLCQ@mail.gmail.com> <20120110005155.S2378@besplex.bde.org> <CACfq09225iMYLe6p8jSiVhsDw_rqTyEHsvPdtZXLrQYT0-skzg@mail.gmail.com> <20120110153807.H943@besplex.bde.org> <CACfq092F%2BjeWT5SiQe-vy-oeFRYMtiWLergdBVMasVrpFU2Vpw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 17, 2012 at 12:43:19PM +0100, Giovanni Trematerra wrote:
> Did you agree that this patch
> http://www.trematerra.net/patches/pipefifo_merge2.4.diff

> doesn't introduce any further regressions while it fixes

> - style bugs you pointed out.
> - pipe_stat now use underlying filesystem information for pipes.
> - comment about pipeinfo was intended for.
> - race into pipe_poll (look at fifo_iseof line).

I tested this version of the patch and found that it breaks opening a
fifo with O_TRUNC: it fails with [EINVAL]. This appears to be
pipe_truncate()'s doing. Previously, truncate requests went to the
vnode.

In particular, this happens when opening a fifo for writing using
sh(1)'s > (unless 'set -C' is in effect) or >| redirection operators.
The open properly blocks until a reader arrives but then fails with
[EINVAL]. Several tests in tools/regression/bin/sh do this.

-- 
Jilles Tjoelker



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120128233712.GA92694>