realpath issue with native[strict] symlinks

Corinna Vinschen corinna-cygwin@cygwin.com
Wed May 12 08:14:00 GMT 2021


On May 12 10:10, Andrey Repin via Cygwin wrote:
> Greetings, Corinna Vinschen via Cygwin!
> 
> > I reworked the code handling native symlinks to handle virtual drives
> > as well.  It might even be a tiny bit quicker now.
> 
> > The changes have a behavioral change, but I think this is for the
> > better: Virtual drives are not treated as drives anymore, but as
> > symlinks.  Given they are just pointers to other drives or directories,
> > tha't much closer to reality.  I. e., in case of my above virtual drive
> > T:, what you'll see in the /cygdrive dir (unless your cygdrive prefix is
> > / only) is this:
> 
> > $ ls /cygdrive
> > $ ls -lG /mnt
> > total 16
> > d---r-x---+ 1 TrustedInstaller  0 Apr 29 21:07 c
> > drwxr-xr-x  1 corinna           0 Dec 31  1979 e
> > lrwxrwxrwx  1 corinna          32 May  6 20:43 t -> /cygdrive/c/cygwin64/home/corinna/tmp
> 
> > I uploaded new developer snapshots to https://cygwin.com/snapshots/
> > for testing.
> 
> Interesting effect.
> I do have fstab entry
> none / cygdrive noacl,binary,nouser,posix=0 0 0
> And this is what I see with and without changes.
> 
> (3.2.0)
> $ ls -ld /proc/cygdrive/{a..z} 2> /dev/null
> drwxr-x--- 1 anrdaemon None 0 апр 22 23:12 /proc/cygdrive/c
> drwxr-x--- 1 anrdaemon None 0 апр 30 18:05 /proc/cygdrive/d
> drwxr-x--- 1 anrdaemon None 0 апр 22 23:11 /proc/cygdrive/e
> drwxr-x--- 1 anrdaemon None 0 май 11 21:27 /proc/cygdrive/w
> drwxr-x--- 1 anrdaemon None 0 фев 14  2018 /proc/cygdrive/y
> drwxr-x--- 1 anrdaemon None 0 май 12 03:59 /proc/cygdrive/z
> 
> (snapshot)
> $ ls -ld /proc/cygdrive/{a..z} 2> /dev/null
> drwxr-x--- 1 anrdaemon None  0 апр 22 23:12 /proc/cygdrive/c
> drwxr-x--- 1 anrdaemon None  0 апр 30 18:05 /proc/cygdrive/d
> drwxr-x--- 1 anrdaemon None  0 апр 22 23:11 /proc/cygdrive/e
> drwxr-x--- 1 anrdaemon None  0 май 11 21:27 /proc/cygdrive/w
> lrwxrwxrwx 1 anrdaemon None 35 фев 14  2018 /proc/cygdrive/y -> //HOSTING64.DARKDRAGON.LAN/wwwroot/
> lrwxrwxrwx 1 anrdaemon None 35 май 12 03:59 /proc/cygdrive/z -> //DAEMON1.DARKDRAGON.LAN/anrdaemon/

Great, this is the Tip of the Day!

> I think I like these changes.
> Thank you very much.

You're welcome.


Corinna


More information about the Cygwin mailing list