diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2014-06-07 22:06:57 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2014-06-07 22:06:57 +0000 |
commit | b9cb570443acd67877d6779db9551aabf76803e8 (patch) | |
tree | af10aff9fe260c1374b62402b73bae8ad5ae459e /app-emulation/vmware-modules | |
parent | Removal of dev-ruby/fastthread - No-op in ruby19. (diff) | |
download | gentoo-2-b9cb570443acd67877d6779db9551aabf76803e8.tar.gz gentoo-2-b9cb570443acd67877d6779db9551aabf76803e8.tar.bz2 gentoo-2-b9cb570443acd67877d6779db9551aabf76803e8.zip |
Conditionally add patch for kernel 3.11, bug 483410
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key EBE6A336BE19039C!)
Diffstat (limited to 'app-emulation/vmware-modules')
6 files changed, 195 insertions, 4 deletions
diff --git a/app-emulation/vmware-modules/ChangeLog b/app-emulation/vmware-modules/ChangeLog index dd5e3e4229de..d2b30fc05727 100644 --- a/app-emulation/vmware-modules/ChangeLog +++ b/app-emulation/vmware-modules/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for app-emulation/vmware-modules # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/ChangeLog,v 1.117 2014/04/19 10:10:25 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/ChangeLog,v 1.118 2014/06/07 22:06:57 dilfridge Exp $ + + 07 Jun 2014; Andreas K. Huettel <dilfridge@gentoo.org> + vmware-modules-271.3.ebuild, vmware-modules-279.1-r1.ebuild, + vmware-modules-279.2.ebuild, +files/271-filldir.patch, + +files/279-filldir.patch: + Conditionally add patch for kernel 3.11, bug 483410 *vmware-modules-279.2 (19 Apr 2014) diff --git a/app-emulation/vmware-modules/files/271-filldir.patch b/app-emulation/vmware-modules/files/271-filldir.patch new file mode 100644 index 000000000000..6eb1f315cd97 --- /dev/null +++ b/app-emulation/vmware-modules/files/271-filldir.patch @@ -0,0 +1,91 @@ +diff --git a/vmblock-only/linux/file.c b/vmblock-only/linux/file.c +index d7ac1f6..5499169 100644 +--- a/vmblock-only/linux/file.c ++++ b/vmblock-only/linux/file.c +@@ -38,46 +38,6 @@ typedef u64 inode_num_t; + typedef ino_t inode_num_t; + #endif + +-/* Specifically for our filldir_t callback */ +-typedef struct FilldirInfo { +- filldir_t filldir; +- void *dirent; +-} FilldirInfo; +- +- +-/* +- *---------------------------------------------------------------------------- +- * +- * Filldir -- +- * +- * Callback function for readdir that we use in place of the one provided. +- * This allows us to specify that each dentry is a symlink, but pass through +- * everything else to the original filldir function. +- * +- * Results: +- * Original filldir's return value. +- * +- * Side effects: +- * Directory information gets copied to user's buffer. +- * +- *---------------------------------------------------------------------------- +- */ +- +-static int +-Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir +- const char *name, // IN: Dirent name +- int namelen, // IN: len of dirent's name +- loff_t offset, // IN: Offset +- inode_num_t ino, // IN: Inode number of dirent +- unsigned int d_type) // IN: Type of file +-{ +- FilldirInfo *info = buf; +- +- /* Specify DT_LNK regardless */ +- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK); +-} +- +- + /* File operations */ + + /* +@@ -166,11 +126,10 @@ FileOpOpen(struct inode *inode, // IN + + static int + FileOpReaddir(struct file *file, // IN +- void *dirent, // IN +- filldir_t filldir) // IN ++ struct dir_context *ctx) // IN + { + int ret; +- FilldirInfo info; ++ + struct file *actualFile; + + if (!file) { +@@ -184,12 +143,10 @@ FileOpReaddir(struct file *file, // IN + return -EINVAL; + } + +- info.filldir = filldir; +- info.dirent = dirent; +- +- actualFile->f_pos = file->f_pos; +- ret = vfs_readdir(actualFile, Filldir, &info); +- file->f_pos = actualFile->f_pos; ++ /* Ricky Wong Yung Fei: ++ * Manipulation of pos is now handled internally by iterate_dir(). ++ */ ++ ret = iterate_dir(actualFile, ctx); + + return ret; + } +@@ -237,7 +194,7 @@ FileOpRelease(struct inode *inode, // IN + + + struct file_operations RootFileOps = { +- .readdir = FileOpReaddir, ++ .iterate = FileOpReaddir, + .open = FileOpOpen, + .release = FileOpRelease, + }; diff --git a/app-emulation/vmware-modules/files/279-filldir.patch b/app-emulation/vmware-modules/files/279-filldir.patch new file mode 100644 index 000000000000..6eb1f315cd97 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-filldir.patch @@ -0,0 +1,91 @@ +diff --git a/vmblock-only/linux/file.c b/vmblock-only/linux/file.c +index d7ac1f6..5499169 100644 +--- a/vmblock-only/linux/file.c ++++ b/vmblock-only/linux/file.c +@@ -38,46 +38,6 @@ typedef u64 inode_num_t; + typedef ino_t inode_num_t; + #endif + +-/* Specifically for our filldir_t callback */ +-typedef struct FilldirInfo { +- filldir_t filldir; +- void *dirent; +-} FilldirInfo; +- +- +-/* +- *---------------------------------------------------------------------------- +- * +- * Filldir -- +- * +- * Callback function for readdir that we use in place of the one provided. +- * This allows us to specify that each dentry is a symlink, but pass through +- * everything else to the original filldir function. +- * +- * Results: +- * Original filldir's return value. +- * +- * Side effects: +- * Directory information gets copied to user's buffer. +- * +- *---------------------------------------------------------------------------- +- */ +- +-static int +-Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir +- const char *name, // IN: Dirent name +- int namelen, // IN: len of dirent's name +- loff_t offset, // IN: Offset +- inode_num_t ino, // IN: Inode number of dirent +- unsigned int d_type) // IN: Type of file +-{ +- FilldirInfo *info = buf; +- +- /* Specify DT_LNK regardless */ +- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK); +-} +- +- + /* File operations */ + + /* +@@ -166,11 +126,10 @@ FileOpOpen(struct inode *inode, // IN + + static int + FileOpReaddir(struct file *file, // IN +- void *dirent, // IN +- filldir_t filldir) // IN ++ struct dir_context *ctx) // IN + { + int ret; +- FilldirInfo info; ++ + struct file *actualFile; + + if (!file) { +@@ -184,12 +143,10 @@ FileOpReaddir(struct file *file, // IN + return -EINVAL; + } + +- info.filldir = filldir; +- info.dirent = dirent; +- +- actualFile->f_pos = file->f_pos; +- ret = vfs_readdir(actualFile, Filldir, &info); +- file->f_pos = actualFile->f_pos; ++ /* Ricky Wong Yung Fei: ++ * Manipulation of pos is now handled internally by iterate_dir(). ++ */ ++ ret = iterate_dir(actualFile, ctx); + + return ret; + } +@@ -237,7 +194,7 @@ FileOpRelease(struct inode *inode, // IN + + + struct file_operations RootFileOps = { +- .readdir = FileOpReaddir, ++ .iterate = FileOpReaddir, + .open = FileOpOpen, + .release = FileOpRelease, + }; diff --git a/app-emulation/vmware-modules/vmware-modules-271.3.ebuild b/app-emulation/vmware-modules/vmware-modules-271.3.ebuild index 6e1afeab4ff1..bac7d9b49ad2 100644 --- a/app-emulation/vmware-modules/vmware-modules-271.3.ebuild +++ b/app-emulation/vmware-modules/vmware-modules-271.3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-271.3.ebuild,v 1.1 2014/04/12 18:28:49 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-271.3.ebuild,v 1.2 2014/06/07 22:06:57 dilfridge Exp $ EAPI="4" @@ -66,6 +66,7 @@ src_prepare() { epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch" kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10.0.patch" + kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-filldir.patch" # Allow user patches so they can support RC kernels and whatever else epatch_user diff --git a/app-emulation/vmware-modules/vmware-modules-279.1-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-279.1-r1.ebuild index b15e0e8a9899..0a72e15094cc 100644 --- a/app-emulation/vmware-modules/vmware-modules-279.1-r1.ebuild +++ b/app-emulation/vmware-modules/vmware-modules-279.1-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-279.1-r1.ebuild,v 1.1 2014/04/12 20:13:46 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-279.1-r1.ebuild,v 1.2 2014/06/07 22:06:57 dilfridge Exp $ EAPI=5 @@ -80,6 +80,7 @@ src_prepare() { epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch" kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch" + kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-filldir.patch" # Allow user patches so they can support RC kernels and whatever else epatch_user diff --git a/app-emulation/vmware-modules/vmware-modules-279.2.ebuild b/app-emulation/vmware-modules/vmware-modules-279.2.ebuild index 2b320d383385..f68ef51113ae 100644 --- a/app-emulation/vmware-modules/vmware-modules-279.2.ebuild +++ b/app-emulation/vmware-modules/vmware-modules-279.2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-279.2.ebuild,v 1.1 2014/04/19 10:10:25 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-279.2.ebuild,v 1.2 2014/06/07 22:06:57 dilfridge Exp $ EAPI=5 @@ -80,6 +80,7 @@ src_prepare() { epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch" kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch" + kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-filldir.patch" # Allow user patches so they can support RC kernels and whatever else epatch_user |