summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Yao <ryao@gentoo.org>2013-05-28 13:07:14 +0000
committerRichard Yao <ryao@gentoo.org>2013-05-28 13:07:14 +0000
commit4affea6d023f33b2d3ab58e2c4f2f493767828b4 (patch)
tree597b92514d809b1faee9a1944dd71b6dbea003cf /sys-kernel/spl
parentVersion bump (diff)
downloadhistorical-4affea6d023f33b2d3ab58e2c4f2f493767828b4.tar.gz
historical-4affea6d023f33b2d3ab58e2c4f2f493767828b4.tar.bz2
historical-4affea6d023f33b2d3ab58e2c4f2f493767828b4.zip
Fix delay()
Package-Manager: portage-2.2.0_alpha176/cvs/Linux x86_64 Manifest-Sign-Key: 0xBEE84C64
Diffstat (limited to 'sys-kernel/spl')
-rw-r--r--sys-kernel/spl/ChangeLog8
-rw-r--r--sys-kernel/spl/Manifest30
-rw-r--r--sys-kernel/spl/files/spl-0.6.1-fix-delay.patch33
-rw-r--r--sys-kernel/spl/spl-0.6.1-r2.ebuild120
4 files changed, 176 insertions, 15 deletions
diff --git a/sys-kernel/spl/ChangeLog b/sys-kernel/spl/ChangeLog
index d66cfa640a7b..69d95272d0f6 100644
--- a/sys-kernel/spl/ChangeLog
+++ b/sys-kernel/spl/ChangeLog
@@ -1,6 +1,12 @@
# 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.55 2013/04/25 20:30:50 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/ChangeLog,v 1.56 2013/05/28 13:07:09 ryao Exp $
+
+*spl-0.6.1-r2 (28 May 2013)
+
+ 28 May 2013; Richard Yao <ryao@gentoo.org> +files/spl-0.6.1-fix-delay.patch,
+ +spl-0.6.1-r2.ebuild, spl-0.6.1.ebuild:
+ Fix delay()
*spl-0.6.1-r1 (25 Apr 2013)
diff --git a/sys-kernel/spl/Manifest b/sys-kernel/spl/Manifest
index 9e63cdac2af7..23a93a79997b 100644
--- a/sys-kernel/spl/Manifest
+++ b/sys-kernel/spl/Manifest
@@ -14,6 +14,7 @@ AUX spl-0.6.0_rc14-no-cond_resched.patch 1212 SHA256 d561310b6941104190c65dd8864
AUX spl-0.6.0_rc14-simplify-hostid-logic.patch 5604 SHA256 1d8c48e5f9a0df8dc2691f2e861f304fd003ae03e5b47fd0221632a584317188 SHA512 279c9616ac6311cc51a0f052eabd873418e6d599c3ce22d02e777ad0df0f416bf27b04d1f37a094878ad20070a2cc8a1c9b52ac23f74416c05a7c5a565cf0c20 WHIRLPOOL 3763272378ca15e523546637d697c2ea151b17a1714a1e966324dd1b418ac8fe412221d36f680a4de2015efdee75774824db3e5c7371cd3a00155624c517b054
AUX spl-0.6.0_rc9-alias-km-sleep-with-km-pushpage.patch 2071 SHA256 d34d56201046c6464141c50c815a956e200260c4b17a057af2dde6fdb5fcf949 SHA512 8decd4a803b85b46b5c241eeb0dd7b44e0491a972b08094d763a20d5ef21624ff0bbe79e56098600702f78f506e842c8bbfc3bc94067b86531399b0ba0b4285e WHIRLPOOL 5fbe166099b10e1281e5d824e25acd7f4467766d865e6c297dd8b503906b12bc63221babb0fb6e9fade65679a8637489cec16ac3e6e14d54457c9cda858db9db
AUX spl-0.6.1-constify-ctl_table.patch 1545 SHA256 46e53c4d52a94c982419933210f8d8248b0a7c2c8f5ba0fa2085a21942cd0fe4 SHA512 4406463a71081bd0e47c4867f63b58eed5913c46fcdcf4d55b391c6aac2dfc4f27a90c0a2bc9a1a3c46d2397cf2cba115d6d8e792f17914c70e6f4ba96e3a1ae WHIRLPOOL 7c9c77b5c53b118ae8320c0d7e9791ce2b40dbee4e951a244d0f359b3527049f8fd5b761f4e75b9b61d76451627b0a730df7a89cc5b0ae165cdb0580fadd1ce0
+AUX spl-0.6.1-fix-delay.patch 1159 SHA256 0cda36204ca959eab3f5ffbf898830c15c5378be6347121834bee1672f137354 SHA512 2a2481f620c0db033530c6ad69f54b42bb3a0c8e25f47683a4f04f8fb3b26764538a4940e50fd78299e628c69b342f8c46d19eb5a0403ef9ca53caf6016819fe WHIRLPOOL c3584a0da3d80c1954fe5b84690f06a7aeb882cbe047acab6fac30bd637cc23865ef227f8af09dc5a83a93a7101550a83ab375ebde45637a85172a05b147261a
DIST spl-0.6.0-rc10.tar.gz 523189 SHA256 b25a748b18522f38b495f3577905ccd296f2782d1180140a05bd1efa19113ea0 SHA512 c5a01c9d42afcc3c4069b771fed2cbdc20d621994d2709a06057d93aeecc1b15c442cf5bce4cced90ecf7ac841f610e0b55b678e2bde8b853aeefac4402baf19 WHIRLPOOL 961edac42c35b1ecf65748eb2fc9876ed8cf1207307eedaba41a381e519589859ad5bbe468f7b94d563ec954e10c47237b4540f63a7ea211bbf9d92158f06b11
DIST spl-0.6.0-rc11.tar.gz 521190 SHA256 0f39edfb87c444781080e6f60acbd1094e3113cfc85a23d4e997fe0d53ce3a2f SHA512 d85dd2b10f98028ebc77069e63fd54241d7e8290cf81856cfb82648279e736ce108bc02b21993a87b8e8a046c3a3f37c0a3ede4cd32a4fa6be032316b47c5add WHIRLPOOL d49b863321173fa8effdaa338df4b8171e8db54f11b5f789a618ffa6abbdfcba721d2d38c59bac77786fb2d64096ed1e8f65a42f7ad2ab37a581d5e2493c05cb
DIST spl-0.6.0-rc12.tar.gz 546842 SHA256 5352ecfa3bed7807bf4b154121c7f6349d986fea44125bd171240985ef28c898 SHA512 d71db7cc6e8ddec13f90a089a60d9b024f16576ed47b5458b88b7a8efad833b95219d9802c57edf76bfa77e65fd523e31aa768a37f8cd4036c828e7e4cf0534d WHIRLPOOL c6adccbcb9e7c30bead63b94168fc6348cd25ce3348e9e8191797b4100481fb727633760692c8aebb263062b393ae843aeb97718d106ac611e6664d1c5d475b3
@@ -26,24 +27,25 @@ EBUILD spl-0.6.0_rc12-r1.ebuild 2724 SHA256 c823bbd4e526ce3d27470a13c05ae719c7f9
EBUILD spl-0.6.0_rc13-r2.ebuild 2733 SHA256 3fa4d14bc8ab5fe37b37bb864a5aa5626dd00ba476dfac8fe4ffba5fe1ab9800 SHA512 4e4f5072ba99b71d6e6c648f46e24bbea3d8a83a165b5fedcc58c7f24a4516de24ecf2ca6b746f4a30dfa70e3b8e1f25a9ea2138727dbcab6b05c929114fb552 WHIRLPOOL de5356479b58616466140faac63f5b7c2f790568abdb91479a296a64d3696a68f03752dedb8136036ea49715ea30e0c6ba98ffc384501576be84231b1d19b0c1
EBUILD spl-0.6.0_rc14-r3.ebuild 3006 SHA256 9d18af9888114c69a69f4a84c5fe0af68e43e4e129729b2a2d0f222828e19dda SHA512 1ff588df6dd6f807f35eb8b77f348a0cf622eea066f03db8fb777d620ee57184ea50d72842fb37d0ec18b5401c9415e40a9654a3f2f58f55b1d50cfba4336ffb WHIRLPOOL 4cbdaa9397e73774aaeea8bb8ff1d00fcb5368fc0a30cda60fba06e2359663aae12acc9b4dc138eec336ce69e0aa16be61a851e8f06b75ebc1dde021d2380e9f
EBUILD spl-0.6.1-r1.ebuild 2850 SHA256 48d9c911c737f37bca53a8dc29519d0c29cba81370b33ddcc86f29c14cda7119 SHA512 1a57ba557c0ae461d1fd1e69da14d87a02ba5e980bc0e3bdfea76f77d541ddb66c994f2086569d37becdc8b4764a599a91f84bdabb50af696e3b493a0d644f5f WHIRLPOOL 731dfb4367b8bc95087d6f22c1ac8a15d699f6ef2438da0c72cd6a747c47a8bca4a75b77eade3506c4c55c40706ce047652fb622ca55b2d11bdf4c414900e911
+EBUILD spl-0.6.1-r2.ebuild 2956 SHA256 cfcadbad86fa07c5f212be3398052989183f7146a3aecdc225b647461ffc8e4a SHA512 c9b0f1bd90fb9255b4dc0ad819a9dd9638de3340af5d93fd9bfaca6aa34503ec255aed2825d79996660fd86d599d166b9f1ab07945cd179ce540c98289e21182 WHIRLPOOL 1a12c37c9f0f685946a8fcd9b633af56d89f5940a0a54a8f34c84570ff420d6bf93435065985bfc4dd110bb203eafeae11bdf8c1315aafb8c277f7774a31fe05
EBUILD spl-0.6.1.ebuild 2870 SHA256 68059da280a5439cdf32137a42928eb39a6a4406c8586c60e687f360b138d1d0 SHA512 ef887736c9deff020fe3969746bf3a99141e94460cb380d8b0e089c9670bf3277b20cf3eed832b160d5cf82b0e7104ee041000f02aba6ad8d9a68fb1704e00dd WHIRLPOOL 44f70ee945203f80feddad55cdbe2c8732481743175355029c815df0ff5c631e33966ad2e564878256380e2e4c1b75efe54031cc81e3ed26cdf6f4d4782cd325
EBUILD spl-9999.ebuild 2751 SHA256 4d36de6b940b8b6d396587a444fbfd492b963c6a81dbbc3f01409e81f5939158 SHA512 07fce75a9a8e21a1fca41b2a1869557e7021e4269ce7c7099294d98bf56d06cd5bdf6278ec5800e78baad09db52d0f19816fd10ccda84fb736ffa64c16752b49 WHIRLPOOL 4745ff4e05fbe4a6447e64afdabb55c92f4e720be2d66a0d31f54b963f1f80be0d9608d3b8ff7ae8fc98b44343f3e03912617d35961c479b25cee5aac60ecbfe
-MISC ChangeLog 10879 SHA256 618a42fce49e659d4d368583f35272c3ea1664a2384881d3684a4574c0fc3785 SHA512 100ed0ff65b21be635c0ec4dfcb2aa5a91dfd647f2e394e8f12c88639b3db508020396109433bea80d967026e15fd0cf156ac6a741b008e13b4e516540e27631 WHIRLPOOL 894862b89266e7f97b287e7f68312801cde6137676a97cc30c8ff089890a7b5781600e67e73e114338c691bd75a9004e8c547d49cff6fe5788cef40f84d376b1
+MISC ChangeLog 11044 SHA256 9d09e1346fa3ecbd5f9f5bcbd159792b8e78d073856cdf356f4265b10de084a7 SHA512 357bee04d20339197e8093042010feabf244e74486ba456eb2fb74ea84d44bbc470013896bb5cbd60a40f8f51d8755a94484f961716eb2fde6874af69e257437 WHIRLPOOL dd96a8f9db0960a1e95a1e4d6e9204857ab07b27834ea5f1f2bae87116eee0aa17f3f09f05ce024b06be55001a002ecda2b1fd87c27e5fba2b4a0122f2f5159b
MISC metadata.xml 305 SHA256 1379ed630ee72009790f82073e4777a26ca612e0c023825f4a2648266422672e SHA512 ec56bad42e58b3979698fe6607ca1854b018d2292f02f79f6cda070cfe1489b31d9738cfe886597edaca36dbe839a8d909c78f8e4c47b1764b1a0d586df75d33 WHIRLPOOL 11016324ed29ddb27d0c67488e24d15d8d34881a20d21d2807accad014feb4e5b29ceb8d72134f7d8c58d5f83b91c157290c51ea883a5f8007499e73d02acbcd
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQIcBAEBCAAGBQJReZJdAAoJECDuEZm+6ExkPAYP/2QeUgasc2gnDcAOYjV7BU8A
-+8unSxYmAlDZfUHm8/A8cmGe/r5bVZG9TtjeGfrnWFBs5cDuwrHgbDOLh/JPn8/Z
-tbvYAV2ABIXMp0OpsoX1+D8QLPYXcXW0rkPFRtK737PXnPa7ak+8cMNULcx3hG99
-56m3o5WZLpuHFcJSNRSqkmqL9wGl5ypbHWPwmEOaPH5jgaT+rOKxKfs3B7+Tr2kx
-SsrsggcgY/ySSXWG9NIUzZcygL8gASekEwBWDaJGdn9A9bjqoQMdu8YiNdZecZcc
-ix2Vkp/PGHRnxKDn3Gvql887Du34KwMjWN9WeBTIWovq1oBtqGXIfktgy2/MODJi
-Zwr6lb+a91SsjcOY5q29hhw1OAk3ZOl/LoErvAmk1TANyIlHyKsY4PlfpBsd56gy
-iWCkV2CSHg/KYR+jgf8J3BNh9M8B7jyT3Zb+p5UfgA7Z5lyBHzEVjucPS9YEdU5X
-bggZCSwkHfuWBi7T/MYXZgeeCem9FW45BlFl0dsFrJJPZ3Hj1G+HvxyrJiKfNTD2
-IRV1QBnrt6p1JL4dqmIEtBs7Bts6TFkihE93kbbeKt5XnAWMKppGosAdoyAsbQc6
-KCtUfn5gK/USPtZ1EkJrr6lU+VjmeUPv0r8qtLVtL+vZKegmQWylqBUHZgI9rLwd
-q+BQ22ox3CR14+gm/zxR
-=tir8
+iQIcBAEBCAAGBQJRpKveAAoJECDuEZm+6ExkBC0QAJ5cX+//kfk1gHiLD4xhGY7V
+nkQX/Ciw6akKQdX1YVmUaj4bVy1Jomu8VNEGevev7KysQeCIfvdJk7FZkkrwn0D9
+ysJWm7D1yKadvqiksXva5wrFjez46SF5+BTBkwi/0TJSyANflAtjibQCb4P4AayS
+iOH+cQZGz4edVzQZquZva1Y7fnQ/1gPQRswzL+g8kuI3HE2/UZNd3ZkDqeF7WOHG
+YzrPlOuBKdf2GguMBXVOs2rlI9u/guzYpSJckMp+281AAfFT/krKBCw4pZLjACYa
+N0yBQRZP40PK2T1046Ezs5Yi5lo7BoYH670UeWBLwlYqwhPcQ8GnepU/mrJTy3Qm
+8K5iNbx7r19EXqsEGYjLa5SUV4Fur0T8aL37a+Acj467nfI169A92NJkqL0QNsmd
+r8TbcJSZMXPOicBfjyuKtBX4fuUPvcdY/l1xO3pjotofncGMHQeRdUUjg2FmCgKn
+ljO1wEexsohkriUSuqU+2GuMn9lzoV7onWhSBVSj9OkqHavz+NHq23ClF3a5RW+F
+TV4pL/wnw6DIQNoNwbGvrVcbirtwY1TlMUjpbcCHCrwJJuya+VjfKuQLQ2Wo3Vpl
+j0InOlPzcPETb1uIj5kFnGgiW0488G0sg1N8NsVewTGRCYfQnsmtU/zCnwOFW6y+
+/1EcJEpm+jTs6ZIwsFMZ
+=S8Yo
-----END PGP SIGNATURE-----
diff --git a/sys-kernel/spl/files/spl-0.6.1-fix-delay.patch b/sys-kernel/spl/files/spl-0.6.1-fix-delay.patch
new file mode 100644
index 000000000000..42f1f59c7299
--- /dev/null
+++ b/sys-kernel/spl/files/spl-0.6.1-fix-delay.patch
@@ -0,0 +1,33 @@
+From ab59be7bc752481db64df07c821e2ae6bf2ae71b Mon Sep 17 00:00:00 2001
+From: Brian Behlendorf <behlendorf1@llnl.gov>
+Date: Wed, 1 May 2013 16:20:28 -0700
+Subject: [PATCH] Fix delay()
+
+Somewhat amazingly it went unnoticed that the delay() function
+doesn't actually cause the task to block. Since the task state
+is never changed from TASK_RUNNING before schedule_timeout() the
+scheduler allows to task to continue running without any delay.
+Using schedule_timeout_interruptible() resolves the issue by
+correctly setting TASK_UNINTERRUPTIBLE.
+
+Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
+---
+ include/sys/timer.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/sys/timer.h b/include/sys/timer.h
+index 13ef404..2542510 100644
+--- a/include/sys/timer.h
++++ b/include/sys/timer.h
+@@ -35,7 +35,7 @@
+ #define ddi_get_lbolt() ((clock_t)jiffies)
+ #define ddi_get_lbolt64() ((int64_t)get_jiffies_64())
+
+-#define delay(ticks) schedule_timeout((long)(ticks))
++#define delay(ticks) schedule_timeout_uninterruptible(ticks)
+
+ #define SEC_TO_TICK(sec) ((sec) * HZ)
+ #define MSEC_TO_TICK(ms) msecs_to_jiffies(ms)
+--
+1.8.1.6
+
diff --git a/sys-kernel/spl/spl-0.6.1-r2.ebuild b/sys-kernel/spl/spl-0.6.1-r2.ebuild
new file mode 100644
index 000000000000..c4f15151ce76
--- /dev/null
+++ b/sys-kernel/spl/spl-0.6.1-r2.ebuild
@@ -0,0 +1,120 @@
+# 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.1-r2.ebuild,v 1.1 2013/05/28 13:07:09 ryao Exp $
+
+EAPI="4"
+AUTOTOOLS_AUTORECONF="1"
+
+inherit flag-o-matic linux-info linux-mod autotools-utils
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/zfsonlinux/${PN}.git"
+else
+ inherit eutils versionator
+ MY_PV=$(replace_version_separator 3 '-')
+ SRC_URI="https://github.com/zfsonlinux/${PN}/archive/${PN}-${MY_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-${PN}-${MY_PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="The Solaris Porting Layer is a Linux kernel module which provides many of the Solaris kernel APIs"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="custom-cflags debug debug-log"
+RESTRICT="test"
+
+COMMON_DEPEND="dev-lang/perl
+ virtual/awk"
+
+DEPEND="${COMMON_DEPEND}"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-devel/spl"
+
+AT_M4DIR="config"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="
+ !DEBUG_LOCK_ALLOC
+ !GRKERNSEC_HIDESYM
+ MODULES
+ KALLSYMS
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ 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."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" scripts/check.sh || die
+
+ if [ ${PV} != "9999" ]
+ then
+ # Be more like FreeBSD and Illumos when handling hostids
+ epatch "${FILESDIR}/${PN}-0.6.0_rc14-simplify-hostid-logic.patch"
+
+ # Block tasks properly
+ epatch "${FILESDIR}/${PN}-0.6.1-fix-delay.patch"
+
+ spl-0.6.1-fix-delay.patch
+
+ if kernel_is ge 3 8
+ then
+ epatch "${FILESDIR}/${PN}-0.6.1-constify-ctl_table.patch"
+ fi
+ 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
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ $(use_enable debug-log)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ dodoc AUTHORS DISCLAIMER README.markdown
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ # Remove old modules
+ if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/spl" ]
+ then
+ ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/spl"
+ ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/spl"
+ ewarn "Automatically removing old modules to avoid problems."
+ rm -r "${EROOT}lib/modules/${KV_FULL}/addon/spl" || die "Cannot remove modules"
+ rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon"
+ fi
+}