steve said: Yes it is a simple fix to change the line of code to count = d_count(dentry) in HgfsPermission function in the inode.c file.
Maybe a difference between 32 bit (count) and 64 bit (dcount)? but, in my case (64 bit) the modification was:
dcount = d_count(dentry)
And, yes, this worked a treat, so many thanks Steve!
@steve goddard: Thanks. It's important to have this in an upcoming update to Fusion 6.0.x, because Ubuntu 13.04 support will end as early as January 2014. Jay
Could somebody explain where to put this patch file and run it? I'm a beginner.
This was somewhere else, but I lost the link... anyway, try this:
- uncompress the tools file
- untar lib/modules/source/vmhgfs.tar
- from the lib/modules/source directory, and with the patch file saved in that directory, run the command "patch -p0 < vmhgfs-d_count-kernel-3.11-tools-9.6.0.patch"
- tar up the vmhgfs-only folder as vmhgfs.tar
that should do it!
The instructions to apply the patch are at
Also, upgrading to Workstation 10.0.1 (VMwareTools-9.6.1-1378637.tar.gz), alleviates the need for this patch.
A VMware support engineer told me today that this is fixed in Fusion 6.0.2, released today. Haven't had the time to check it out myself, though.
I have built a new Ubuntu 13.10 Guest with 6.0.2 and I am pleased to report that the Tools compile fine. Thanks go out to the VMWare Supports guys :-)
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.
I can confirm this worked for me on Centos 7 and now my shared folders are working again.
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