Hello Max,

Max Ott:
> If I write and read to the same fifo path (e.g a/fifo) everything
> works fine, but if I do
>
> shell1$ cat a/fifo
> ...
> shell2$ echo 'hi' > b/fifo
>
> nothing happens.

Because your 'a' and 'b' are different mount from each other, and
'a/fifo' and 'b/fifo' are different entries. Try stat(2) against these
two fifos and you will see different st_dev.
As you might know, when you try communicating via fifo, you need to
operate on the same/identical fifo. Here 'identical' means that both of
st_dev and st_ino should match.
Aufs has different st_dev per mount and the inode numbers are managed
per mount. As long as you use different mount, you cannot communicate.

But you can escape from aufs by 'bind' mounting.
$ sudo mount -o bind common/fifo a/fifo
$ sudo mount -o bind common/fifo b/fifo

Try stat(2) again and confirm it.


J. R. Okajima

------------------------------------------------------------------------------

Reply via email to