diff -u -r vmblock-only/linux/dentry.c vmblock-only.new/linux/dentry.c --- vmblock-only/linux/dentry.c 2008-05-16 13:59:28.000000000 +0800 +++ vmblock-only.new/linux/dentry.c 2008-07-24 20:37:07.000000000 +0800 @@ -98,8 +98,13 @@ LOG(4, "DentryOpRevalidate: [%s] no longer exists\n", iinfo->name); return 0; } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) + ret = actualNd.path.dentry && actualNd.path.dentry->d_inode; + path_put(&actualNd.path); +#else ret = actualNd.dentry && actualNd.dentry->d_inode; path_release(&actualNd); +#endif LOG(8, "DentryOpRevalidate: [%s] %s revalidated\n", iinfo->name, ret ? "" : "not"); diff -u -r vmblock-only/linux/filesystem.c vmblock-only.new/linux/filesystem.c --- vmblock-only/linux/filesystem.c 2008-05-16 13:59:28.000000000 +0800 +++ vmblock-only.new/linux/filesystem.c 2008-07-24 20:43:38.000000000 +0800 @@ -258,8 +258,11 @@ struct nameidata actualNd; ASSERT(sb); - +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) + inode = iget_locked(sb, ino); +#else inode = iget(sb, ino); +#endif if (!inode) { return NULL; } @@ -287,8 +290,13 @@ return inode; } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) + iinfo->actualDentry = actualNd.path.dentry; + path_put(&actualNd.path); +#else iinfo->actualDentry = actualNd.dentry; path_release(&actualNd); +#endif return inode; diff -u -r vmblock-only/linux/super.c vmblock-only.new/linux/super.c --- vmblock-only/linux/super.c 2008-05-16 13:59:28.000000000 +0800 +++ vmblock-only.new/linux/super.c 2008-07-24 20:50:24.000000000 +0800 @@ -23,7 +23,9 @@ #else static void SuperOpClearInode(struct inode *inode); #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25) static void SuperOpReadInode(struct inode *inode); +#endif #ifdef VMW_STATFS_2618 static int SuperOpStatfs(struct dentry *dentry, struct compat_kstatfs *stat); #else @@ -38,7 +40,9 @@ #else .clear_inode = SuperOpClearInode, #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25) .read_inode = SuperOpReadInode, +#endif .statfs = SuperOpStatfs, }; @@ -124,6 +128,7 @@ *---------------------------------------------------------------------------- */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25) static void SuperOpReadInode(struct inode *inode) // IN: Inode to initialize { @@ -133,7 +138,7 @@ iinfo->nameLen = 0; iinfo->actualDentry = NULL; } - +#endif /* *----------------------------------------------------------------------------