vmware-tools-distrib-9.9.2-2496486:
I have fixed the problem by going to the directory where vmhgfs.tar is located (in my case /usr/lib/vmware-tools/modules/source), unpack the tar and manually edit inode.c.
At line 1925(just search for "d_alias" to find the exact line) you need to add an if. In the end looks like that:
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
d_alias) {
#else
d_u.d_alias) {
#endif
Then again around line 1983 (search again for "d_alias"):
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
struct dentry *dentry = list_entry(pos, struct dentry, d_alias);
#else
struct dentry *dentry = list_entry(pos, struct dentry, d_u.d_alias);
#endif
Caveat: Not sure on the kernel version but I have put there 3,13,0 though my Ubuntu reports:
# uname -a
Linux md-ubuntu 3.13.0-46-generic #76-Ubuntu SMP Thu Feb 26 18:52:13 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
And this was working fine with 3.13.0-45.
So probably if you downgrade the kernel the above hack will not work properly.
Then you need to pack again the tar archive (just move the old one out of the way:
# mv vmhgfs.tar vmhgfs.tar.orig
and pack again the directory:
# tar cvf vmhgfs.tar vmhgfs-only
)
Hope it helps.