On Feb 20 15:16, Cedric Blancher via Cygwin wrote: > On Thu, 20 Feb 2025 at 14:55, Cedric Blancher <cedric.blanc...@gmail.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
Works for me: [~]$ mkdir -p -- //calimero/corinna/newdir <-- Samba [~]$ echo $? 0 [~]$ mkdir -p -- //calimero.vinschen.de/ext/newdir <-- NFS [~]$ echo $? 0 [~]$ mkdir -p -- //vmbert2k25/c\$/newdir <-- Windows SMB If there *really* is a bug and you want it fixed, we need a *thorough* bug description, a reliable reproducer or a useful trace. > > This happens because you cannot do a "cd .." in > > //ember.data4.local/afs, because "afs" is the UNC prefix for that > > filesystem. > > Might not be coreutils issue, looks more like a Cygwin issue: > strace shows that Cygwin tries a mkdir("//ember.data4.local"), which > fails, and then a chdir("//ember.data4.local"), which also fails > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > 912 621383 [main] mkdir 10898 __set_errno: virtual int > fhandler_base::mkdir(mode_t):1672 setting errno 30 > 1108 622491 [main] mkdir 10898 mkdir: -1 = > mkdir(//ember.data4.local, 511), errno 30 > 734 623225 [main] mkdir 10898 chdir: dir '//ember.data4.local' > 899 624124 [main] mkdir 10898 normalize_posix_path: src //ember.data4.local > 1241 625365 [main] mkdir 10898 normalize_posix_path: > //ember.data4.local = normalize_posix_path (//ember.data4.local) > 870 626235 [main] mkdir 10898 mount_info::conv_to_win32_path: > conv_to_win32_path (//ember.data4.local) > 809 627044 [main] mkdir 10898 mount_info::conv_to_win32_path: > src_path //ember.data4.local, dst \\ember.data4.local, flags 0x0, rc 0 > 723 627767 [main] mkdir 10898 build_fh_pc: fh 0x800009DA0, dev 000000C2 > 782 628549 [main] mkdir 10898 __set_errno: int chdir(const > char*):3837 setting errno 2 > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< This trace snippet is not helpful. Looks like you removed the really interesting part of the trace, showing where errno 30 (EROFS) comes from. Alternatively you debug this in GDB yourself. 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