From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id B00C63858D20; Wed, 9 Aug 2023 08:01:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B00C63858D20 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1691568084; bh=t/zlaQFz/sLFDTPYV9l3U3PkD63n08pd47usCyw81X4=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=ueTd/9v7Ky20W0fEzAwJ3EdXzXJPFmbQjqiSTiwox8ny3OuAe5kfnEhp9y/0JAYsJ pHEMJfib34tfbZ9yWMaIlwi04Vk4YCg1zyOqjDeMKDFdrmfzClET7+wbw3ucStyva0 DGZHjCAOeXYDQMG2lsckqbjS8Zhdvh9EZO7X2u0M= Received: by calimero.vinschen.de (Postfix, from userid 500) id 519F8A80C13; Wed, 9 Aug 2023 10:01:22 +0200 (CEST) Date: Wed, 9 Aug 2023 10:01:22 +0200 From: Corinna Vinschen To: Martin Wege Cc: cygwin@cygwin.com Subject: Re: mkfifo: cannot set permissions of 'x.fifo': Not a directory Message-ID: Reply-To: cygwin@cygwin.com Mail-Followup-To: Martin Wege , cygwin@cygwin.com References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: On Aug 8 21:38, Martin Wege via Cygwin wrote: > On Tue, Aug 8, 2023 at 10:20 AM Corinna Vinschen > wrote: > > > > On Aug 7 23:14, Martin Wege via Cygwin wrote: > > > On Mon, Aug 7, 2023 at 9:14 PM Corinna Vinschen > > > wrote: > > > > > > > > On Aug 7 12:26, Brian Inglis via Cygwin wrote: > > > > > On 2023-08-07 08:42, Martin Wege via Cygwin wrote: > > > > > > We get a weird mkfifo failure in Cygwin on NTFS: > > > > > > > > > > > > /usr/bin/mkfifo -m 600 x.fifo > > > > > > mkfifo: cannot set permissions of 'x.fifo': Not a directory > > > > > > > > > > This error is also reproducible with default fifo permissions 666 or > > > > > anything else, and appears to be returned by gen_full_path_at() in > > > > > syscalls.cc when called with a fifo: > > > > > > > > This will be fixed in 3.4.8, > > > > > > Thank you > > > > > > > see > > > > https://cygwin.com/git/?p=newlib-cygwin.git;a=commit;h=b56b4d7fd85b > > > > > > First, Can I download a beta of 3.4.8, or any other version with that > > > fix? It's pretty urgent > > > > You can install a test release of Cygwin, simply by using the setup tool > > These test releases are always created from the git main branch, though, > > so they are always test releases of the next major version, currently > > 3.5.0. > > Where can I download the Setup.exe tool for those test releases? You already have it: https://cygwin.com/install.html > > > 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. > 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 In Windows Explorer and cmd.exe its a file of size 0 with the "System" attribute set. In Samba it looks like an ordinary file of size 0. Corinna