Linux patch for supporting shortcuts and symlinks on VFAT

Francois Gouget fgouget at free.fr
Tue Jun 11 08:58:54 CDT 2002


On Tue, 11 Jun 2002, Patrik Stridvall wrote:

> I notice that I patch have been posted to the linux-kernel that
> might be of intrest to us.
>
> vfat patch for shortcut display as symlinks for 2.4.18
> http://marc.theaimsgroup.com/?l=linux-kernel&m=102358795411222&w=2
>
> It seem that at least some people are against it inclusion so I
> wonder whether we should support inclusion of the patch or not.
>
> I'm personally a little doubtful that it is a good idea...


I think it's a bad idea. The reason is that the VFAT driver is the wrong
abstraction layer to support the '.lnk' files:

 * on Windows if you open("foo.lnk") you get the .lnk files, not the
file it 'points' to. On Linux you would get the file it points to
instead which is a different behavior.

 * Windows supports .lnk files on FAT, VFAT, NTFS, ISO9660, etc. So if
such support is added in the Linux kernel, it should be added to all of
the above filesystems. And then there is no reason not to add it to
ext2, NFS, etc!


This would also hurt Wine as:

 * it would prevent us from reading the information in the '.lnk'
file... at least for 'supported' '.lnk' files

 * it's not entirely clear to me what they do with unsupported '.lnk'
files. Are they just dead symlinks or can one read their contents? In
the first case Wine is SOL again, and in the latter case we'll have to
play games to know which kind we got.

 * it was suggested to implement a hack to let Wine access the '.lnk'
data. Why implement a hack which is going to be Linux specific when
doing nothing works just fine and on any Unix system?

 * making it a default option does not help Wine at all. Then we have to
keep telling users that they have to modify their fstab if they want
Wine to work.


The right level to implement symlink support is:

 * in Wine. Of course!

 * in an LD_PRELOAD library. Then they would work for all filesystems,
be selectable on a per-user or even per-process basis. Of course it
would most likely not work with Wine (ld_preload libraries seldom do).

 * as an option in the KDE/Gnome file browsers. That's the layer which
seems closest to the Windows shell 'layer'.


This looks like it could be the next 'unhide' thing. hmmm, probably,
people not subscribed to linux-kernel missed the 'unhide' issue. See:
 * Jeremy White - isofs unhide option:  troubles with Wine
   http://marc.theaimsgroup.com/?l=linux-kernel&m=102230123607864&w=2

--
Francois Gouget         fgouget at free.fr        http://fgouget.free.fr/
                Linux: It is now safe to turn on your computer.





More information about the wine-devel mailing list