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 | |
parent | 020d76d72ea1ee660460ce651385cc0d4a14a333 (diff) | |
download | aur-1c4685359c668078eeb749533a42ee8b363e430d.tar.gz |
Add patch for 4.2
-rw-r--r-- | .SRCINFO | 2 | ||||
-rw-r--r-- | 0006-vmhgfs-support-linux-4.2.x-kernel.patch | 93 | ||||
-rw-r--r-- | PKGBUILD | 6 |
3 files changed, 100 insertions, 1 deletions
@@ -18,11 +18,13 @@ pkgbase = open-vm-tools-dkms source = 0001-Fix-vmxnet-module-on-kernels-3.16.patch source = 0004-Support-backing-dev-info-kernel-4.0.patch source = 0005-Remove-new_sync-for-Linux-4.1.patch + source = 0006-vmhgfs-support-linux-4.2.x-kernel.patch source = dkms.conf.in sha256sums = 5adef80f43186aff426f4f22b4b31b514d18a1dcc3334d56ed22d2e308803971 sha256sums = 6684cf4cd9a492b82b24dff076fbbafef19e59ef969f532ee3da1501136a7c48 sha256sums = dac377beb660dc6c143356255346b34db0986511dcb74f051e06f243a0078af8 sha256sums = 38e2ae573a849251abde79c82b694d76f32cc75c9ff60878ebcb23f2f8c86928 + sha256sums = d8191b23b9d5689b321bd0cf20b71a4039fde454d08644de6dc3a6521d574fd0 sha256sums = 5255a183cccd80b2bfbbf519b1cc8cec81ae40bbc0b5a88dfddd95532ece84ed pkgname = open-vm-tools-dkms 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 + @@ -4,7 +4,7 @@ pkgname=open-vm-tools-dkms epoch=6 pkgver=10.0.0 _pkgsubver=3000743 -pkgrel=3 +pkgrel=4 pkgdesc='Open Virtual Machine Tools kernel modules (DKMS)' arch=('i686' 'x86_64') url='http://open-vm-tools.sourceforge.net/' @@ -27,17 +27,20 @@ source=(http://downloads.sourceforge.net/${_name}/${_full_name}.tar.gz 0001-Fix-vmxnet-module-on-kernels-3.16.patch 0004-Support-backing-dev-info-kernel-4.0.patch 0005-Remove-new_sync-for-Linux-4.1.patch + 0006-vmhgfs-support-linux-4.2.x-kernel.patch dkms.conf.in) sha256sums=('5adef80f43186aff426f4f22b4b31b514d18a1dcc3334d56ed22d2e308803971' '6684cf4cd9a492b82b24dff076fbbafef19e59ef969f532ee3da1501136a7c48' 'dac377beb660dc6c143356255346b34db0986511dcb74f051e06f243a0078af8' '38e2ae573a849251abde79c82b694d76f32cc75c9ff60878ebcb23f2f8c86928' + 'd8191b23b9d5689b321bd0cf20b71a4039fde454d08644de6dc3a6521d574fd0' '5255a183cccd80b2bfbbf519b1cc8cec81ae40bbc0b5a88dfddd95532ece84ed') prepare() { patch -d "$srcdir/${_full_name}" -Np2 -i "$srcdir/0001-Fix-vmxnet-module-on-kernels-3.16.patch" patch -d "$srcdir/${_full_name}" -Np2 -i "$srcdir/0004-Support-backing-dev-info-kernel-4.0.patch" patch -d "$srcdir/${_full_name}" -Np2 -i "$srcdir/0005-Remove-new_sync-for-Linux-4.1.patch" + patch -d "$srcdir/${_full_name}" -Np2 -i "$srcdir/0006-vmhgfs-support-linux-4.2.x-kernel.patch" } package() { @@ -49,3 +52,4 @@ package() { rm -rf "${pkgdir}/usr/src/${_name}-${pkgver}/${_module}" done } + |