This seemed to only be happening to my Samba shares which were pointing directly at the root of an autofs mount point, which in my case was a mythtvfs mount at /auto/mythtv.
What made this more puzzling was that if I ssh'ed into the machine then I could happily do
ls /auto/mythtvand see all my files. The final piece of the puzzle fitted into place when I realised that the Samba share would work if the mount was already mounted.
A look at the samba logs indicated the following:
smbd/service.c:988(make_connection_snum) canonicalize_connect_path failed for service mythtv, path /auto/mythtv
On a hunch I tried the wide links option (which requires disabling unix extensions) by adding the following to the global section of my /etc/samba/smb.conf:
[global] # Need to disable unix extensions and allow wide links to allow /auto to be mounted unix extensions = no wide links = yesAnd then restarted samba with "/etc/init.d/samba restart". This then fixed the issue, allowing my autofs mount points to be mounted correctly. The big downside of this is that unix extensions which allow symlinks and hard links over samba are then disabled. If I get the time I might look into seeing if I can patch canonicalize_connect_path to work correctly with autofs mount points without exposing any security flaws.
Possibly the most irritating thing about this issue was that searching for the terms "Samba" and "autofs" gives lots of hits for the other side of the situation; using autofs to mount Samba shares automatically.