diff options
author | Richard Yao <ryao@gentoo.org> | 2013-03-15 13:17:03 +0000 |
---|---|---|
committer | Richard Yao <ryao@gentoo.org> | 2013-03-15 13:17:03 +0000 |
commit | cdc1a731bf0b44cf6e051f276ec34146dc0dc729 (patch) | |
tree | a288f08dd4d019567888648f3750998960d9bd1a /sys-kernel | |
parent | Revision bump: EAPI 5, epatch_user, use readme.gentoo eclass, respect LDFLAGS... (diff) | |
download | gentoo-2-cdc1a731bf0b44cf6e051f276ec34146dc0dc729.tar.gz gentoo-2-cdc1a731bf0b44cf6e051f276ec34146dc0dc729.tar.bz2 gentoo-2-cdc1a731bf0b44cf6e051f276ec34146dc0dc729.zip |
Linux 3.9 Support; Install symlinks to make building lustre easier for the Gentoo Cluster team; dodoc miscellaneous documentation; Update github urls on older ebuilds to make repoman happy
(Portage version: 2.2.0_alpha166/cvs/Linux x86_64, signed Manifest commit with key )
Diffstat (limited to 'sys-kernel')
-rw-r--r-- | sys-kernel/spl/ChangeLog | 13 | ||||
-rw-r--r-- | sys-kernel/spl/files/spl-0.6.0_rc14-linux-3.9-compat.patch | 237 | ||||
-rw-r--r-- | sys-kernel/spl/files/spl-0.6.0_rc14-symlink-headers.patch | 13 | ||||
-rw-r--r-- | sys-kernel/spl/spl-0.6.0_rc10.ebuild | 4 | ||||
-rw-r--r-- | sys-kernel/spl/spl-0.6.0_rc11-r2.ebuild | 4 | ||||
-rw-r--r-- | sys-kernel/spl/spl-0.6.0_rc12-r1.ebuild | 4 | ||||
-rw-r--r-- | sys-kernel/spl/spl-0.6.0_rc14-r2.ebuild (renamed from sys-kernel/spl/spl-0.6.0_rc14-r1.ebuild) | 18 | ||||
-rw-r--r-- | sys-kernel/spl/spl-9999.ebuild | 18 |
8 files changed, 300 insertions, 11 deletions
diff --git a/sys-kernel/spl/ChangeLog b/sys-kernel/spl/ChangeLog index d5bce5ea5b56..3664e78dbcb0 100644 --- a/sys-kernel/spl/ChangeLog +++ b/sys-kernel/spl/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for sys-kernel/spl # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/ChangeLog,v 1.45 2013/02/11 23:27:03 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/ChangeLog,v 1.46 2013/03/15 13:17:03 ryao Exp $ + +*spl-0.6.0_rc14-r2 (15 Mar 2013) + + 15 Mar 2013; Richard Yao <ryao@gentoo.org> +files/spl-0.6.0_rc14-hostid.patch, + +files/spl-0.6.0_rc14-linux-3.9-compat.patch, + +files/spl-0.6.0_rc14-symlink-headers.patch, +spl-0.6.0_rc14-r2.ebuild, + -spl-0.6.0_rc14-r1.ebuild, spl-0.6.0_rc10.ebuild, spl-0.6.0_rc11-r2.ebuild, + spl-0.6.0_rc12-r1.ebuild, spl-0.6.0_rc13-r2.ebuild, spl-9999.ebuild: + Linux 3.9 Support; Install symlinks to make building lustre easier for the + Gentoo Cluster team; dodoc miscellaneous documentation; Update github urls on + older ebuilds to make repoman happy 11 Feb 2013; Richard Yao <ryao@gentoo.org> -spl-0.6.0_rc11.ebuild, -spl-0.6.0_rc12.ebuild, -spl-0.6.0_rc13-r1.ebuild, -spl-0.6.0_rc13.ebuild, diff --git a/sys-kernel/spl/files/spl-0.6.0_rc14-linux-3.9-compat.patch b/sys-kernel/spl/files/spl-0.6.0_rc14-linux-3.9-compat.patch new file mode 100644 index 000000000000..5f9a4c698803 --- /dev/null +++ b/sys-kernel/spl/files/spl-0.6.0_rc14-linux-3.9-compat.patch @@ -0,0 +1,237 @@ +diff --git a/config/spl-build.m4 b/config/spl-build.m4 +index 3dcc05e..6a8e658 100644 +--- a/config/spl-build.m4 ++++ b/config/spl-build.m4 +@@ -64,6 +64,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [ + SPL_AC_USER_PATH_DIR + SPL_AC_SET_FS_PWD + SPL_AC_2ARGS_SET_FS_PWD ++ SPL_AC_SET_FS_PWD_WITH_CONST + SPL_AC_2ARGS_VFS_UNLINK + SPL_AC_4ARGS_VFS_RENAME + SPL_AC_VFS_FSYNC +@@ -88,6 +89,8 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [ + SPL_AC_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE + SPL_AC_SHRINK_CONTROL_STRUCT + SPL_AC_RWSEM_SPINLOCK_IS_RAW ++ SPL_AC_SCHED_RT_HEADER ++ SPL_AC_2ARGS_VFS_GETATTR + ]) + + AC_DEFUN([SPL_AC_MODULE_SYMVERS], [ +@@ -1684,12 +1687,55 @@ AC_DEFUN([SPL_AC_2ARGS_SET_FS_PWD], + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_2ARGS_SET_FS_PWD, 1, + [set_fs_pwd() wants 2 args]) ++ HAVE_2ARGS_SET_FS_PWD=yes + ],[ + AC_MSG_RESULT(no) + ]) + ]) + + dnl # ++dnl # 3.9 API change ++dnl # set_fs_pwd takes const struct path * ++dnl # ++AC_DEFUN([SPL_AC_SET_FS_PWD_WITH_CONST], ++if test "x$HAVE_2ARGS_SET_FS_PWD" = xyes; then ++ tmp_flags="$EXTRA_KCFLAGS" ++ EXTRA_KCFLAGS="-Werror" ++ [AC_MSG_CHECKING([whether set_fs_pwd() requires const struct path *]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include <linux/spinlock.h> ++ #include <linux/fs_struct.h> ++ #include <linux/path.h> ++ void (*const set_fs_pwd_func) ++ (struct fs_struct *, const struct path *) ++ = set_fs_pwd; ++ ],[ ++ return 0; ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_SET_FS_PWD_WITH_CONST, 1, ++ [set_fs_pwd() needs const path *]) ++ ],[ ++ SPL_LINUX_TRY_COMPILE([ ++ #include <linux/spinlock.h> ++ #include <linux/fs_struct.h> ++ #include <linux/path.h> ++ void (*const set_fs_pwd_func) ++ (struct fs_struct *, struct path *) ++ = set_fs_pwd; ++ ],[ ++ return 0; ++ ],[ ++ AC_MSG_RESULT(no) ++ ],[ ++ AC_MSG_ERROR(unknown) ++ ]) ++ ]) ++ EXTRA_KCFLAGS="$tmp_flags" ++fi ++]) ++ ++dnl # + dnl # SLES API change, never adopted in mainline, + dnl # Third 'struct vfsmount *' argument removed. + dnl # +@@ -2217,3 +2263,53 @@ AC_DEFUN([SPL_AC_RWSEM_SPINLOCK_IS_RAW], [ + ]) + EXTRA_KCFLAGS="$tmp_flags" + ]) ++ ++dnl # ++dnl # 3.9 API change, ++dnl # Moved things from linux/sched.h to linux/sched/rt.h ++dnl # ++AC_DEFUN([SPL_AC_SCHED_RT_HEADER], ++ [AC_MSG_CHECKING([whether header linux/sched/rt.h exists]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include <linux/sched.h> ++ #include <linux/sched/rt.h> ++ ],[ ++ return 0; ++ ],[ ++ AC_DEFINE(HAVE_SCHED_RT_HEADER, 1, [linux/sched/rt.h exists]) ++ AC_MSG_RESULT(yes) ++ ],[ ++ AC_MSG_RESULT(no) ++ ]) ++]) ++ ++dnl # ++dnl # 3.9 API change, ++dnl # vfs_getattr() uses 2 args ++dnl # It takes struct path * instead of struct vfsmount * and struct dentry * ++dnl # ++AC_DEFUN([SPL_AC_2ARGS_VFS_GETATTR], [ ++ AC_MSG_CHECKING([whether vfs_getattr() wants]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include <linux/fs.h> ++ ],[ ++ vfs_getattr((struct path *) NULL, ++ (struct kstat *)NULL); ++ ],[ ++ AC_MSG_RESULT(2 args) ++ AC_DEFINE(HAVE_2ARGS_VFS_GETATTR, 1, ++ [vfs_getattr wants 2 args]) ++ ],[ ++ SPL_LINUX_TRY_COMPILE([ ++ #include <linux/fs.h> ++ ],[ ++ vfs_getattr((struct vfsmount *)NULL, ++ (struct dentry *)NULL, ++ (struct kstat *)NULL); ++ ],[ ++ AC_MSG_RESULT(3 args) ++ ],[ ++ AC_MSG_ERROR(unknown) ++ ]) ++ ]) ++]) +diff --git a/include/sys/sysmacros.h b/include/sys/sysmacros.h +index 7c4da67..b4778b7 100644 +--- a/include/sys/sysmacros.h ++++ b/include/sys/sysmacros.h +@@ -26,12 +26,17 @@ + #define _SPL_SYSMACROS_H + + #include <linux/module.h> ++#include <linux/sched.h> + #include <linux/cpumask.h> + #include <sys/debug.h> + #include <sys/varargs.h> + #include <sys/zone.h> + #include <sys/signal.h> + ++#ifdef HAVE_SCHED_RT_HEADER ++#include <linux/sched/rt.h> ++#endif ++ + #ifndef _KERNEL + #define _KERNEL __KERNEL__ + #endif +diff --git a/module/spl/spl-kmem.c b/module/spl/spl-kmem.c +index e3538b5..f9c1114 100644 +--- a/module/spl/spl-kmem.c ++++ b/module/spl/spl-kmem.c +@@ -404,7 +404,8 @@ kmem_del_init(spinlock_t *lock, struct hlist_head *table, int bits, const void * + spin_lock_irqsave(lock, flags); + + head = &table[hash_ptr(addr, bits)]; +- hlist_for_each_entry_rcu(p, node, head, kd_hlist) { ++ hlist_for_each_rcu(node, head) { ++ p = list_entry_rcu(node, struct kmem_debug, kd_hlist); + if (p->kd_addr == addr) { + hlist_del_init(&p->kd_hlist); + list_del_init(&p->kd_list); +diff --git a/module/spl/spl-tsd.c b/module/spl/spl-tsd.c +index d7749cf..6e5605b 100644 +--- a/module/spl/spl-tsd.c ++++ b/module/spl/spl-tsd.c +@@ -113,7 +113,8 @@ tsd_hash_search(tsd_hash_table_t *table, uint_t key, pid_t pid) + hash = hash_long((ulong_t)key * (ulong_t)pid, table->ht_bits); + bin = &table->ht_bins[hash]; + spin_lock(&bin->hb_lock); +- hlist_for_each_entry(entry, node, &bin->hb_head, he_list) { ++ hlist_for_each(node, &bin->hb_head) { ++ entry = list_entry(node, tsd_hash_entry_t, he_list); + if ((entry->he_key == key) && (entry->he_pid == pid)) { + spin_unlock(&bin->hb_lock); + SRETURN(entry); +diff --git a/module/spl/spl-vnode.c b/module/spl/spl-vnode.c +index 4d571c6..dac452c 100644 +--- a/module/spl/spl-vnode.c ++++ b/module/spl/spl-vnode.c +@@ -175,7 +175,11 @@ vn_open(const char *path, uio_seg_t seg, int flags, int mode, + if (IS_ERR(fp)) + SRETURN(-PTR_ERR(fp)); + +- rc = vfs_getattr(fp->f_vfsmnt, fp->f_dentry, &stat); ++#ifdef HAVE_2ARGS_VFS_GETATTR ++ rc = vfs_getattr(&fp->f_path, &stat); ++#else ++ rc = vfs_getattr(fp->f_path.mnt, fp->f_dentry, &stat); ++#endif + if (rc) { + filp_close(fp, 0); + SRETURN(-rc); +@@ -602,7 +606,11 @@ vn_getattr(vnode_t *vp, vattr_t *vap, int flags, void *x3, void *x4) + + fp = vp->v_file; + +- rc = vfs_getattr(fp->f_vfsmnt, fp->f_dentry, &stat); ++#ifdef HAVE_2ARGS_VFS_GETATTR ++ rc = vfs_getattr(&fp->f_path, &stat); ++#else ++ rc = vfs_getattr(fp->f_path.mnt, fp->f_dentry, &stat); ++#endif + if (rc) + SRETURN(-rc); + +@@ -754,7 +762,12 @@ vn_getf(int fd) + if (vp == NULL) + SGOTO(out_fget, rc); + +- if (vfs_getattr(lfp->f_vfsmnt, lfp->f_dentry, &stat)) ++#ifdef HAVE_2ARGS_VFS_GETATTR ++ rc = vfs_getattr(&lfp->f_path, &stat); ++#else ++ rc = vfs_getattr(lfp->f_path.mnt, lfp->f_dentry, &stat); ++#endif ++ if (rc) + SGOTO(out_vnode, rc); + + mutex_enter(&vp->v_lock); +@@ -827,7 +840,11 @@ EXPORT_SYMBOL(releasef); + # ifdef HAVE_2ARGS_SET_FS_PWD + /* Used from 2.6.25 - 2.6.31+ */ + void ++# ifdef HAVE_SET_FS_PWD_WITH_CONST ++set_fs_pwd(struct fs_struct *fs, const struct path *path) ++# else + set_fs_pwd(struct fs_struct *fs, struct path *path) ++# endif + { + struct path old_pwd; + diff --git a/sys-kernel/spl/files/spl-0.6.0_rc14-symlink-headers.patch b/sys-kernel/spl/files/spl-0.6.0_rc14-symlink-headers.patch new file mode 100644 index 000000000000..49fe57bd0c51 --- /dev/null +++ b/sys-kernel/spl/files/spl-0.6.0_rc14-symlink-headers.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index 4d8ab0e..6c1a7a5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -35,6 +35,8 @@ install-data-local: + for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \ + $(INSTALL) -m 644 -D $$instfile $$instdest/$$instfile; \ + done ++ release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \ ++ ln -s spl-$$release/$(LINUX_VERSION) $(DESTDIR)/usr/src/spl; + endif + + ctags: diff --git a/sys-kernel/spl/spl-0.6.0_rc10.ebuild b/sys-kernel/spl/spl-0.6.0_rc10.ebuild index 24ac78e39e08..194e8af00b33 100644 --- a/sys-kernel/spl/spl-0.6.0_rc10.ebuild +++ b/sys-kernel/spl/spl-0.6.0_rc10.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/spl-0.6.0_rc10.ebuild,v 1.8 2013/02/11 23:25:16 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/spl-0.6.0_rc10.ebuild,v 1.9 2013/03/15 13:17:03 ryao Exp $ EAPI="4" AUTOTOOLS_AUTORECONF="1" @@ -13,7 +13,7 @@ if [[ ${PV} == "9999" ]] ; then else inherit eutils versionator MY_PV=$(replace_version_separator 3 '-') - SRC_URI="https://github.com/downloads/zfsonlinux/${PN}/${PN}-${MY_PV}.tar.gz" + SRC_URI="mirror://github/zfsonlinux/${PN}/${PN}-${MY_PV}.tar.gz" S="${WORKDIR}/${PN}-${MY_PV}" KEYWORDS="~amd64" fi diff --git a/sys-kernel/spl/spl-0.6.0_rc11-r2.ebuild b/sys-kernel/spl/spl-0.6.0_rc11-r2.ebuild index 98c86795933d..d6655b9dcd31 100644 --- a/sys-kernel/spl/spl-0.6.0_rc11-r2.ebuild +++ b/sys-kernel/spl/spl-0.6.0_rc11-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/spl-0.6.0_rc11-r2.ebuild,v 1.7 2013/02/11 23:25:16 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/spl-0.6.0_rc11-r2.ebuild,v 1.8 2013/03/15 13:17:03 ryao Exp $ EAPI="4" AUTOTOOLS_AUTORECONF="1" @@ -13,7 +13,7 @@ if [[ ${PV} == "9999" ]] ; then else inherit eutils versionator MY_PV=$(replace_version_separator 3 '-') - SRC_URI="https://github.com/downloads/zfsonlinux/${PN}/${PN}-${MY_PV}.tar.gz" + SRC_URI="mirror://zfsonlinux/${PN}/${PN}-${MY_PV}.tar.gz" S="${WORKDIR}/${PN}-${MY_PV}" KEYWORDS="~amd64" fi diff --git a/sys-kernel/spl/spl-0.6.0_rc12-r1.ebuild b/sys-kernel/spl/spl-0.6.0_rc12-r1.ebuild index 1a3b7bbe6075..5798f9b5ab17 100644 --- a/sys-kernel/spl/spl-0.6.0_rc12-r1.ebuild +++ b/sys-kernel/spl/spl-0.6.0_rc12-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/spl-0.6.0_rc12-r1.ebuild,v 1.5 2013/02/11 23:25:16 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/spl-0.6.0_rc12-r1.ebuild,v 1.6 2013/03/15 13:17:03 ryao Exp $ EAPI="4" AUTOTOOLS_AUTORECONF="1" @@ -13,7 +13,7 @@ if [[ ${PV} == "9999" ]] ; then else inherit eutils versionator MY_PV=$(replace_version_separator 3 '-') - SRC_URI="https://github.com/downloads/zfsonlinux/${PN}/${PN}-${MY_PV}.tar.gz" + SRC_URI="mirror://github/zfsonlinux/${PN}/${PN}-${MY_PV}.tar.gz" S="${WORKDIR}/${PN}-${MY_PV}" KEYWORDS="~amd64" fi diff --git a/sys-kernel/spl/spl-0.6.0_rc14-r1.ebuild b/sys-kernel/spl/spl-0.6.0_rc14-r2.ebuild index 3d577aed0472..fb3b7222e91c 100644 --- a/sys-kernel/spl/spl-0.6.0_rc14-r1.ebuild +++ b/sys-kernel/spl/spl-0.6.0_rc14-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/spl-0.6.0_rc14-r1.ebuild,v 1.1 2013/02/06 01:45:21 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/spl-0.6.0_rc14-r2.ebuild,v 1.1 2013/03/15 13:17:03 ryao Exp $ EAPI="4" AUTOTOOLS_AUTORECONF="1" @@ -50,7 +50,7 @@ pkg_setup() { kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" [ ${PV} != "9999" ] && \ - { kernel_is le 3 8 || die "Linux 3.8 is the latest supported version."; } + { kernel_is le 3 9 || die "Linux 3.9 is the latest supported version."; } check_extra_config } @@ -59,6 +59,9 @@ src_prepare() { # Workaround for hard coded path sed -i "s|/sbin/lsmod|/bin/lsmod|" scripts/check.sh || die + # Provide /usr/src/spl symlink for lustre + epatch "${FILESDIR}/${P}-symlink-headers.patch" + if [ ${PV} != "9999" ] then # Fix x86 build failures on Linux 3.4 and later, bug #450646 @@ -66,8 +69,14 @@ src_prepare() { # Fix autotools check that fails on ~ppc64 epatch "${FILESDIR}/${P}-fix-mutex-owner-check.patch" + + # Linux 3.9 Support + epatch "${FILESDIR}/${P}-linux-3.9-compat.patch" fi + # splat is unnecessary unless we are debugging + use debug || sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" + autotools-utils_src_prepare } @@ -88,6 +97,11 @@ src_configure() { autotools-utils_src_configure } +src_install() { + autotools-utils_src_install + dodoc AUTHORS DISCLAIMER INSTALL README.markdown +} + src_test() { if [[ ! -e /proc/modules ]] then diff --git a/sys-kernel/spl/spl-9999.ebuild b/sys-kernel/spl/spl-9999.ebuild index accfa2a6d55f..d77f5f5d16ce 100644 --- a/sys-kernel/spl/spl-9999.ebuild +++ b/sys-kernel/spl/spl-9999.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/spl-9999.ebuild,v 1.28 2013/02/06 01:45:21 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/spl-9999.ebuild,v 1.29 2013/03/15 13:17:03 ryao Exp $ EAPI="4" AUTOTOOLS_AUTORECONF="1" @@ -50,7 +50,7 @@ pkg_setup() { kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" [ ${PV} != "9999" ] && \ - { kernel_is le 3 8 || die "Linux 3.8 is the latest supported version."; } + { kernel_is le 3 9 || die "Linux 3.9 is the latest supported version."; } check_extra_config } @@ -59,6 +59,9 @@ src_prepare() { # Workaround for hard coded path sed -i "s|/sbin/lsmod|/bin/lsmod|" scripts/check.sh || die + # Provide /usr/src/spl symlink for lustre + epatch "${FILESDIR}/${P}-symlink-headers.patch" + if [ ${PV} != "9999" ] then # Fix x86 build failures on Linux 3.4 and later, bug #450646 @@ -66,8 +69,14 @@ src_prepare() { # Fix autotools check that fails on ~ppc64 epatch "${FILESDIR}/${P}-fix-mutex-owner-check.patch" + + # Linux 3.9 Support + epatch "${FILESDIR}/${P}-linux-3.9-compat.patch" fi + # splat is unnecessary unless we are debugging + use debug || sed -e 's/^subdir-m += splat$//' -i "${S}/module/Makefile.in" + autotools-utils_src_prepare } @@ -88,6 +97,11 @@ src_configure() { autotools-utils_src_configure } +src_install() { + autotools-utils_src_install + dodoc AUTHORS DISCLAIMER INSTALL README.markdown +} + src_test() { if [[ ! -e /proc/modules ]] then |