public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Martin Wege <martin.l.wege@gmail.com>
To: cygwin@cygwin.com
Subject: Re: mkfifo: cannot set permissions of 'x.fifo': Not a directory
Date: Thu, 10 Aug 2023 14:49:58 +0200	[thread overview]
Message-ID: <CANH4o6NyL68_yOZhjMUwyAK0G_5co6Tm7Fsi0EVYWMsEQFOtuQ@mail.gmail.com> (raw)
In-Reply-To: <ZNNi2//PUy0QPNa9@calimero.vinschen.de>

On Wed, Aug 9, 2023 at 11:56 AM Corinna Vinschen
<corinna-cygwin@cygwin.com> wrote:
>
> On Aug  9 11:12, Martin Wege via Cygwin wrote:
> > On Wed, Aug 9, 2023 at 10:01 AM Corinna Vinschen
> > <corinna-cygwin@cygwin.com> wrote:
> > >
> > > On Aug  8 21:38, Martin Wege via Cygwin wrote:
> > > > On Tue, Aug 8, 2023 at 10:20 AM Corinna Vinschen
> > > > <corinna-cygwin@cygwin.com> wrote:
> > > > >
> > > > > On Aug  7 23:14, Martin Wege via Cygwin wrote:
> > > > > > Secondly, how are fifos, other device nodes and mknod implemented? You
> > > > > > encode them as softlinks on ntfs?
> > > > >
> > > > > Not only on NTFS.  FIFOs on the disk are always created as symlinks
> > > > > with a special target string, recognized by Cygwin.  No differece on
> > > > > NFS.  Microsoft NFSv3 has no way to specify creating a "real" FIFO
> > > > > on the remote filesystem.  It wouldn't make sense anyway, because
> > > > > there's no way to share the FIFO across systems.
> > > >
> > > > So no Windows ioctl to do a mknod?
> > >
> > > Windows does not have provisions to store FIFOs on disk.  The closest
> > > you get in Windows are Windows named pipes, and those are stored
> > > non-permanently in a special, temporary filesystem inside the native NT
> > > namespace.  Try this in Cygwin:
> > >
> > >   $ cd /proc/sys/Device/NamedPipe/    <-- trailing slash!
> > >   $ ls -l
> > >
> > > FIFOs in the normal Windows filesystem are a Cygwin fake.
> >
> > Maybe make pipes in Cygwin symlinks to /proc/sys/Device/NamedPipe/?
>
> Why?  Windows Named Pipes don't act like UNIX FIFOs.

OK, dumb-user-question: Where is the difference?

>
> > > > What does a Linux/FreeBSD FIFO file look like, if you export that
> > > > filesystem via NFSv3, and mount it via the native Windows NFSv3
> > > > driver, and do a ls -l in Cygwin?
> > >
> > > It looks like a FIFO because MSFT NFSv3 exports the stat(2) info
> > > verbatim:
> > >
> > > linux$ mkfifo blubb
> > >
> > > cygwin$ ls -l blubb
> > > prw-r--r-- 1 corinna vinschen 0 Aug  8 10:22 blubb
> >
> > Will cygwin treat this as a FIFO?
>
> No.  Cygwin FIFOs != Unix FIFOs.
>
> > Can cygwin set the 'p' flag via a magic ioctl?
>
> No.  I don't understand your insistence to use FIFOs on NFS.  There is
> no value in that, because you can't share them between systems anyway.
>
> https://www.unix.com/unix-for-advanced-and-expert-users/10861-fifo-over-nfs.html
> https://stackoverflow.com/questions/1038788/cant-write-to-fifo-file-mouted-via-nfs

I'm aware of that.

But think about clusters of machines, or similar setups where many
machines from different architectures share one NFS filesystem, and
cooperatively work on that.
So for example a master machine sets up everything for the build
client machines, including generating FIFOs, which shall be used
locally on the client. But then... oopsie, client cannot use the FIFO
prepared by the cluster master, because it doesn't create the FIFO
mknod nodes the same way as other platforms.

Most of the concerns are about portability.

Thanks,
Martin

  reply	other threads:[~2023-08-10 12:50 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-07 14:42 Martin Wege
2023-08-07 18:26 ` Brian Inglis
2023-08-07 19:14   ` Corinna Vinschen
2023-08-07 21:14     ` Martin Wege
2023-08-08  8:20       ` Corinna Vinschen
2023-08-08 19:38         ` Martin Wege
2023-08-09  8:01           ` Corinna Vinschen
2023-08-09  9:12             ` Martin Wege
2023-08-09  9:56               ` Corinna Vinschen
2023-08-10 12:49                 ` Martin Wege [this message]
2023-08-18  4:02 ` Martin Wege
2023-08-18  8:34   ` Corinna Vinschen
2023-08-18 13:14     ` Martin Wege
2023-08-21  4:49     ` Cedric Blancher
2023-08-21  8:37       ` Corinna Vinschen
2023-08-22 14:52         ` [EXTERNAL] " Lavrentiev, Anton (NIH/NLM/NCBI) [C]
2023-08-22 23:05           ` How to fix |mkfifo()| failure if |pathname| is on NFS ? / was: " Roland Mainz
2023-08-24 16:45             ` Martin Wege
2023-08-25  4:25               ` Cedric Blancher
2023-08-26 17:58               ` Martin Wege
2023-08-25 12:18             ` Corinna Vinschen
2023-08-25 12:25               ` Corinna Vinschen
2023-08-26 11:26                 ` Cedric Blancher
2023-08-26 14:15                   ` Corinna Vinschen
2023-08-26 17:40                     ` Martin Wege
2023-08-26 19:16                       ` Brian Inglis
2023-08-25 15:14               ` Roland Mainz
2023-08-26 11:27                 ` Cedric Blancher
2023-08-25 23:21               ` Lavrentiev, Anton (NIH/NLM/NCBI) [C]
2023-08-26 14:28                 ` Corinna Vinschen
2023-08-26 14:39                   ` Lavrentiev, Anton (NIH/NLM/NCBI) [C]
2023-08-26 17:44               ` Documenting Cygwin on NFS, no longer only exchange-medium! " Martin Wege
2023-08-26 19:16                 ` Brian Inglis
2023-08-27 12:35                 ` Corinna Vinschen
2023-08-28  5:35                   ` Cedric Blancher
2023-08-28 10:02                     ` Corinna Vinschen
2023-08-28 11:41                   ` Joshuah Hurst
     [not found]           ` <14a692f6-7244-4a7e-a69b-d14521fb01e8@secure-endpoints.com>
2023-08-23 17:39             ` Lavrentiev, Anton (NIH/NLM/NCBI) [C]
2023-08-24  5:28             ` Cedric Blancher
2023-08-24 16:40             ` Martin Wege
2023-08-21 12:12     ` Martin Wege

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANH4o6NyL68_yOZhjMUwyAK0G_5co6Tm7Fsi0EVYWMsEQFOtuQ@mail.gmail.com \
    --to=martin.l.wege@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).