Documenting Cygwin on NFS, no longer only exchange-medium! Re: How to fix |mkfifo()| failure if |pathname| is on NFS ? / was: Re: [EXTERNAL] Re: mkfifo: cannot set permissions of 'x.fifo': Not a directory

Brian Inglis
Sat Aug 26 19:16:29 GMT 2023

On 2023-08-26 11:44, Martin Wege via Cygwin wrote:
> On Fri, Aug 25, 2023 at 2:19 PM Corinna Vinschen via Cygwin
> <> wrote:
>> On Aug 23 01:05, Roland Mainz via Cygwin wrote:
>>> Note that Cygwin does not interpret the file |myfifo.fifo| as FIFO,
>>> instead it comes back as a symlink "myfifo.fifo -> ':\0:c4:1000'".
>>> AFAIK there are (at least) these two options to fix the problems:
>>> 1. Check whether the filesystem for the fifos path is NFS
>>> (cgywin.dll's |fs.fs_is_nfs()|), and if it is a symlink check if it
>>> starts with ':\0:c4:' (assuming "c4" is the prefix for inodes created
>>> with |mkfifo()|). If this condition is |true|, then cygwin |stat()|,
>>> |open()| etc. should treat this inode as FIFO.
>> The downside is that it is not possible to diffentiate between Cygwin
>> FIFOs and real FIFOs created from the remote side in `ls -l'
>> output.  Note that Cygwin returns the NFS stat info verbatim, so
>> a real FIFO is returned as a real FIFO:
>>    linux$ mkfifo bar
>>    cygwin$ ls -l bar
>>    prw-r--r-- 1 corinna vinschen  0 Aug 25 13:58 bar
>> The idea was always to use NFS as exchange medium, but not as
>> installation medium for the entire distro or to keep Cygwin home
>> dirs on NFS.  There were times where NFS was pretty unstable.
>> I used NFS for quite some time to build Cygwin packages, but at one
>> point I got trouble (performance problems with multiple concurrent
>> processes accessing an NFS share, build errors out of the blue),
>> so I switched to Samba shares, albeit grudgingly.  I'm not yet
>> sure if the problems are fixed.  At least a recent OpenSSH build
>> ran through without problems...
> Corinna, could you please update the Cygwin documentation then? We use
> NFS, both Windows builtin and CITI NFSv4.1, with Cygwin for years
> without major problems, so that comment about exchange-medium-only is
> clearly wrong!

Feel free to submit doc patches if you feel there is a lack.

We are all volunteers here - and that includes you!

Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry

More information about the Cygwin mailing list