https://bugs.winehq.org/show_bug.cgi?id=50586
--- Comment #20 from Zebediah Figura z.figura12@gmail.com --- (In reply to Erich E. Hoover from comment #19)
(In reply to Zebediah Figura from comment #18)
...
(1) How much of a problem is it really to report Unix symlinks as win32 symlinks? (Does the wine-staging patch already do this?) It could potentially be simpler.
Not much, it's really just modifying the current patch to detect that the symlink is not Wine-created and convert the Unix path into an NT path. The concern about doing this would be for old applications, that don't have reparse point support, accessing unix symlinks. This isn't just user-created unix symlinks though, Wine creates unix symlinks for several special directories (Desktop, My Documents, etc.), so this matters even in a fresh prefix.
I guess I should clarify that I'm thinking about file symlinks here; I already assumed we'd want to always report directory symlinks as NT symlinks per the discussion above. (Note also that we've already reported directory symlinks as FILE_ATTRIBUTE_REPARSE_POINT since forever, though we haven't implemented really any of the other behaviour surrounding that.)
(2) On the other hand, if there is a good reason to hide Unix symlinks, does it make sense to also hide same-device Unix directory symlinks?
Conceivably we could hide all same-device symlinks and report cross-device unix symlinks as NT symlinks (whether they're a directory or not). But we may be spending a lot of effort thinking about something that's not really a big deal, do you know if we have any bugs reported for issues like this?
That's the real question, because honestly I don't, but I'm not sure I trust that.
I have seen two different applications choke on mount points (bug 49840, bug 50557). I think (though I'm not sure) that both would be fixed by automatically assigning drive letters to all file systems (well, probably skipping procfs/devfs/sysfs/etc).
I don't think I've seen any application choke on symlinks, however, cross-device or same-device, except for the occasional fixable bug in the wine-staging patches.