I have a Linux x86_64 guest running on an OS X Lion host.
I am experiencing strange behavior with symbolic links accessed from the Linux guest in a shared folder. The guest is unable to follow some symlinks whilst others (generally longer ones) work.
This is the behavior I get on the guest within a native Linux directory, or on the native OSX system - it is what I would expect:
$ mkdir foo
$ touch foo/bar
$ ln -s foo foolink
$ ls foolink
bar
$ ls foolink/
bar
However, within a shared (hgfs) directory I get this:
$ mkdir foo
$ touch foo/bar
$ ln -s foo foolink
$ ls foolink
foolink
$ ls foolink/
ls: cannot access foolink/: No such file or directory
But if I replace the link with a longer more "complex" one it works properly (still in the shared hgfs directory):
$ mkdir foo
$ touch foo/bar
$ ln -s ././././foo foolink
$ ls foolink
bar
$ ls foolink/
bar
In all shared cases, the symlinks look and behave properly when accessed from OS X and the behavior seems independent of whether the link is created by the host or the guest.