Can't write to FIFO file mouted via NFS

jackhab picture jackhab · Jun 24, 2009 · Viewed 7.6k times · Source

I'm trying to write to FIFO file locate on NFS mount and it blocks. What could be the problem?

My /etc/export:

/tmp/test/ 10.0.0.0/24(rw,no_root_squash,async)

ls /tmp/test on NFS server and client is the same

prw--w--w- 1 root root 0 2009-06-24 17:28 ui-input

and I'm writing as root

Thanks.

Answer

Divye Kapoor picture Divye Kapoor · Aug 22, 2009

A FIFO is meant to be an inter-process communication mechanism. By trying to export the FIFO via NFS, you are asking the kernel to treat the local inter-process communication as more of a network communication mechanism.

There are a number of issues associated with that, the most obvious one being that the FIFO read implementation inside the kernel expects a buffer in userspace to copy the data to. Such a buffer is not directly available in NFS. Thus, the Kernel does not support the export of FIFOs over NFS.

You may want to use sockets for network communication instead.