Re: 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 d

2023-08-28 Thread Joshuah Hurst via Cygwin
On Sun, Aug 27, 2023 at 2:35 PM Corinna Vinschen via Cygwin
 wrote:
>
> On Aug 26 19: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!
>
> I'm talking about the idea how users would use NFS, and the idea was
> that nobody in their right mind would use a crippled filesystem (from
> the Windows POV) for the entire installation.  Before you came up with
> your complaints, nobody here even knew that somebody actually did that.
>
> NFS is a niche filesystem on Windows and was never in the focus of
> anybody here, except me, because I was toying around with it and was
> happy to have it working.  As far as I knew until a few days ago,
> I was the only user of Cygwin's NFS support.
>
> As for FIFOs on NFS, as I wrote, they never worked as desired on NFS.
> For kicks I tried back until Cygwin 3.3.  Given this isn't a regression,
> it won't be fixed for Cygwin 3.4.
>
> As Brian wrote in his reply to your mail, we are all volunteers here.
> Everybody working on Cygwin is working in their spare time and/or on the
> goodwill of their employer.
>
> Cygwin is open source.  You can fix or implement stuff yourself and send
> the patches to the cygwin-patches ML for review.  Otherwise you will
> have to let us, the people actually working on the project, decide when
> and how something gets implemented.
>
> Having said that, I have a local patch enabling FIFOs on NFS.  I might
> push it at one point to the main branch, but the pressure you guys are
> currently building up on this mailing list puts me right off.

Corinna, please do not let people put you off. I don't even think it
was intended as pressure.

Could you please share the patch for testing?
-- 
Josh

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: 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 d

2023-08-28 Thread Corinna Vinschen via Cygwin
On Aug 28 07:35, Cedric Blancher via Cygwin wrote:
> On Sun, 27 Aug 2023 at 14:35, Corinna Vinschen via Cygwin
>  wrote:
> > As for FIFOs on NFS, as I wrote, they never worked as desired on NFS.
> > For kicks I tried back until Cygwin 3.3.  Given this isn't a regression,
> > it won't be fixed for Cygwin 3.4.
> 
> I am pretty sure this is a regression, as blast, staden and other
> software were built and operated on Cygwin.

The fact that some software works doesn't mean they use a certain
feature.  What, for instance, if they just created their FIFOs on a
local tmp dir?

I actually *tested* it on

- Cygwin 3.3.1-1 from 2021-10-28
- Cygwin 3.2.0-1 from 2021-03-29
- Cygwin 3.1.1-1 from 2019-12-18
- Cygwin 3.0.7-1 from 2019-04-30
- Cygwin 2.9.0-3 from 2017-09-12

FIFOs on NFS didn't work in all cases.

We can go back in time prior to 2017 if you like, but Cygwin FIFOs were
always just created as symlinks, and NFS symlinks were never tested for
being a device, so they never have been treated as FIFOs.  Also, NFS
FIFOs have never been recognized by the file handling code as Cygwin
FIFOs, they were just shown as such in stat(2).


Corinna

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: 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 d

2023-08-27 Thread Cedric Blancher via Cygwin
On Sun, 27 Aug 2023 at 14:35, Corinna Vinschen via Cygwin
 wrote:
>
> On Aug 26 19: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!
>
> I'm talking about the idea how users would use NFS, and the idea was
> that nobody in their right mind would use a crippled filesystem (from
> the Windows POV) for the entire installation.  Before you came up with
> your complaints, nobody here even knew that somebody actually did that.

What is missing in the Windows NFS filesystem to uncripple (if there
is such a word in English) it from a Windows perspective?

>
> NFS is a niche filesystem on Windows and was never in the focus of
> anybody here, except me, because I was toying around with it and was
> happy to have it working.  As far as I knew until a few days ago,
> I was the only user of Cygwin's NFS support.

Well, surprise, you were wrong. The Windows NFS filesystem has lots of
users, but there are no centralised statistics.

Just as an indicator, NFS on Windows has at least enough users to feed
a couple of engineers at OpenText to work on their OpenText (once
Hummingbird) NFS client product. Plus the two free implementations,
Windows builtin NFSv3, and the CITI ms-nfsv41-client.

>
> As for FIFOs on NFS, as I wrote, they never worked as desired on NFS.
> For kicks I tried back until Cygwin 3.3.  Given this isn't a regression,
> it won't be fixed for Cygwin 3.4.

I am pretty sure this is a regression, as blast, staden and other
software were built and operated on Cygwin.

Just my PAIN job is how to rebuild our compute cluster (after total
loss due water damage), new Windows, new blast, new Cygwin.
And promptly we got hit by this issue.

>
> As Brian wrote in his reply to your mail, we are all volunteers here.
> Everybody working on Cygwin is working in their spare time and/or on the
> goodwill of their employer.
>
> Cygwin is open source.  You can fix or implement stuff yourself and send
> the patches to the cygwin-patches ML for review.  Otherwise you will
> have to let us, the people actually working on the project, decide when
> and how something gets implemented.

I agree.

>
> Having said that, I have a local patch enabling FIFOs on NFS.  I might
> push it at one point to the main branch, but the pressure you guys are
> currently building up on this mailing list puts me right off.

This was not intended, at least not from my side. But in any case, I
humbly apologise.

Ced
-- 
Cedric Blancher 
[https://plus.google.com/u/0/+CedricBlancher/]
Institute Pasteur

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: 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 d

2023-08-27 Thread Corinna Vinschen via Cygwin
On Aug 26 19: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!

I'm talking about the idea how users would use NFS, and the idea was
that nobody in their right mind would use a crippled filesystem (from
the Windows POV) for the entire installation.  Before you came up with
your complaints, nobody here even knew that somebody actually did that.

NFS is a niche filesystem on Windows and was never in the focus of
anybody here, except me, because I was toying around with it and was
happy to have it working.  As far as I knew until a few days ago,
I was the only user of Cygwin's NFS support.

As for FIFOs on NFS, as I wrote, they never worked as desired on NFS.
For kicks I tried back until Cygwin 3.3.  Given this isn't a regression,
it won't be fixed for Cygwin 3.4.

As Brian wrote in his reply to your mail, we are all volunteers here.
Everybody working on Cygwin is working in their spare time and/or on the
goodwill of their employer.

Cygwin is open source.  You can fix or implement stuff yourself and send
the patches to the cygwin-patches ML for review.  Otherwise you will
have to let us, the people actually working on the project, decide when
and how something gets implemented.

Having said that, I have a local patch enabling FIFOs on NFS.  I might
push it at one point to the main branch, but the pressure you guys are
currently building up on this mailing list puts me right off.


Corinna

-- 
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple


Re: 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 d

2023-08-26 Thread Brian Inglis via Cygwin

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

--
Problem reports:  https://cygwin.com/problems.html
FAQ:  https://cygwin.com/faq/
Documentation:https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple