This is the mail archive of the cygwin-developers mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Utilize reparse points for symlinks


On 23 September 2010 16:26, Corinna Vinschen wrote:
> I experimented a bit further with reparse points, since it occured to me
> that they are still an excellent method to implement symlinks on NTFS.
>
> What we can't do is to use the offical symlink reparse point introduced
> with Windows Vista for the well-known reasons.
>
> However, what we *could* do is to go the official way and request a
> Cygwin reparse point tag at Microsoft(*). ÂFor testing I implemented
> this method locally, using the offical REPARSE_GUID_DATA_BUFFER reserved
> for 3PPs, a reparse tag 0x20007654, and a GUID I generated by using the
> uuidgen tool from the Microsoft SDK. ÂWorks fine, even as non-admin user,
> unlike the native Vista symlinks.
>
> Why am I pursuing this at all?
>
> The reason is that a reparse point can be easily (read: quickly)
> recognized by the DOS reparse attribute. ÂThe reparse point content can
> be read without having to use ReadFile, so the access time doesn't
> change when reading it. ÂThe reparse tag can even be recognized already
> in readdir for free(**).

Sounds like a good idea. I assume these still wouldn't work for
non-Cygwin programs though? Could they still support them by reading
them themselves (using DeviceIoControl with FSCTL_GET_REPARSE_POINT)?

Andy


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]