Spent some time to follow the logic and refine the codes.
This works for my kernel-3.1.6-1 (FC16) and kernel-2.6.41.4-1 (FC15).
Now, the mount point /mnt/hgfs is up.
diff vmhgfs-only-528969/file.c vmhgfs-only-siukoon/file.c
86a87,88
> loff_t start,
> loff_t end,
992a995,996
> loff_t start,
> loff_t end,
diff vmhgfs-only-528969/filesystem.c vmhgfs-only-siukoon/filesystem.c
360a361,362
> struct dentry *tmpDentry;
> struct inode *inode;
411c413,416
< rootDentry = compat_d_alloc_name(NULL, "/");
---
>
> inode = new_inode(sb);
> tmpDentry = d_alloc_root(inode);
> rootDentry = compat_d_alloc_name(tmpDentry, "/");
418,419c423
< rootDentry->d_parent = rootDentry;
< rootDentry->d_sb = sb;
---
>