Thursday, May 15, 2008

VMWare Fusion -- No Hard Links in Shared Folders

VMWare Fusion allows one to use folders on the OSX filesystem from within the guest OS via Shared Folders.

This is useful if you need to access files from both the host OS (OSX) or the guest OS running in VMWare Fusion.

However I have found limitations with this arrangement when the guest OS is a Linux-based system -- it seems that VMWare's driver for Shared Folders does not support all of the linux filesystem operations (most specifically hard links).

Observe (/mnt/hgfs/wa points to a shared folder residing on the OSX filesystem) :

clermontr@synergy:/mnt/hgfs/wa/test$ touch tree
clermontr@synergy:/mnt/hgfs/wa/test$ ln tree shrub
ln: creating hard link `shrub' to `tree': Operation not permitted

Operation not permitted?! How about symbolic links:

clermontr@synergy:/mnt/hgfs/wa/test$ ln -s tree shrub
clermontr@synergy:/mnt/hgfs/wa/test$ ll
total 1
lrwxr-xr-x 1 clermontr ccm_root 4 2008-05-15 14:17 shrub -> tree
-rw-r--r-- 1 clermontr ccm_root 0 2008-05-15 14:16 tree

Well it looks like symbolic links are permitted, but no chance for hard links. For what it's worth I also attempted to hard-link as sudo but to no avail.

Switching to the OSX filesystem I was able to create hard-links without issue. So then it would appear that this is indeed a limitation of the VMWare Fusion Shared Folders driver (vmhgfs).

I am interested in hearing if others have experienced this issue, and also if anyone has found a workaround.


Anonymous said...

Yeah, I just found this out after trying to work out why zsh wasn't saving my history files. I'm yet to find any work arounds, which is pretty frustrating.

Chris said...

I am trying to make use of the symbolic link in a shared folder and for me it isn't working. I am getting an operation denied error:

ln -s file

based on this post I expect this to work. I am running 2.0.1 Fusion with latest MAC OS X updates. Similar to hard link i can do the symbolic on the OS X side and it works as expected, I just can create the link from LInux running in Fusion in the shared folder.

I have verified that the shared folder is allowing read/write for everyone as a sanity check.

I am stumped.

lala said...
This comment has been removed by a blog administrator.