diff -c -r vmblock-only/linux/dentry.c vmblock-only-new/linux/dentry.c *** vmblock-only/linux/dentry.c 2008-03-04 03:16:14.000000000 +0100 --- vmblock-only-new/linux/dentry.c 2008-05-03 12:53:32.000000000 +0200 *************** *** 98,105 **** --- 98,110 ---- 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 -c -r vmblock-only/linux/filesystem.c vmblock-only-new/linux/filesystem.c *** vmblock-only/linux/filesystem.c 2008-03-04 03:16:14.000000000 +0100 --- vmblock-only-new/linux/filesystem.c 2008-05-03 12:57:39.000000000 +0200 *************** *** 259,265 **** --- 259,269 ---- 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,294 **** --- 291,303 ---- 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 -c -r vmblock-only/linux/super.c vmblock-only-new/linux/super.c *** vmblock-only/linux/super.c 2008-03-04 03:16:14.000000000 +0100 --- vmblock-only-new/linux/super.c 2008-05-03 13:03:58.000000000 +0200 *************** *** 23,29 **** --- 23,31 ---- #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,44 **** --- 40,48 ---- #else .clear_inode = SuperOpClearInode, #endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25) .read_inode = SuperOpReadInode, + #endif .statfs = SuperOpStatfs, }; *************** *** 124,129 **** --- 128,134 ---- *---------------------------------------------------------------------------- */ + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25) static void SuperOpReadInode(struct inode *inode) // IN: Inode to initialize { *************** *** 133,138 **** --- 138,144 ---- iinfo->nameLen = 0; iinfo->actualDentry = NULL; } + #endif /*