I am running Ubuntu 13.10 (beta) with Linux Kernel 3.11.0-7 as a Guest OS under VMware Fusion 6.0.0 (1296151) on my Macbook (Mac OS X 10.8.4).
I attempted to install VMware Tools 9.6.0 Build-1294478 and got the following errors during the shared folder configuration compile.
CC [M] /tmp/modconfig-j0IFhU/vmhgfs-only/inode.o
/tmp/modconfig-j0IFhU/vmhgfs-only/inode.c: In function ‘HgfsPermission’:
/tmp/modconfig-j0IFhU/vmhgfs-only/inode.c:1893:29: error: ‘struct dentry’ has no member named ‘d_count’
int dcount = dentry->d_count;
make: *** [/tmp/modconfig-j0IFhU/vmhgfs-only/inode.o] Error 1
make: *** [_module_/tmp/modconfig-j0IFhU/vmhgfs-only] Error 2
make: Leaving directory `/usr/src/linux-headers-3.11.0-5-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/modconfig-j0IFhU/vmhgfs-only'
I realise that Ubuntu and the Kernel are not finalised but didn't see this problem until Ubuntu Update-Manager installed the 3.11 Kernel series. Any ideas how to overcome this issue appreciated.
I just installed CentOS 7 and ran into this error. It seems your fix to inode.c is in the version of VMWare tools I have (Fusion 6.0.4) so the patch posted above doesn't work. I managed to fix it with the following change (file sharing is working for me now):
vmhgfs-only/shared/compat_dcache.h, line 54:
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
I don't know if this is the right thing to do, but it looks like kernel 3.10 has the same change to 'dentry' that 3.11 has.
It seems that CentOS 7 has done the same as RHEL 7 and back-ported some changes, like the dentry field migration, that were introduced in the kernel 3.11 to a version based on Linux 3.10.
This has been addressed by me internally, and so far and will be in the Fusion 7 release and I am pretty sure it is in the Fusion 7 TP2 release that is available right now.
Having said that, your change is okay for local build in that CentOS 7 VM, but our general fix has to be a little more complicated to cover both situations where OS on Linux kernel 3.10 may not have the changes backported and others that do.
So you should be good to go with your modification for that CentOS 7 VM and others that have this issue, but for some versions of Linux you maybe okay without modification to the shipping version.
Thanks for the detailed replay! I did try the latest Fusion TP a few days back and it doesn't look like the fix is there as yet. The same change works though, if anyone wants to do it. Meanwhile, here are the exact steps for those of us stuck on Fusion 6 for the moment...
tar xvf VMwareTools-9.6.2-1688356.tar.gz
tar xvf vmhgfs.tar
sed -i 's/3, 11, 0/3, 10, 0/g' vmhgfs-only/shared/compat_dcache.h
tar cvf vmhgfs.tar vmhgfs-only