diff options
author | Richard Yao <ryao@gentoo.org> | 2013-11-21 15:47:44 +0000 |
---|---|---|
committer | Richard Yao <ryao@gentoo.org> | 2013-11-21 15:47:44 +0000 |
commit | 5d7de1d4eb0d19de029a333ee4913589fb3d562f (patch) | |
tree | 65869b80b3335be4961ca96db0044821441cc2d0 /sys-fs/zfs-kmod | |
parent | bug number to comment for clarity's sake (diff) | |
download | gentoo-2-5d7de1d4eb0d19de029a333ee4913589fb3d562f.tar.gz gentoo-2-5d7de1d4eb0d19de029a333ee4913589fb3d562f.tar.bz2 gentoo-2-5d7de1d4eb0d19de029a333ee4913589fb3d562f.zip |
Fix writeback regression introduced in -r2 that affected mmap() and AIO writes; Apply locking fixes from Illumos; Reintroduce uio_prefaultpages() to minimize the possibility of hitting zfsonlinux/zfs#1689; Add Linux 3.12 Support
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 0xBEE84C64)
Diffstat (limited to 'sys-fs/zfs-kmod')
-rw-r--r-- | sys-fs/zfs-kmod/ChangeLog | 12 | ||||
-rw-r--r-- | sys-fs/zfs-kmod/zfs-kmod-0.6.2-r2.ebuild | 129 | ||||
-rw-r--r-- | sys-fs/zfs-kmod/zfs-kmod-0.6.2-r3.ebuild (renamed from sys-fs/zfs-kmod/zfs-kmod-0.6.2-r1.ebuild) | 6 | ||||
-rw-r--r-- | sys-fs/zfs-kmod/zfs-kmod-0.6.2.ebuild | 123 | ||||
-rw-r--r-- | sys-fs/zfs-kmod/zfs-kmod-9999.ebuild | 15 |
5 files changed, 26 insertions, 259 deletions
diff --git a/sys-fs/zfs-kmod/ChangeLog b/sys-fs/zfs-kmod/ChangeLog index ba815a465146..f89c92548dcb 100644 --- a/sys-fs/zfs-kmod/ChangeLog +++ b/sys-fs/zfs-kmod/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for sys-fs/zfs-kmod # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/ChangeLog,v 1.39 2013/10/18 16:25:53 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/ChangeLog,v 1.40 2013/11/21 15:47:44 ryao Exp $ + +*zfs-kmod-0.6.2-r3 (21 Nov 2013) + + 21 Nov 2013; Richard Yao <ryao@gentoo.org> +zfs-kmod-0.6.2-r3.ebuild, + -zfs-kmod-0.6.2-r1.ebuild, -zfs-kmod-0.6.2-r2.ebuild, -zfs-kmod-0.6.2.ebuild, + zfs-kmod-9999.ebuild: + Fix writeback regression introduced in -r2 that affected mmap() and AIO + writes; Apply locking fixes from Illumos; Reintroduce uio_prefaultpages() to + minimize the possibility of hitting zfsonlinux/zfs#1689; Add Linux 3.12 + Support *zfs-kmod-0.6.2-r2 (18 Oct 2013) diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r2.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r2.ebuild deleted file mode 100644 index 9ec379f4c077..000000000000 --- a/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r2.ebuild +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r2.ebuild,v 1.1 2013/10/18 16:25:53 ryao Exp $ - -EAPI="4" - -AT_M4DIR="config" -AUTOTOOLS_AUTORECONF="1" -AUTOTOOLS_IN_SOURCE_BUILD="1" - -inherit bash-completion-r1 flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils - -if [ ${PV} == "9999" ] ; then - inherit git-2 - MY_PV=9999 - EGIT_REPO_URI="git://github.com/zfsonlinux/zfs.git" -else - inherit eutils versionator - MY_PV=$(replace_version_separator 3 '-') - SRC_URI="https://github.com/zfsonlinux/zfs/archive/zfs-${MY_PV}.tar.gz - http://dev.gentoo.org/~ryao/dist/${PN}-${MY_PV}-p1.tar.xz" - S="${WORKDIR}/zfs-zfs-${MY_PV}" - KEYWORDS="~amd64" -fi - -DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs" -HOMEPAGE="http://zfsonlinux.org/" - -LICENSE="CDDL debug? ( GPL-2+ )" -SLOT="0" -IUSE="custom-cflags debug +rootfs" -RESTRICT="test" - -DEPEND=" - =sys-kernel/spl-${PV}* - dev-lang/perl - virtual/awk -" - -RDEPEND="${DEPEND} - !sys-fs/zfs-fuse -" - -pkg_setup() { - linux-info_pkg_setup - CONFIG_CHECK="!DEBUG_LOCK_ALLOC - BLK_DEV_LOOP - EFI_PARTITION - IOSCHED_NOOP - MODULES - !PAX_KERNEXEC_PLUGIN_METHOD_OR - ZLIB_DEFLATE - ZLIB_INFLATE - " - - use rootfs && \ - CONFIG_CHECK="${CONFIG_CHECK} BLK_DEV_INITRD - DEVTMPFS" - - kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" - - [ ${PV} != "9999" ] && \ - { kernel_is le 3 11 || die "Linux 3.11 is the latest supported version."; } - - check_extra_config -} - -src_prepare() { - # Remove GPLv2-licensed ZPIOS unless we are debugging - use debug || sed -e 's/^subdir-m += zpios$//' -i "${S}/module/Makefile.in" - - if [ ${PV} != "9999" ] - then - # Apply patch set - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - epatch "${WORKDIR}/${PN}-${MY_PV}-patches" - fi - - autotools-utils_src_prepare -} - -src_configure() { - use custom-cflags || strip-flags - filter-ldflags -Wl,* - - set_arch_to_kernel - local myeconfargs=( - --bindir="${EPREFIX}/bin" - --sbindir="${EPREFIX}/sbin" - --with-config=kernel - --with-linux="${KV_DIR}" - --with-linux-obj="${KV_OUT_DIR}" - $(use_enable debug) - ) - autotools-utils_src_configure -} - -src_install() { - autotools-utils_src_install - dodoc AUTHORS COPYRIGHT DISCLAIMER README.markdown -} - -pkg_postinst() { - linux-mod_pkg_postinst - - # Remove old modules - if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/zfs" ] - then - ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/zfs" - ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/zfs" - ewarn "Automatically removing old modules to avoid problems." - rm -r "${EROOT}lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules" - rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon" - fi - - if use x86 || use arm - then - ewarn "32-bit kernels will likely require increasing vmalloc to" - ewarn "at least 256M and decreasing zfs_arc_max to some value less than that." - fi - - ewarn "This version of ZFSOnLinux includes support for features flags." - ewarn "If you upgrade your pools to make use of feature flags, you will lose" - ewarn "the ability to import them using older versions of ZFSOnLinux." - ewarn "Any new pools will be created with feature flag support and will" - ewarn "not be compatible with older versions of ZFSOnLinux. To create a new" - ewarn "pool that is backward compatible, use zpool create -o version=28 ..." -} diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r3.ebuild index 0a474922e8fe..9e33094ba92f 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r1.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r3.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-fs/zfs-kmod/zfs-kmod-0.6.2-r1.ebuild,v 1.3 2013/10/14 14:36:12 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r3.ebuild,v 1.1 2013/11/21 15:47:44 ryao Exp $ EAPI="4" @@ -18,7 +18,7 @@ else inherit eutils versionator MY_PV=$(replace_version_separator 3 '-') SRC_URI="https://github.com/zfsonlinux/zfs/archive/zfs-${MY_PV}.tar.gz - http://dev.gentoo.org/~ryao/dist/${PN}-${MY_PV}-p0.tar.xz" + http://dev.gentoo.org/~ryao/dist/${PN}-${MY_PV}-p2.tar.xz" S="${WORKDIR}/zfs-zfs-${MY_PV}" KEYWORDS="~amd64" fi @@ -60,7 +60,7 @@ pkg_setup() { kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" [ ${PV} != "9999" ] && \ - { kernel_is le 3 11 || die "Linux 3.11 is the latest supported version."; } + { kernel_is le 3 12 || die "Linux 3.12 is the latest supported version."; } check_extra_config } diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.2.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.2.ebuild deleted file mode 100644 index 51e15addffce..000000000000 --- a/sys-fs/zfs-kmod/zfs-kmod-0.6.2.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/zfs-kmod-0.6.2.ebuild,v 1.1 2013/08/23 23:20:07 ryao Exp $ - -EAPI="4" - -AT_M4DIR="config" -AUTOTOOLS_AUTORECONF="1" -AUTOTOOLS_IN_SOURCE_BUILD="1" - -inherit bash-completion-r1 flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils - -if [ ${PV} == "9999" ] ; then - inherit git-2 - MY_PV=9999 - EGIT_REPO_URI="git://github.com/zfsonlinux/zfs.git" -else - inherit eutils versionator - MY_PV=$(replace_version_separator 3 '-') - SRC_URI="https://github.com/zfsonlinux/zfs/archive/zfs-${MY_PV}.tar.gz" - S="${WORKDIR}/zfs-zfs-${MY_PV}" - KEYWORDS="~amd64" -fi - -DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs" -HOMEPAGE="http://zfsonlinux.org/" - -LICENSE="CDDL debug? ( GPL-2+ )" -SLOT="0" -IUSE="custom-cflags debug +rootfs" -RESTRICT="test" - -DEPEND=" - =sys-kernel/spl-${PV}* - dev-lang/perl - virtual/awk -" - -RDEPEND="${DEPEND} - !sys-fs/zfs-fuse -" - -pkg_setup() { - linux-info_pkg_setup - CONFIG_CHECK="!DEBUG_LOCK_ALLOC - BLK_DEV_LOOP - EFI_PARTITION - IOSCHED_NOOP - MODULES - !PAX_KERNEXEC_PLUGIN_METHOD_OR - ZLIB_DEFLATE - ZLIB_INFLATE - " - - use rootfs && \ - CONFIG_CHECK="${CONFIG_CHECK} BLK_DEV_INITRD - DEVTMPFS" - - kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" - - [ ${PV} != "9999" ] && \ - { kernel_is le 3 11 || die "Linux 3.11 is the latest supported version."; } - - check_extra_config -} - -src_prepare() { - # Remove GPLv2-licensed ZPIOS unless we are debugging - use debug || sed -e 's/^subdir-m += zpios$//' -i "${S}/module/Makefile.in" - - autotools-utils_src_prepare -} - -src_configure() { - use custom-cflags || strip-flags - filter-ldflags -Wl,* - - set_arch_to_kernel - local myeconfargs=( - --bindir="${EPREFIX}/bin" - --sbindir="${EPREFIX}/sbin" - --with-config=kernel - --with-linux="${KV_DIR}" - --with-linux-obj="${KV_OUT_DIR}" - $(use_enable debug) - ) - autotools-utils_src_configure -} - -src_install() { - autotools-utils_src_install - dodoc AUTHORS COPYRIGHT DISCLAIMER README.markdown - - # Provide /usr/src/zfs symlink for lustre - dosym "$(basename $(echo "${ED}/usr/src/zfs-"*))/${KV_FULL}" /usr/src/zfs -} - -pkg_postinst() { - linux-mod_pkg_postinst - - # Remove old modules - if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/zfs" ] - then - ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/zfs" - ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/zfs" - ewarn "Automatically removing old modules to avoid problems." - rm -r "${EROOT}lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules" - rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon" - fi - - if use x86 || use arm - then - ewarn "32-bit kernels will likely require increasing vmalloc to" - ewarn "at least 256M and decreasing zfs_arc_max to some value less than that." - fi - - ewarn "This version of ZFSOnLinux includes support for features flags." - ewarn "If you upgrade your pools to make use of feature flags, you will lose" - ewarn "the ability to import them using older versions of ZFSOnLinux." - ewarn "Any new pools will be created with feature flag support and will" - ewarn "not be compatible with older versions of ZFSOnLinux. To create a new" - ewarn "pool that is backward compatible, use zpool create -o version=28 ..." -} diff --git a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild index b5c315003ce3..080ecbc62a74 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-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-fs/zfs-kmod/zfs-kmod-9999.ebuild,v 1.17 2013/04/17 14:30:18 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild,v 1.18 2013/11/21 15:47:44 ryao Exp $ EAPI="4" @@ -17,7 +17,8 @@ if [ ${PV} == "9999" ] ; then else inherit eutils versionator MY_PV=$(replace_version_separator 3 '-') - SRC_URI="https://github.com/zfsonlinux/zfs/archive/zfs-${MY_PV}.tar.gz" + SRC_URI="https://github.com/zfsonlinux/zfs/archive/zfs-${MY_PV}.tar.gz + http://dev.gentoo.org/~ryao/dist/${PN}-${MY_PV}-p2.tar.xz" S="${WORKDIR}/zfs-zfs-${MY_PV}" KEYWORDS="~amd64" fi @@ -59,7 +60,7 @@ pkg_setup() { kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" [ ${PV} != "9999" ] && \ - { kernel_is le 3 9 || die "Linux 3.9 is the latest supported version."; } + { kernel_is le 3 12 || die "Linux 3.12 is the latest supported version."; } check_extra_config } @@ -68,6 +69,14 @@ src_prepare() { # Remove GPLv2-licensed ZPIOS unless we are debugging use debug || sed -e 's/^subdir-m += zpios$//' -i "${S}/module/Makefile.in" + if [ ${PV} != "9999" ] + then + # Apply patch set + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}/${PN}-${MY_PV}-patches" + fi + autotools-utils_src_prepare } |