Visible symlinks under Windows

James Peach jpeach at samba.org
Wed Feb 6 21:41:29 GMT 2008


On Feb 6, 2008, at 12:45 PM, Corinna Vinschen wrote:

> On Feb  6 10:56, James Peach wrote:
>> On Feb 6, 2008, at 10:40 AM, Corinna Vinschen wrote:
>> I made a note of the file format here:
>> 	http://wiki.samba.org/index.php/UNIX_Extensions#Storing_symlinks_on_Windows_servers
>
> Thanks!
>
>>> The idea was to have a technique which allows to utilize real  
>>> symlinks
>>> of the underlying file system and to recognize them as such by an
>>> initiated Windows application.  Since Cygwin is a Linux emulator  
>>> anyway,
>>> I think it makes sense to be able to recognize real symlinks  
>>> correctly.
>>> It knows what symlinks are, and it knows how to work with them.
>>
>> In this case, the EA method doesn't buy you anything. Someone could  
>> already
>> modify the server to recognise the existing symlink formats and  
>> translate
>> them for real symlinks.
>
> Sure, it would be possible that Samba translates a real symlink to a
> normal file with the content as defined by Minshall+French when  
> sending
> file information back to Windows.  But that would be incompatible with
> what Samba returns today to Windows clients and what a Windows client
> expects which has no idea what to do with a symlink.  Keep in mind  
> that
> Windows per se has no idea what a symlink is (setting Vista aside for
> now).  For those "standard" Windows applications, the symlink has to  
> be
> translated to a simple file or directory, depending on the symlink
> target.

You're right this is a big problem.

With your EA proposal, I think the server would have to restrict  
symlinks to be relative to the SMB share and to point to a file within  
the share. You'd need this because some clients will follow the  
symlink on the server, and some will resolve the target on the client  
side and you want both methods to end up at the same place.

This prevents you from making creative use of absolute symlinks which  
the Minshall+French format allows, but is does buy you Windows  
compatibility which is definitely a big win. I don't see any support  
for Minshall+French in the Linux cifsfs code, so possibly it's only  
Apple clients that ever implemented this.

So, yeh I'm convinced that EA symlinks are worthwhile ...



More information about the samba-technical mailing list