vboxsharedfs - Too many levels of symbolic links
Takashi Yano
takashi.yano@nifty.ne.jp
Tue Dec 7 15:32:49 GMT 2021
On Tue, 7 Dec 2021 15:57:56 +0100
Corinna Vinschen wrote:
> On Dec 7 09:46, Takashi Yano wrote:
> > I think '/cygdrive/z/..' should be '/cygdrive', however,
> > in current cygwin, it is interpreted into '//VBoxSrv'.
> >
> > Is this as you intended?
> >
> > With my patch which stops to treat UNC path as symlink,
> > '/cygdrive/z/..' returns '/cygdrive'.
>
> Yeah, but...
>
> ...what bugs me is that *every* UNC path is treated this way with
> that patch. If you have a path like /cygdrive/x/a/b/c, with x:
> being a virtual drive pointing to //server/share, and with "b"
> being a symlink to "syml", what you get back is either
>
> //server/share/a/syml/c
>
> without, or
>
> /cygdrive/x/a/b/c
>
> with your patch. What we would like to get back is
>
> /cygdrive/x/a/syml/c
With my patch, above case behaves like:
$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type iso9660 (binary,posix=0,user,noumount,auto)
Z: on /cygdrive/z type vboxsharedfolderfs (binary,posix=0,user,noumount,auto)
$ cd /cygdrive/z
$ mkdir -p aa/syml/cc
$ ln -s syml aa/bb
$ cd aa/bb/cc
$ /bin/pwd
/cygdrive/z/aa/syml/cc
$
Isn't this what you would like?
> So the real problem is not that we have an UNC path, but the fact that
> the drive letter expression is (correctly, but unwanted) converted to
> the matching UNC path by GetFinalPathNameByHandle.
>
> Bottom line is, your patch is ok, please apply. It would be nice,
> though, if we could just avoid the drive: -> UNC path conversion and
> keep the rest.
--
Takashi Yano <takashi.yano@nifty.ne.jp>
More information about the Cygwin
mailing list