diff options
author | Richard Yao <ryao@gentoo.org> | 2013-05-28 13:07:14 +0000 |
---|---|---|
committer | Richard Yao <ryao@gentoo.org> | 2013-05-28 13:07:14 +0000 |
commit | 4affea6d023f33b2d3ab58e2c4f2f493767828b4 (patch) | |
tree | 597b92514d809b1faee9a1944dd71b6dbea003cf /sys-kernel/spl | |
parent | Version bump (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | sys-kernel/spl/Manifest | 30 | ||||
-rw-r--r-- | sys-kernel/spl/files/spl-0.6.1-fix-delay.patch | 33 | ||||
-rw-r--r-- | sys-kernel/spl/spl-0.6.1-r2.ebuild | 120 |
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 +} |