diff -Nurp work.orig/vmblock-only/linux/control.c work/vmblock-only/linux/control.c --- work.orig/vmblock-only/linux/control.c 2013-11-14 16:43:35.178453173 +0000 +++ work/vmblock-only/linux/control.c 2013-11-14 16:44:10.933823983 +0000 @@ -279,7 +279,7 @@ ExecuteBlockOp(const char __user *buf, int i; int retval; - name = getname(buf); + name = (char*)getname(buf)->name; if (IS_ERR(name)) { return PTR_ERR(name); } diff -Nurp work.orig/vmblock-only/linux/dentry.c work/vmblock-only/linux/dentry.c --- work.orig/vmblock-only/linux/dentry.c 2013-10-18 17:56:11.000000000 +0000 +++ work/vmblock-only/linux/dentry.c 2013-11-14 16:44:10.933823983 +0000 @@ -32,7 +32,7 @@ #include "block.h" -static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd); +static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags); struct dentry_operations LinkDentryOps = { .d_revalidate = DentryOpRevalidate, @@ -60,7 +60,7 @@ struct dentry_operations LinkDentryOps = static int DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating - struct nameidata *nd) // IN: lookup flags & intent + unsigned int flags) // IN: lookup flags & intent { VMBlockInodeInfo *iinfo; struct nameidata actualNd; @@ -101,7 +101,7 @@ DentryOpRevalidate(struct dentry *dentry if (actualDentry && actualDentry->d_op && actualDentry->d_op->d_revalidate) { - return actualDentry->d_op->d_revalidate(actualDentry, nd); + return actualDentry->d_op->d_revalidate(actualDentry, flags); } if (compat_path_lookup(iinfo->name, 0, &actualNd)) { diff -Nurp work.orig/vmblock-only/linux/inode.c work/vmblock-only/linux/inode.c --- work.orig/vmblock-only/linux/inode.c 2013-10-18 17:56:11.000000000 +0000 +++ work/vmblock-only/linux/inode.c 2013-11-14 16:44:41.079398115 +0000 @@ -36,7 +36,7 @@ /* Inode operations */ static struct dentry *InodeOpLookup(struct inode *dir, - struct dentry *dentry, struct nameidata *nd); + struct dentry *dentry, unsigned int flags); static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); @@ -75,7 +75,7 @@ static struct inode_operations LinkInode static struct dentry * InodeOpLookup(struct inode *dir, // IN: parent directory's inode struct dentry *dentry, // IN: dentry to lookup - struct nameidata *nd) // IN: lookup intent and information + unsigned int flags) // IN: lookup intent and information { char *filename; struct inode *inode; @@ -135,7 +135,8 @@ InodeOpLookup(struct inode *dir, // inode->i_size = INODE_TO_IINFO(inode)->nameLen; inode->i_version = 1; inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; - inode->i_uid = inode->i_gid = 0; + inode->i_uid = KUIDT_INIT(0); + inode->i_gid = KGIDT_INIT(0); inode->i_op = &LinkInodeOps; d_add(dentry, inode); @@ -221,7 +222,7 @@ InodeOpFollowlink(struct dentry *dentry, goto out; } - ret = vfs_follow_link(nd, iinfo->name); + nd_set_link(nd, iinfo->name); out: #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)