support for writing reparse-point symlinks

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Sun Dec 9 17:42:00 GMT 2012


On Sat, Dec 08, 2012 at 11:19:53PM -0800, James Gregurich wrote:
>On Dec 8, 2012, at 7:57 PM, Daniel Colascione <dancol@dancol.org> wrote:
>>On 12/8/12 7:28 PM, James Gregurich wrote:
>>1) Windows symbolic links are "directory" or "file" symbolic links,
>>depending on the type of the target, but POSIX has only one kind of
>>symbolic link.
>>
>>3) By default, only administrators can create Windows symbolic links.
>
>These are true.

And that would be a would be show-stopper by itself.

>Thirdly, I have translated relative paths to relative paths where
>possible.  As you probably know, to exceed about 254 chars in a Windows
>path name requires using the '\\??\' prefix and an absolute path.  So,
>in some cases, the relative path has to be made an absolute path to
>work at all.

So moving, copying, or archving a directory containing a symlink would
likely invalidate the symlink.  Also a show-stopper.

>>2) Windows symbolic links point to Windows paths, but Cygwin symbolic
>>links point to POSIX paths.  If the Cygwin mapping table changes,
>>Windows symbolic links will begin pointing to the wrong place.
>
>I have not explored this idea.  Certainly, if one changes the directory
>structure, he can break symlinks.  AS afar as I know, that condition is
>true even in the unix environment as the symlinks are just dumb paths.

If I have a symlink pointing to /mnt/foo, it should always point to
/mnt/foo.  If I perform a "mount c:/foo /mnt", the symlink should not
continue pointing to the old location.  That is the same on Linux and
Cygwin.

>I would suggest that a user who is interested in making the unix file
>system fully usable on the Windows side can certainly be educated to
>the limitations.  I would argue that the ability to to enhance Windows
>compatibility is desirable for a certain class of user even if it has
>limitations.

Addin a new feature which requires in-depth knowledge of implementation
details is something that we try to avoid.  You can't expect users to
read documentation.  So, we tend to opt to not increase cygwin mailing
list or irc traffic.

So, the bottom line is, sorry.  It doesn't look like you've uncovered
a new technique which would allow us to use reparse points in Cygwin.

cgf



More information about the Cygwin-developers mailing list