diff -Nur vmhgfs-only.old/driver.c vmhgfs-only/driver.c
--- vmhgfs-only.old/driver.c	2007-03-30 19:54:02.000000000 +0200
+++ vmhgfs-only/driver.c	2007-06-29 13:49:22.000000000 +0200
@@ -41,8 +41,17 @@
 #define HGFS_SB_TO_COMMON(sb)             ((HgfsSuperInfo *)(sb)->s_fs_info)
 #endif
 
+/* With 2.6.19 they removed the union struct 'u' in the inode struct and moved
+ * u.generic_ip to i_private
+ * 2007-06-29 by Alexander Griesser <vmware@tuxx-home.at>
+ */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
+#define INODE_SET_II_P(inode, info) do { (inode)->i_private = (info); } while (0)
+#define INODE_GET_II_P(inode) ((HgfsInodeInfo *)(inode)->i_private)
+#else
 #define INODE_SET_II_P(inode, info) do { (inode)->u.generic_ip = (info); } while (0)
 #define INODE_GET_II_P(inode) ((HgfsInodeInfo *)(inode)->u.generic_ip)
+#endif
 
 /*
  * 2.5.x kernels support nanoseconds timestamps.
@@ -760,7 +769,16 @@
    inode->i_uid = 0;   /* This is bogus, should be the mount owner. */
    inode->i_gid = 0;   /* This is bogus, should be the mount owner. */
    inode->i_rdev = 0;  /* Device nodes are not supported */
-   inode->i_blksize = HGFS_BLOCKSIZE;
+
+   /* With kernel 2.6.19 they removed i_blksize from the inode struct
+    * 2007-06-29 by Alexander Griesser <vmware@tuxx-home.at>
+    */
+   #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19)
+     inode->i_bdev->bd_block_size = HGFS_BLOCKSIZE;
+   #else
+     inode->i_blksize = HGFS_BLOCKSIZE;
+   #endif
+
    inode->i_blocks = (attr->size + HGFS_BLOCKSIZE - 1) / HGFS_BLOCKSIZE;
    inode->i_size = attr->size;
    HGFS_SET_TIME(inode->i_atime, attr->accessTime);
@@ -4451,7 +4469,15 @@
 	  void *rawData)
 #endif
 {
+/* With linux kernel 2.6.18 they added a new parameter to get_sb_nodev so
+ * we need to take care of that here too
+ * 2007-06-29 by Alexander Griesser <vmware@tuxx-home.at>
+ */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18)
+   return get_sb_nodev(fs_type, flags, rawData, HgfsReadSuper, NULL);
+#else
    return get_sb_nodev(fs_type, flags, rawData, HgfsReadSuper);
+#endif
 }
 #else
 

