On Thu, 20 Feb 2025 at 18:09, Corinna Vinschen via Cygwin <cygwin@cygwin.com> wrote: > > On Feb 20 17:37, Lionel Cons via Cygwin wrote: > > On Thu, 20 Feb 2025 at 14:56, Cedric Blancher via Cygwin > > <cygwin@cygwin.com> wrote: > > > > > > Good afternoon! > > > > > > Cygwin 3.6.0-0.378.g78fb13d21f4f.x86_64, Cygwin coreutils package 9.6-1 > > > > > > coreutils mkdir is broken on UNC paths: > > > > > > mkdir -p -- > > > "//ember.data4.local/afs/disk11/builds/bash/install_root/usr/local/bin" > > > mkdir: cannot create directory ‘//ember.data4.local’: Read-only file > > > system > > > > > > This happens because you cannot do a "cd .." in > > > //ember.data4.local/afs, because "afs" is the UNC prefix for that > > > filesystem. > > > > No, it happens because mkdir "//ember.data4.local" returns "Read-only > > file system". If Cygwin would just return EEXIST if this mount exists, > > then this whole mkdir -p would work. > > You know exactly what Cygwin is doing wrong, great!
Sorry, it has been a very long day, and I did not communicate my point precisely. My point is that mkdir("//ember.data4.local") for a share should in my opinion not return EROFS, because the share already exists. Looking at the code: int fhandler_base::mkdir (mode_t) { if (exists ()) set_errno (EEXIST); else set_errno (EROFS); return -1; } My guess is that exists() fails. The why? and how? I do not know. Maybe the hostname resolution in fhandler_netdrive::exists() failed? Lionel -- 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