diff options
Diffstat (limited to 'app-emulation/vmware-modules/files/279-3.10-05-inode.patch')
-rw-r--r-- | app-emulation/vmware-modules/files/279-3.10-05-inode.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/app-emulation/vmware-modules/files/279-3.10-05-inode.patch b/app-emulation/vmware-modules/files/279-3.10-05-inode.patch new file mode 100644 index 000000000000..01c88930899c --- /dev/null +++ b/app-emulation/vmware-modules/files/279-3.10-05-inode.patch @@ -0,0 +1,36 @@ +starting with kernel 3.6, d_revalidate takes an unsigned int "flags" +as the second argument, not a nameidata pointer! see fs/namei.c +for implementation. Also changing vfs_follow_link to nd_set_link. +See: https://lkml.org/lkml/2013/9/9/236 + +diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c +--- vmblock-only/linux/inode.c 2013-11-05 23:33:26.000000000 -0500 ++++ vmblock-only/linux/inode.c 2014-04-26 10:58:03.063635343 -0400 +@@ -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 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; +@@ -221,7 +221,8 @@ + goto out; + } + +- ret = vfs_follow_link(nd, iinfo->name); ++ nd_set_link(nd, iinfo->name); ++ ret = 0; + + out: + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) |