diff options
author | Dāvis | 2015-10-09 23:45:00 +0300 |
---|---|---|
committer | Dāvis | 2015-10-10 00:15:56 +0300 |
commit | 1c4685359c668078eeb749533a42ee8b363e430d (patch) | |
tree | 2a80217117a99556b708829ef59981e61b84a37c /0006-vmhgfs-support-linux-4.2.x-kernel.patch | |
parent | 020d76d72ea1ee660460ce651385cc0d4a14a333 (diff) | |
download | aur-1c4685359c668078eeb749533a42ee8b363e430d.tar.gz |
Add patch for 4.2
Diffstat (limited to '0006-vmhgfs-support-linux-4.2.x-kernel.patch')
-rw-r--r-- | 0006-vmhgfs-support-linux-4.2.x-kernel.patch | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/0006-vmhgfs-support-linux-4.2.x-kernel.patch b/0006-vmhgfs-support-linux-4.2.x-kernel.patch new file mode 100644 index 000000000000..4fa315cb5572 --- /dev/null +++ b/0006-vmhgfs-support-linux-4.2.x-kernel.patch @@ -0,0 +1,93 @@ +From b3a634a491da35d47a5e6e6120a21cba514fc3ec Mon Sep 17 00:00:00 2001 +From: JackM +Date: Wed, 30 Sep 2015 23:16:40 +0300 +Subject: [PATCH] vmhgfs support linux 4.2.x kernel + +--- + modules/linux/vmhgfs/link.c | 30 +++++++++++++++++++++++++----- + 1 file changed, 25 insertions(+), 5 deletions(-) + +diff --git a/open-vm-tools/modules/linux/vmhgfs/link.c b/open-vm-tools/modules/linux/vmhgfs/link.c +index 06f693b..72e97ff 100644 +--- a/open-vm-tools/modules/linux/vmhgfs/link.c ++++ b/open-vm-tools/modules/linux/vmhgfs/link.c +@@ -35,7 +35,9 @@ + #include "vm_assert.h" + + /* HGFS symlink operations. */ +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) ++static void *HgfsFollowlink(struct dentry *dentry, void **cookie, struct nameidata *nd); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) + static void *HgfsFollowlink(struct dentry *dentry, + struct nameidata *nd); + #else +@@ -45,7 +47,10 @@ static int HgfsFollowlink(struct dentry *dentry, + static int HgfsReadlink(struct dentry *dentry, + char __user *buffer, + int buflen); +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) ++static void HgfsPutlink(struct dentry *dentry, ++ void *cookie); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) + static void HgfsPutlink(struct dentry *dentry, + struct nameidata *nd, + void *cookie); +@@ -85,7 +90,9 @@ struct inode_operations HgfsLinkInodeOperations = { + *---------------------------------------------------------------------- + */ + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) ++static void *HgfsFollowlink(struct dentry *dentry, void **cookie, struct nameidata *nd) ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) + static void * + HgfsFollowlink(struct dentry *dentry, // IN: Dentry containing link + struct nameidata *nd) // OUT: Contains target dentry +@@ -124,7 +131,11 @@ HgfsFollowlink(struct dentry *dentry, // IN: Dentry containing link + } else { + LOG(6, (KERN_DEBUG "VMware hgfs: %s: calling nd_set_link %s\n", + __func__, fileName)); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) ++ *cookie = fileName; ++#else + nd_set_link(nd, fileName); ++#endif + } + } + out: +@@ -219,7 +230,10 @@ HgfsReadlink(struct dentry *dentry, // IN: Dentry containing link + *---------------------------------------------------------------------- + */ + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) ++static void HgfsPutlink(struct dentry *dentry, ++ void *cookie) ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) + static void + HgfsPutlink(struct dentry *dentry, // dentry + struct nameidata *nd, // lookup name information +@@ -235,11 +249,17 @@ HgfsPutlink(struct dentry *dentry, // dentry + LOG(6, (KERN_DEBUG "VMware hgfs: %s: put for %s\n", + __func__, dentry->d_name.name)); + +- fileName = nd_get_link(nd); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) ++ fileName = cookie; ++#else ++ fileName = nd_get_link(nd); ++#endif + if (!IS_ERR(fileName)) { + LOG(6, (KERN_DEBUG "VMware hgfs: %s: putting %s\n", + __func__, fileName)); + kfree(fileName); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0) + nd_set_link(nd, NULL); ++#endif + } + } +-- +2.5.0.windows.1 + |