diff options
author | 2014-06-08 17:11:47 +0000 | |
---|---|---|
committer | 2014-06-08 17:11:47 +0000 | |
commit | 7b181dff2921f854d8274381c4c7ac3eaa537ad5 (patch) | |
tree | a60f7a709edfe6bfb8d7ebc1951dd0a3a9f51149 /sys-kernel | |
parent | keyword ~ia64 wrt bug #509628 (diff) | |
download | historical-7b181dff2921f854d8274381c4c7ac3eaa537ad5.tar.gz historical-7b181dff2921f854d8274381c4c7ac3eaa537ad5.tar.bz2 historical-7b181dff2921f854d8274381c4c7ac3eaa537ad5.zip |
Remove ancient SPL versions
Package-Manager: portage-2.2.10/cvs/Linux x86_64
Manifest-Sign-Key: 0xBEE84C64
Diffstat (limited to 'sys-kernel')
-rw-r--r-- | sys-kernel/spl/ChangeLog | 10 | ||||
-rw-r--r-- | sys-kernel/spl/Manifest | 38 | ||||
-rw-r--r-- | sys-kernel/spl/files/spl-0.6.0_rc11-linux-3.6-compat.patch | 258 | ||||
-rw-r--r-- | sys-kernel/spl/files/spl-0.6.0_rc12-fix-3.6-compat-regression.patch | 33 | ||||
-rw-r--r-- | sys-kernel/spl/files/spl-0.6.0_rc12-fix-race-in-slabs.patch | 47 | ||||
-rw-r--r-- | sys-kernel/spl/files/spl-0.6.0_rc12-linux-3.7-compat.patch | 381 | ||||
-rw-r--r-- | sys-kernel/spl/spl-0.6.0_rc10.ebuild | 113 | ||||
-rw-r--r-- | sys-kernel/spl/spl-0.6.0_rc11-r2.ebuild | 111 | ||||
-rw-r--r-- | sys-kernel/spl/spl-0.6.0_rc12-r1.ebuild | 115 |
9 files changed, 23 insertions, 1083 deletions
diff --git a/sys-kernel/spl/ChangeLog b/sys-kernel/spl/ChangeLog index 19d7e2a428f3..66ece1244021 100644 --- a/sys-kernel/spl/ChangeLog +++ b/sys-kernel/spl/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-kernel/spl # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/ChangeLog,v 1.71 2014/05/14 17:38:06 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/spl/ChangeLog,v 1.72 2014/06/08 17:11:38 ryao Exp $ + + 08 Jun 2014; Richard Yao <ryao@gentoo.org> + -files/spl-0.6.0_rc11-linux-3.6-compat.patch, + -files/spl-0.6.0_rc12-fix-3.6-compat-regression.patch, + -files/spl-0.6.0_rc12-fix-race-in-slabs.patch, + -files/spl-0.6.0_rc12-linux-3.7-compat.patch, -spl-0.6.0_rc10.ebuild, + -spl-0.6.0_rc11-r2.ebuild, -spl-0.6.0_rc12-r1.ebuild: + Remove ancient SPL versions 14 May 2014; Richard Yao <ryao@gentoo.org> spl-9999.ebuild: Require CONFIG_DEBUG_INFO for USE=debug on =sys-kernel/spl-9999 diff --git a/sys-kernel/spl/Manifest b/sys-kernel/spl/Manifest index ee35683802f1..67dbc6da479f 100644 --- a/sys-kernel/spl/Manifest +++ b/sys-kernel/spl/Manifest @@ -1,10 +1,6 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 -AUX spl-0.6.0_rc11-linux-3.6-compat.patch 7545 SHA256 babec54aa933e2bf3b068f50a252dc7802a4ab6ff3815c7280c438b032c0305a SHA512 9331e989f9d78acaaeeade1c52ab5724af24ed063c4a327244c3380cc12ba6155ce55fbaa8c8a1a3e5fe662773726ef8d2768c58a7da5bec0e195198b6dfa4eb WHIRLPOOL 29b80515a9f45d232569770b18057926b183f7115d63f82572342ae3f1b97042403cdc58eea434a9ca029e9ea6aea0dd7cd66e1f6a8e97ba5d3f9a7a2fa92008 -AUX spl-0.6.0_rc12-fix-3.6-compat-regression.patch 1005 SHA256 6c245b2477532fa215da104813157be6c0aefbd7f31f008a8b7f8107b8f8a49f SHA512 7a14a020fc7320edb7c2486bf1fa2fbf79a0445083c711e2c7f2dadd77d784bccda299bc647e99a6dc19b9d51b5b01bf11d7365337904215f5c7f0fefbbf7028 WHIRLPOOL cfa5847876458f979f2d162ec8d4cc04acf5a92f1b3ddc3b0b74342ee947b770851296698fbf345813664454c24cc388a8724b208013c0532a7b8022f6e63f51 -AUX spl-0.6.0_rc12-fix-race-in-slabs.patch 1822 SHA256 6375b164125e1a7a8e022b09405eb3cef911f5ce40840d8ddfde39fcd21c79a7 SHA512 2401082aab5747d957b49f17ab08cbc0565597eacf48a58def0cb8043903c929a5d6cbde09ac833e1ff56fef291e50fe50e3e41b2b5719a392fe5ff382e298b4 WHIRLPOOL 985986edb62dbec2a7ae4ac7338d31a1c02c175fa2b550506785207ccbddf32410b9b79eb878ca395ff77b030b6a8db532440521637e3dfb4ba33f189df5c1ea -AUX spl-0.6.0_rc12-linux-3.7-compat.patch 12915 SHA256 f28d19df37718def641649b90ace5a00063bd9789e999cfcf696fe6374492123 SHA512 9352eb2bc7733dd029cf5ecd17c0e1a981ca65e839fffc367c9f6e786c0a374f797a70e6439d026999b31e824de0b97eab7ef5fb324c626964758d48eb5549a2 WHIRLPOOL 2af6b22e0ab0960cd923403f96ec7752a10c19efbf611b2c24f72d75b302aa6de4c1ee32f2af44a03e65fb17baab92574a4b667b13746538c7cdd2dc2540c48c AUX spl-0.6.0_rc13-fix-on_each_cpu-autotools-check.patch 1508 SHA256 1ef61882e689ed1182b0e77a3b27ba108f18fccff7311462d9c8aef29dfa9056 SHA512 b9bf99b52f3135cb5ae017409ad773e7741536ed6c7181cccb8d97aa627a000417b24971818894dbfa0158a81f4a1be7a9627896b69d4f13988a99f1a39c0bfe WHIRLPOOL 9356a518a1d4a661c4a706347d00b2ec2873198fab379d5a644dde0fc4749f43a9ee542bcf65884de25b97a0e75668a2bd741ce4878ac80c398346eef4b55884 AUX spl-0.6.0_rc13-fix-soft-lockup.patch 6154 SHA256 85173dcdd261f6aebee9e04098201c58164a74ba01d4a8775d6fb3c7c197c69c SHA512 bbc4d30be0f4425cc1f6076f1ed8d572a8255052f194ad47bde7a9b837689786dcf131326d50f8d4e23d8f0bbf79ce438c273fa33f7c98cdf0bb94c4673c4a0d WHIRLPOOL c4a7efb0858a92da466a69db14f4559188a7f731da7eeaf4f17470a17acb60d81da41c22b6801116d23eb71e4c449097f2ce2af386fd6c3aa915ef7718f49dae AUX spl-0.6.0_rc14-fix-atomic64-checks.patch 2327 SHA256 f3254d8c739ddd013ab99619e11263b5591058012cc9da0c066f60da7d3d52ad SHA512 90e2874904600ad191eb594b9ace2ab85c01943b1c5e190fc89b0b91e322aa30a4a32ecd8a407c14b9f1a103676c9956ce03ae5b7ebbd4ee7b962e86b7565245 WHIRLPOOL 59fb9f8544b1e7698e130985f3b95ad0ff419f8abffc705216f6236ac042b16a1bb7dafda586fed51d6fe2761b10e584f675a03b06a89ca503f6e92e9af87f58 @@ -17,9 +13,6 @@ AUX spl-0.6.1-builtin-fix.patch 742 SHA256 32e7f741a73f6c644fd691a72db927d90ee9f 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 AUX spl-0.6.1-linux-3.10-compat.patch 11835 SHA256 8e6cc3ecf7e8cb662148d3af2771949ee80726fcf3de2c543a9031b109222dce SHA512 5632532c8361d8bbe2776c8d28c5825925a61f844af6016970058644f3707990f48508b4f041039eee7b0b5ac0af0edb51c6dcca883671865568da9d0bfb7206 WHIRLPOOL 06d20aa7320a554fb48a602a9ea560efe1998b03f9509a4d86c6975df69f15b64081ea57226b5fba4ce059915151eb88c67f50051524e9e3108f47787afffce8 -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 DIST spl-0.6.0-rc13.tar.gz 210192 SHA256 500d9c9297f2b7abdc4fce43efe05dddda2edbe403f9ca76d01ae632f798ee1f SHA512 630b63c15e98ada397bc8b8a1a5b6a48255ffa5d7fad8dd0ed9ad7fbede32f3557651effcc99234ffef1a1b9bb13e289c0ca5a2cf60307e0a57ac3a93b709f6b WHIRLPOOL 9330dd1567421e610a714b69d096bbae66c102baaf90fa3daed45cc1a2928eb3dd0e8537f3cf83a7fb2b157bf52ff37b031bcf6c9f52760acd6e480ad335b69a DIST spl-0.6.0-rc14.tar.gz 210495 SHA256 92785e2c2c6caf93ec31175e192a18b27458613a99e6578041f6029875b061e3 SHA512 85d066a97d62ce60f60c552d121c20d5a719e95e0eb6d7ec1b10e29acca1e3429a751bcbb811e9cee2a14282c8908684cb9ee0df9cbc8e53ddfe47da18df4cf9 WHIRLPOOL 6473236476dd9a2d392e2f71fee6810ed83e68f309d1eaaa5fbad1f73ae567ad629db97a2bc81a4ad9e28991f4be3d4100c1b9ab0f65941206afe6e5b03f64ab DIST spl-0.6.1.tar.gz 213191 SHA256 24d73eeeb0b08bcc162342c5236f116b90ed0a2e69344ae34de744f61c2e3663 SHA512 116117235b4730b5e7041107188747fa2872fb204a08d67a03e1ec95d6302ca57aa17edd12e6f9284492a844e60d446a25d1172d7a2ce53075c36bd889879b31 WHIRLPOOL 4554eb9ba4a2b60fbfc7d73ada4b5c7ce20b26d6655f0a8d9fe5479d11124acc27cf2ba6eab5af4e4a08c886b06687dcbb656322c8e26c43f07b4066770f9a4d @@ -29,9 +22,6 @@ DIST spl-0.6.2-p2.tar.xz 8264 SHA256 2fb106eda86a19aa01ff33a74bc71e84facba82f67e DIST spl-0.6.2-p3.tar.xz 8676 SHA256 8544b8f4bcbb29b61cae58d750fc442683a1ed200b58d90c7e0886eb812b3dc2 SHA512 a298765a1cb396192a08b2f8e4a1cffdbf50e3b720ae48b262958659386efa0ad4fc4550192c8bf672abc5a1c309ff2b1b6d64307bfb0ab29023a0adfa9ac858 WHIRLPOOL ca9e97e0fb52b5506fd3f410ef00fab05cfb01aed4727702c52e31f527967ae6c22d8bafb8f8faf039e937f5f32d446ef05c04e0adf0b8c8acfe26ff18507a75 DIST spl-0.6.2-p4.tar.xz 9076 SHA256 8b434bb53da79c5adb5339b36bddf4d19c4e8d5df7a8a5d2a4ca1bcf7336094e SHA512 77ca1ce0235edb85cf36243ad45710ee8759dcc49bacddc661a986d558eb9cd92671ce256c88287e056732882a038b12bb0d9ae131229819702a06de18c50bc1 WHIRLPOOL afc335ba0a7d24a610f272e6a65460326b91ab91652bf66525e14110a811b2490de65847560989f793aab8d473794c56836e438cb7f1e19d4e253373178f0a72 DIST spl-0.6.2.tar.gz 215032 SHA256 a8147eaba030ca71bf8c47b46a2c7ae92f9b4ef60aa8ccfa7368f395faeb85ac SHA512 ef5b77046259ec754e0a41f90b51c27207bf91e832d54a8502232b19cfaff711de301f24945ca739faeac2544b3ef22a57f58cf6298d756a1ebaff06f765b8a9 WHIRLPOOL ab7229691a6f56ab3f98513fd0e32048c11dd7cf3ea61e438bac2d97ebd8cd92eeeb422ef1c4e639572feb3e8f69c0840b861f654ca31de481601ef54295be37 -EBUILD spl-0.6.0_rc10.ebuild 2761 SHA256 7761c60372ff8dd15a42b3f0465677a0e5ea68d1a52669760027e93e98980b14 SHA512 77095f7fb504fe7c3dfbd7e7443c11f831d7cd08ec06b74249717fec77102d6ce715dee93092fbcc57a052824731a14e98b25f55793b505f90af1dc10ae376a6 WHIRLPOOL 6ff9e6b13268e64ce2fbfb933371a926da2d3308df583c353ace6053042f9504bb8d0ad0d9838ced4e1d1b87b384384bf8c35c4fe493f9637fc48a6745b25aa5 -EBUILD spl-0.6.0_rc11-r2.ebuild 2662 SHA256 38352e8e8bb40dcafd2232482db0266fb32008f0e35db3d0e8fa69c10d90a67c SHA512 a4ea604509da4fb98c48303c590e281fd1c576c4a6c57db3c73eb93fd90fa8135c18a9efe72a8084bd210a1aab69d6107c4865a58bebecf36e3c39f56dabc4b1 WHIRLPOOL f5186bb6e14cee091627727d4a227d0bb5900f7cf7a74a7adb6e1b4191b6001ae9de1f8e58674233b046725eabd6585a8284e6651d9aa7299c6a50826b1cc3ac -EBUILD spl-0.6.0_rc12-r1.ebuild 2724 SHA256 c823bbd4e526ce3d27470a13c05ae719c7f94ff58e4b50d66bbfde868081515e SHA512 15befd724862470a2be2a5add12d100bf7150a43c414bfbac6b2e9dc8e8b35f7de5d44319b353bd5de2ef8f7349b5c4b6815fe191635f2f7d524dd315276b3fc WHIRLPOOL 960a2588d412b671f92bd1aa464ca4d62a4f5c42ae826c9c4913d667022f5c8b04ca85c25763c06ef118126690e276c5f8112e62687f893dedcb8b3400b5368f 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-r3.ebuild 3168 SHA256 9d6497c36ac7f7c90ce277a529e80010e71f498b6dfc8f794c03cf85d664b813 SHA512 9f56c5f34a639c81fd6e165ddd03a51627a915a3e3339c39c29f75b02d790ffdbfe3693c2a306deb36dbb02540b7e81775f0a40f17e37f287f06a7caa9c98097 WHIRLPOOL 892988b98edd8dae4a92049dd369ca419e69a905fc839316218efb43b4f7c43e47f1a546ac1f8f4aed04081ac086d23391206eaeba2fc56773f617a8dff8ca05 @@ -42,23 +32,23 @@ EBUILD spl-0.6.2-r4.ebuild 2803 SHA256 cd33ed179b9d6cc85502e679c252c55717235838a EBUILD spl-0.6.2-r5.ebuild 2803 SHA256 4f7cb43fb7520e95297c896473f2797731f71883e8b950230932192036b04405 SHA512 a1726f60a74f9725faf8836d9dfcee05ff7a29bd0870957d1a8266dc2b6809b211f5f5d1fc17e02744c12b8234e4d431b5433b36157de14a519c1f6e9dbabbe7 WHIRLPOOL 56a1e1a0aee7fe51a35c19dd91a7bcfec46e08e2bfed3adc12667bb7092b2e5c6e6fced223b940efc0c91c983f155b3839813f8fac272eb1282b666baee9d01f EBUILD spl-0.6.2.ebuild 2753 SHA256 ec4e5bf742b024f947cf67c29b173da8d116f307b07c4b8133f916ffc4597dcd SHA512 c0ed093310bcea33564b3c621dc9e72cdfc46c0edd20c026a1dbcbee02d56154e1c9829b65d7a10db2dc615f688c45c6766b42dd86e8e078961cbfb05df1cf19 WHIRLPOOL c892c44a627e871584b2da17ac427824d051933b725b6e482e0856f7ee8f5d32dd903c285a8fddede5b8e143b9da2e5a28c0021be5f9519d6955e450b7193cee EBUILD spl-9999.ebuild 2823 SHA256 2aea3d789ec89bf74ea6c26e572c47d8ab382f65ae20ae146e159890b363ea0f SHA512 cec91ace2c4b4fb135ab9cb39264cde74909a03d46545c6f3fea5126f96fd8eee05829c793d70bbfcd508e9c9cce0b4fd6774ca82e15c2667dc522aca030731e WHIRLPOOL 8f7a1e4f3bc1936ebb995f8d241efca7371f56a5afaad851eea3ef54749feba41114812e25b5cf400c54e5ba94ccea3a59cd1dd42e4ef055758af6c24c48525d -MISC ChangeLog 13572 SHA256 9983c64247f1f45c33e7833d1a50205430445974f6443707b402e289689c5246 SHA512 fce275f68e493b59ea3b7da082112f047ce70e12f691904f41721fc33d748ddc28e5d0c851bc935c76ed484c81b879d19054816f6ade165f7bc46be23940a7dc WHIRLPOOL aebcf0b584c30d30d093736e36fdd66ee54b30b802f00028cd7479da0d1cbda83ea9785d375540eef3241dc3957282860a72784e7f583109c98edb1f2c573edd +MISC ChangeLog 13930 SHA256 a976d225c129c9ec5b41e0db714d8f8cffd72a3ffc6a4b0ee40bbf86e4524880 SHA512 62db2889b6a987079c77213da67404d4f2bd86a089323c6b8c9b22640c2e65e3668d52d57674711f7d2b74461c76c162b6a3828e38dc50ef2abda36ab991d772 WHIRLPOOL b3ab1626e069563ca5707b0d0a73f5fbd8b4f08b48ca3c8e93c61d88943a190960a62f499a5f9590341e6c5962c5a33b4deea519b75c3d9756631a6d6555e4b8 MISC metadata.xml 305 SHA256 1379ed630ee72009790f82073e4777a26ca612e0c023825f4a2648266422672e SHA512 ec56bad42e58b3979698fe6607ca1854b018d2292f02f79f6cda070cfe1489b31d9738cfe886597edaca36dbe839a8d909c78f8e4c47b1764b1a0d586df75d33 WHIRLPOOL 11016324ed29ddb27d0c67488e24d15d8d34881a20d21d2807accad014feb4e5b29ceb8d72134f7d8c58d5f83b91c157290c51ea883a5f8007499e73d02acbcd MISC spl-9999.ebuild.orig 2751 SHA256 4d36de6b940b8b6d396587a444fbfd492b963c6a81dbbc3f01409e81f5939158 SHA512 07fce75a9a8e21a1fca41b2a1869557e7021e4269ce7c7099294d98bf56d06cd5bdf6278ec5800e78baad09db52d0f19816fd10ccda84fb736ffa64c16752b49 WHIRLPOOL 4745ff4e05fbe4a6447e64afdabb55c92f4e720be2d66a0d31f54b963f1f80be0d9608d3b8ff7ae8fc98b44343f3e03912617d35961c479b25cee5aac60ecbfe -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) -iQIcBAEBCAAGBQJTc6npAAoJECDuEZm+6ExkE2cP/iwz/scPp8je9BK+uCFtPy9A -E65sfLc1/OMNqOJ7KaF+Oi3nsEJwrlUx2/PCF3J8vQ6ztBeIevR7roSETHUSIm6Q -PMYFATkDmxpWl1Rg4OY1HgLnS8I899trYgfX75Vq7WPDfJCdC+sdCUtBBKcLodmM -I1s4hGlcIhPB2mvTttnpWGwnZ0OIYJXJQk991jcvc1Ge/GesTLQzyFfvtFD8fhCR -aweRjM+Krfj7pQbfj+j4P+IRi3sijYXyyOEZpIJtSw/2hi1ayDrfgDnYMXqFnnyV -EK0pJZ4Z0VV+o/SbBem8wQf/hsnA3bKQI8dYNjpAjqf5FEh2v6RkUsrCL1V/L/78 -hpwLkPlS8ifLDVUrg+uMIQra37jGF/kH+zbsp3+jdmxvWvFk8x7+y3K5n/FeHybm -bfFQRuYdM+0bZrFzchd/rioUEEAKCuSfhpm5mpl5TJcb4jBSETFBmzNVFkL56291 -FXI571MSQ1OoXtZKs4YHR/T0fgbt4Q4kcwShSPj1eG+45oQfRpMqYneeD97a4pVA -pCldUs5l1o9yzXVIDVoIt4DSJoXJhFYhmKsA936dI38MYkncm7Z9yDE9F5RDjzCB -/cRDu+J4NDgCkw4lij/4N4x4ElF8n1R4HcaVaG4sekocNki3lkSt1C2fqfed+Ei2 -hlcTCIwlwBn3S4Pfcjsd -=xkC1 +iQIcBAEBCAAGBQJTlJlkAAoJECDuEZm+6Exkv28P/j8Fb3j7JyDSh3OVr+WNfnK0 +nE5YRI9DwOgqx06gCmankIOqLUzmFkl+ampE7Gua+bYB+j8V1jxOhAFBnpEA+lHy +wcZ+KM5GmaID+G11zbbDu89USUyadlOUQyp/sGz91fDKYF8tMTD//nSRA2L5Memv +doKqaGhDEN16dS/PMw6EDbhC/NYqNqZnsC96SO+EZQyLxRL83clqebO0YKJX9uLl +wy3v2RJYmoOgO+ZjCUjkcwJqZl+D0RSwRLS91TVhqyfyvKjK1wH0ATgf9pz7pmQQ +H2UP3PPtNTKj/5y6ZovOOhlopQt3KjL9MxDlMFtm6QLzK/UZ093fIxOTqtlX8smK +t1QHozKP02icXS6sMaM0yRjH7PRlvlwIJNtnZxkiWZ99NlfW2kZcVHCTDTzOW3zq +DJOkiEYxxHWHi1Q3tlYndCFXppSmbU6NB0znvHEZJoMn3JYRvCrh+ES7dnfn4DW0 +rPX3ePZtzefXrxmCEoCVr7CAPcNzEm9u67GBSPMgPdeVO1bXMbtCYCB3CcKvP9jB +U0X3FvIXbTwjiRgXgcUaqUW2ZYzdgxs7HZVL7GW9uEVlp1KLXO2lhYraUD75jb/D +LfYC7INEkznGoDuXbi17iJdwMFWAocOsTN9MIAevh61o573EFWzntxWqxzj6cECG +YMZkirE8LTFfhs12iuuW +=ypwY -----END PGP SIGNATURE----- diff --git a/sys-kernel/spl/files/spl-0.6.0_rc11-linux-3.6-compat.patch b/sys-kernel/spl/files/spl-0.6.0_rc11-linux-3.6-compat.patch deleted file mode 100644 index 92676186c30f..000000000000 --- a/sys-kernel/spl/files/spl-0.6.0_rc11-linux-3.6-compat.patch +++ /dev/null @@ -1,258 +0,0 @@ -From bcb15891ab394e11615eee08bba1fd85ac32e158 Mon Sep 17 00:00:00 2001 -From: Yuxuan Shui <yshuiv7@gmail.com> -Date: Thu, 11 Oct 2012 22:41:33 +0800 -Subject: [PATCH] Linux 3.6 compat, kern_path_locked() added - -The kern_path_parent() function was removed from Linux 3.6 because -it was observed that all the callers just want the parent dentry. -The simpler kern_path_locked() function replaces kern_path_parent() -and does the lookup while holding the ->i_mutex lock. - -This is good news for the vn implementation because it removes the -need for us to handle the locking. However, it makes it harder to -implement a single readable vn_remove()/vn_rename() function which -is usually what we prefer. - -Therefore, we implement a new version of vn_remove()/vn_rename() -for Linux 3.6 and newer kernels. This allows us to leave the -existing working implementation untouched, and to add a simpler -version for newer kernels. - -Long term I would very much like to see all of the vn code removed -since what this code enabled is generally frowned upon in the kernel. -But that can't happen util we either abondon the zpool.cache file -or implement alternate infrastructure to update is correctly in -user space. - -Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com> -Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> -Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> -Closes #154 ---- - config/spl-build.m4 | 16 +++++ - include/linux/file_compat.h | 6 ++ - module/spl/spl-vnode.c | 136 +++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 158 insertions(+) - -diff --git a/config/spl-build.m4 b/config/spl-build.m4 -index 0c7a03c..eb644a1 100644 ---- a/config/spl-build.m4 -+++ b/config/spl-build.m4 -@@ -86,6 +86,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [ - SPL_AC_SHRINK_ICACHE_MEMORY - SPL_AC_KERN_PATH_PARENT_HEADER - SPL_AC_KERN_PATH_PARENT_SYMBOL -+ SPL_AC_KERN_PATH_LOCKED - SPL_AC_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE - SPL_AC_SHRINK_CONTROL_STRUCT - SPL_AC_RWSEM_SPINLOCK_IS_RAW -@@ -2188,6 +2189,21 @@ AC_DEFUN([SPL_AC_KERN_PATH_PARENT_SYMBOL], - ]) - - dnl # -+dnl # 3.6 API compat, -+dnl # The kern_path_parent() function was replaced by the kern_path_locked() -+dnl # function to eliminate all struct nameidata usage outside fs/namei.c. -+dnl # -+AC_DEFUN([SPL_AC_KERN_PATH_LOCKED], [ -+ SPL_CHECK_SYMBOL_HEADER( -+ [kern_path_locked], -+ [struct dentry \*kern_path_locked(const char \*, struct path \*)], -+ [include/linux/namei.h], -+ [AC_DEFINE(HAVE_KERN_PATH_LOCKED, 1, -+ [kern_path_locked() is available])], -+ []) -+]) -+ -+dnl # - dnl # 2.6.39 API compat, - dnl # The function zlib_deflate_workspacesize() now take 2 arguments. - dnl # This was done to avoid always having to allocate the maximum size -diff --git a/include/linux/file_compat.h b/include/linux/file_compat.h -index 2b5b7d2..27819d5 100644 ---- a/include/linux/file_compat.h -+++ b/include/linux/file_compat.h -@@ -83,6 +83,12 @@ - # define spl_kern_path_parent(path, nd) path_lookup(path, LOOKUP_PARENT, nd) - #endif /* HAVE_KERN_PATH_PARENT_HEADER */ - -+#ifdef HAVE_KERN_PATH_LOCKED -+typedef struct dentry * (*kern_path_locked_t)(const char *, struct path *); -+extern kern_path_locked_t kern_path_locked_fn; -+# define spl_kern_path_locked(name, path) kern_path_locked_fn(name, path) -+#endif /* HAVE_KERN_PATH_LOCKED */ -+ - #ifndef HAVE_CLEAR_CLOSE_ON_EXEC - #define __clear_close_on_exec(fd, fdt) FD_CLR(fd, fdt->close_on_exec) - #endif -diff --git a/module/spl/spl-vnode.c b/module/spl/spl-vnode.c -index f5fc65d..a0fed32 100644 ---- a/module/spl/spl-vnode.c -+++ b/module/spl/spl-vnode.c -@@ -50,6 +50,10 @@ - #endif /* HAVE_KERN_PATH_PARENT_SYMBOL */ - #endif /* HAVE_KERN_PATH_PARENT_HEADER */ - -+#ifdef HAVE_KERN_PATH_LOCKED -+kern_path_locked_t kern_path_locked_fn = SYMBOL_POISON; -+#endif /* HAVE_KERN_PATH_LOCKED */ -+ - vtype_t - vn_mode_to_vtype(mode_t mode) - { -@@ -298,6 +302,128 @@ - } - EXPORT_SYMBOL(vn_seek); - -+#ifdef HAVE_KERN_PATH_LOCKED -+/* Based on do_unlinkat() from linux/fs/namei.c */ -+int -+vn_remove(const char *path, uio_seg_t seg, int flags) -+{ -+ struct dentry *dentry; -+ struct path parent; -+ struct inode *inode = NULL; -+ int rc = 0; -+ SENTRY; -+ -+ ASSERT(seg == UIO_SYSSPACE); -+ ASSERT(flags == RMFILE); -+ -+ dentry = spl_kern_path_locked(path, &parent); -+ rc = PTR_ERR(dentry); -+ if (!IS_ERR(dentry)) { -+ if (parent.dentry->d_name.name[parent.dentry->d_name.len]) -+ SGOTO(slashes, rc = 0); -+ -+ inode = dentry->d_inode; -+ if (!inode) -+ SGOTO(slashes, rc = 0); -+ -+ if (inode) -+ ihold(inode); -+ -+ rc = vfs_unlink(parent.dentry->d_inode, dentry); -+exit1: -+ dput(dentry); -+ } -+ -+ spl_inode_unlock(parent.dentry->d_inode); -+ if (inode) -+ iput(inode); /* truncate the inode here */ -+ -+ path_put(&parent); -+ SRETURN(-rc); -+ -+slashes: -+ rc = !dentry->d_inode ? -ENOENT : -+ S_ISDIR(dentry->d_inode->i_mode) ? -EISDIR : -ENOTDIR; -+ SGOTO(exit1, rc); -+} /* vn_remove() */ -+EXPORT_SYMBOL(vn_remove); -+ -+/* Based on do_rename() from linux/fs/namei.c */ -+int -+vn_rename(const char *oldname, const char *newname, int x1) -+{ -+ struct dentry *old_dir, *new_dir; -+ struct dentry *old_dentry, *new_dentry; -+ struct dentry *trap; -+ struct path old_parent, new_parent; -+ int rc = 0; -+ SENTRY; -+ -+ old_dentry = spl_kern_path_locked(oldname, &old_parent); -+ if (IS_ERR(old_dentry)) -+ SGOTO(exit, rc = PTR_ERR(old_dentry)); -+ -+ spl_inode_unlock(old_parent.dentry->d_inode); -+ -+ new_dentry = spl_kern_path_locked(newname, &new_parent); -+ if (IS_ERR(new_dentry)) -+ SGOTO(exit2, rc = PTR_ERR(new_dentry)); -+ -+ spl_inode_unlock(new_parent.dentry->d_inode); -+ -+ rc = -EXDEV; -+ if (old_parent.mnt != new_parent.mnt) -+ SGOTO(exit3, rc); -+ -+ old_dir = old_parent.dentry; -+ new_dir = new_parent.dentry; -+ trap = lock_rename(new_dir, old_dir); -+ -+ /* source should not be ancestor of target */ -+ rc = -EINVAL; -+ if (old_dentry == trap) -+ SGOTO(exit4, rc); -+ -+ /* target should not be an ancestor of source */ -+ rc = -ENOTEMPTY; -+ if (new_dentry == trap) -+ SGOTO(exit4, rc); -+ -+ /* source must exist */ -+ rc = -ENOENT; -+ if (!old_dentry->d_inode) -+ SGOTO(exit4, rc); -+ -+ /* unless the source is a directory trailing slashes give -ENOTDIR */ -+ if (!S_ISDIR(old_dentry->d_inode->i_mode)) { -+ rc = -ENOTDIR; -+ if (old_dentry->d_name.name[old_dentry->d_name.len]) -+ SGOTO(exit4, rc); -+ if (new_dentry->d_name.name[new_dentry->d_name.len]) -+ SGOTO(exit4, rc); -+ } -+ -+#ifdef HAVE_4ARGS_VFS_RENAME -+ rc = vfs_rename(old_dir->d_inode, old_dentry, -+ new_dir->d_inode, new_dentry); -+#else -+ rc = vfs_rename(old_dir->d_inode, old_dentry, oldnd.nd_mnt, -+ new_dir->d_inode, new_dentry, newnd.nd_mnt); -+#endif /* HAVE_4ARGS_VFS_RENAME */ -+exit4: -+ unlock_rename(new_dir, old_dir); -+exit3: -+ dput(new_dentry); -+ path_put(&new_parent); -+exit2: -+ dput(old_dentry); -+ path_put(&old_parent); -+exit: -+ SRETURN(-rc); -+} -+EXPORT_SYMBOL(vn_rename); -+ -+#else - static struct dentry * - vn_lookup_hash(struct nameidata *nd) - { -@@ -458,6 +584,7 @@ - SRETURN(-rc); - } - EXPORT_SYMBOL(vn_rename); -+#endif /* HAVE_KERN_PATH_LOCKED */ - - int - vn_getattr(vnode_t *vp, vattr_t *vap, int flags, void *x3, void *x4) -@@ -862,6 +989,15 @@ int spl_vn_init_kallsyms_lookup(void) - #endif /* HAVE_KERN_PATH_PARENT_SYMBOL */ - #endif /* HAVE_KERN_PATH_PARENT_HEADER */ - -+#ifdef HAVE_KERN_PATH_LOCKED -+ kern_path_locked_fn = (kern_path_locked_t) -+ spl_kallsyms_lookup_name("kern_path_locked"); -+ if (!kern_path_locked_fn) { -+ printk(KERN_ERR "Error: Unknown symbol kern_path_locked\n"); -+ return -EFAULT; -+ } -+#endif -+ - return (0); - } - --- -1.7.10 - diff --git a/sys-kernel/spl/files/spl-0.6.0_rc12-fix-3.6-compat-regression.patch b/sys-kernel/spl/files/spl-0.6.0_rc12-fix-3.6-compat-regression.patch deleted file mode 100644 index df024a6bcd81..000000000000 --- a/sys-kernel/spl/files/spl-0.6.0_rc12-fix-3.6-compat-regression.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 053678f3b0572db442551dfa547dea939f45c96b Mon Sep 17 00:00:00 2001 -From: Brian Behlendorf <behlendorf1@llnl.gov> -Date: Mon, 3 Dec 2012 12:01:28 -0800 -Subject: [PATCH] Handle errors from spl_kern_path_locked() - -When the Linux 3.6 KERN_PATH_LOCKED compatibility code was added -by commit bcb1589 an entirely new vn_remove() implementation was -added. That function did not properly handle an error from -spl_kern_path_locked() which would result in an panic. This -patch addresses the issue by returning the error to the caller. - -Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> -Closes #187 ---- - module/spl/spl-vnode.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/module/spl/spl-vnode.c b/module/spl/spl-vnode.c -index a0fed32..0ecd9ad 100644 ---- a/module/spl/spl-vnode.c -+++ b/module/spl/spl-vnode.c -@@ -332,6 +332,8 @@ - rc = vfs_unlink(parent.dentry->d_inode, dentry); - exit1: - dput(dentry); -+ } else { -+ return (-rc); - } - - spl_inode_unlock(parent.dentry->d_inode); --- -1.7.10 - diff --git a/sys-kernel/spl/files/spl-0.6.0_rc12-fix-race-in-slabs.patch b/sys-kernel/spl/files/spl-0.6.0_rc12-fix-race-in-slabs.patch deleted file mode 100644 index 41b14c55c085..000000000000 --- a/sys-kernel/spl/files/spl-0.6.0_rc12-fix-race-in-slabs.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 043f9b57247eafb8e28e7b9465470ece87090228 Mon Sep 17 00:00:00 2001 -From: Brian Behlendorf <behlendorf1@llnl.gov> -Date: Mon, 26 Nov 2012 16:52:28 -0800 -Subject: [PATCH] Disable FS reclaim when allocating new slabs - -Allowing the spl_cache_grow_work() function to reclaim inodes -allows for two unlikely deadlocks. Therefore, we clear __GFP_FS -for these allocations. The two deadlocks are: - -* While holding the ZFS_OBJ_HOLD_ENTER(zsb, obj1) lock a function - calls kmem_cache_alloc() which happens to need to allocate a - new slab. To allocate the new slab we enter FS level reclaim - and attempt to evict several inodes. To evict these inodes we - need to take the ZFS_OBJ_HOLD_ENTER(zsb, obj2) lock and it - just happens that obj1 and obj2 use the same hashed lock. - -* Similar to the first case however instead of getting blocked - on the hash lock we block in txg_wait_open() which is waiting - for the next txg which isn't coming because the txg_sync - thread is blocked in kmem_cache_alloc(). - -Note this isn't a 100% fix because vmalloc() won't strictly -honor __GFP_FS. However, it practice this is sufficient because -several very unlikely things must all occur concurrently. - -Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> -Issue zfsonlinux/zfs#1101 ---- - module/spl/spl-kmem.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/module/spl/spl-kmem.c b/module/spl/spl-kmem.c -index f3113e0..b171d44 100644 ---- a/module/spl/spl-kmem.c -+++ b/module/spl/spl-kmem.c -@@ -1773,7 +1773,7 @@ static int spl_cache_flush(spl_kmem_cache_t *skc, - - atomic_inc(&skc->skc_ref); - ska->ska_cache = skc; -- ska->ska_flags = flags; -+ ska->ska_flags = flags & ~__GFP_FS; - spl_init_delayed_work(&ska->ska_work, spl_cache_grow_work, ska); - schedule_delayed_work(&ska->ska_work, 0); - } --- -1.7.10 - diff --git a/sys-kernel/spl/files/spl-0.6.0_rc12-linux-3.7-compat.patch b/sys-kernel/spl/files/spl-0.6.0_rc12-linux-3.7-compat.patch deleted file mode 100644 index d06b031466f8..000000000000 --- a/sys-kernel/spl/files/spl-0.6.0_rc12-linux-3.7-compat.patch +++ /dev/null @@ -1,381 +0,0 @@ -From b84412a6e8a1d22780a8203e00049c6e43efacac Mon Sep 17 00:00:00 2001 -From: Brian Behlendorf <behlendorf1@llnl.gov> -Date: Fri, 30 Nov 2012 15:46:30 -0800 -Subject: [PATCH] Linux compat 3.7, kernel_thread() - -The preferred kernel interface for creating threads has been -kthread_create() for a long time now. However, several of the -SPLAT tests still use the legacy kernel_thread() function which -has finally been dropped (mostly). - -Update the condvar and rwlock SPLAT tests to use the modern -interface. Frankly this is something we should have done a -long time ago. - -Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> -Closes #194 ---- - module/splat/splat-condvar.c | 70 +++++++++++++++++++++--------------------- - module/splat/splat-rwlock.c | 57 ++++++++++++++++------------------ - 2 files changed, 61 insertions(+), 66 deletions(-) - -diff --git a/module/splat/splat-condvar.c b/module/splat/splat-condvar.c -index 69fefc9..1fe306c 100644 ---- a/module/splat/splat-condvar.c -+++ b/module/splat/splat-condvar.c -@@ -24,6 +24,7 @@ - * Solaris Porting LAyer Tests (SPLAT) Condition Variable Tests. - \*****************************************************************************/ - -+#include <linux/kthread.h> - #include <sys/condvar.h> - #include "splat-internal.h" - -@@ -51,20 +52,20 @@ - #define SPLAT_CONDVAR_TEST5_DESC "Timeout thread, cv_wait_timeout()" - - #define SPLAT_CONDVAR_TEST_MAGIC 0x115599DDUL --#define SPLAT_CONDVAR_TEST_NAME "condvar_test" -+#define SPLAT_CONDVAR_TEST_NAME "condvar" - #define SPLAT_CONDVAR_TEST_COUNT 8 - - typedef struct condvar_priv { -- unsigned long cv_magic; -- struct file *cv_file; -+ unsigned long cv_magic; -+ struct file *cv_file; - kcondvar_t cv_condvar; - kmutex_t cv_mtx; - } condvar_priv_t; - - typedef struct condvar_thr { -- int ct_id; - const char *ct_name; - condvar_priv_t *ct_cvp; -+ struct task_struct *ct_thread; - int ct_rc; - } condvar_thr_t; - -@@ -73,20 +74,17 @@ - { - condvar_thr_t *ct = (condvar_thr_t *)arg; - condvar_priv_t *cv = ct->ct_cvp; -- char name[16]; - - ASSERT(cv->cv_magic == SPLAT_CONDVAR_TEST_MAGIC); -- snprintf(name, sizeof(name),"%s%d",SPLAT_CONDVAR_TEST_NAME,ct->ct_id); -- daemonize(name); - - mutex_enter(&cv->cv_mtx); - splat_vprint(cv->cv_file, ct->ct_name, -- "%s thread sleeping with %d waiters\n", -- name, atomic_read(&cv->cv_condvar.cv_waiters)); -+ "%s thread sleeping with %d waiters\n", -+ ct->ct_thread->comm, atomic_read(&cv->cv_condvar.cv_waiters)); - cv_wait(&cv->cv_condvar, &cv->cv_mtx); - splat_vprint(cv->cv_file, ct->ct_name, -- "%s thread woken %d waiters remain\n", -- name, atomic_read(&cv->cv_condvar.cv_waiters)); -+ "%s thread woken %d waiters remain\n", -+ ct->ct_thread->comm, atomic_read(&cv->cv_condvar.cv_waiters)); - mutex_exit(&cv->cv_mtx); - - return 0; -@@ -96,7 +94,6 @@ - splat_condvar_test1(struct file *file, void *arg) - { - int i, count = 0, rc = 0; -- long pids[SPLAT_CONDVAR_TEST_COUNT]; - condvar_thr_t ct[SPLAT_CONDVAR_TEST_COUNT]; - condvar_priv_t cv; - -@@ -109,13 +106,15 @@ - * long as we know how many we managed to create and should expect. */ - for (i = 0; i < SPLAT_CONDVAR_TEST_COUNT; i++) { - ct[i].ct_cvp = &cv; -- ct[i].ct_id = i; - ct[i].ct_name = SPLAT_CONDVAR_TEST1_NAME; - ct[i].ct_rc = 0; -+ ct[i].ct_thread = kthread_create(splat_condvar_test12_thread, -+ &ct[i], "%s/%d", SPLAT_CONDVAR_TEST_NAME, i); - -- pids[i] = kernel_thread(splat_condvar_test12_thread, &ct[i], 0); -- if (pids[i] >= 0) -+ if (!IS_ERR(ct[i].ct_thread)) { -+ wake_up_process(ct[i].ct_thread); - count++; -+ } - } - - /* Wait until all threads are waiting on the condition variable */ -@@ -160,7 +159,6 @@ - splat_condvar_test2(struct file *file, void *arg) - { - int i, count = 0, rc = 0; -- long pids[SPLAT_CONDVAR_TEST_COUNT]; - condvar_thr_t ct[SPLAT_CONDVAR_TEST_COUNT]; - condvar_priv_t cv; - -@@ -173,13 +171,15 @@ - * long as we know how many we managed to create and should expect. */ - for (i = 0; i < SPLAT_CONDVAR_TEST_COUNT; i++) { - ct[i].ct_cvp = &cv; -- ct[i].ct_id = i; - ct[i].ct_name = SPLAT_CONDVAR_TEST2_NAME; - ct[i].ct_rc = 0; -+ ct[i].ct_thread = kthread_create(splat_condvar_test12_thread, -+ &ct[i], "%s/%d", SPLAT_CONDVAR_TEST_NAME, i); - -- pids[i] = kernel_thread(splat_condvar_test12_thread, &ct[i], 0); -- if (pids[i] > 0) -+ if (!IS_ERR(ct[i].ct_thread)) { -+ wake_up_process(ct[i].ct_thread); - count++; -+ } - } - - /* Wait until all threads are waiting on the condition variable */ -@@ -208,17 +208,14 @@ - { - condvar_thr_t *ct = (condvar_thr_t *)arg; - condvar_priv_t *cv = ct->ct_cvp; -- char name[16]; - clock_t rc; - - ASSERT(cv->cv_magic == SPLAT_CONDVAR_TEST_MAGIC); -- snprintf(name, sizeof(name), "%s%d", SPLAT_CONDVAR_TEST_NAME, ct->ct_id); -- daemonize(name); - - mutex_enter(&cv->cv_mtx); - splat_vprint(cv->cv_file, ct->ct_name, -- "%s thread sleeping with %d waiters\n", -- name, atomic_read(&cv->cv_condvar.cv_waiters)); -+ "%s thread sleeping with %d waiters\n", -+ ct->ct_thread->comm, atomic_read(&cv->cv_condvar.cv_waiters)); - - /* Sleep no longer than 3 seconds, for this test we should - * actually never sleep that long without being woken up. */ -@@ -226,11 +223,12 @@ - if (rc == -1) { - ct->ct_rc = -ETIMEDOUT; - splat_vprint(cv->cv_file, ct->ct_name, "%s thread timed out, " -- "should have been woken\n", name); -+ "should have been woken\n", ct->ct_thread->comm); - } else { - splat_vprint(cv->cv_file, ct->ct_name, -- "%s thread woken %d waiters remain\n", -- name, atomic_read(&cv->cv_condvar.cv_waiters)); -+ "%s thread woken %d waiters remain\n", -+ ct->ct_thread->comm, -+ atomic_read(&cv->cv_condvar.cv_waiters)); - } - - mutex_exit(&cv->cv_mtx); -@@ -242,7 +240,6 @@ - splat_condvar_test3(struct file *file, void *arg) - { - int i, count = 0, rc = 0; -- long pids[SPLAT_CONDVAR_TEST_COUNT]; - condvar_thr_t ct[SPLAT_CONDVAR_TEST_COUNT]; - condvar_priv_t cv; - -@@ -255,13 +252,15 @@ - * long as we know how many we managed to create and should expect. */ - for (i = 0; i < SPLAT_CONDVAR_TEST_COUNT; i++) { - ct[i].ct_cvp = &cv; -- ct[i].ct_id = i; - ct[i].ct_name = SPLAT_CONDVAR_TEST3_NAME; - ct[i].ct_rc = 0; -+ ct[i].ct_thread = kthread_create(splat_condvar_test34_thread, -+ &ct[i], "%s/%d", SPLAT_CONDVAR_TEST_NAME, i); - -- pids[i] = kernel_thread(splat_condvar_test34_thread, &ct[i], 0); -- if (pids[i] >= 0) -+ if (!IS_ERR(ct[i].ct_thread)) { -+ wake_up_process(ct[i].ct_thread); - count++; -+ } - } - - /* Wait until all threads are waiting on the condition variable */ -@@ -311,7 +310,6 @@ - splat_condvar_test4(struct file *file, void *arg) - { - int i, count = 0, rc = 0; -- long pids[SPLAT_CONDVAR_TEST_COUNT]; - condvar_thr_t ct[SPLAT_CONDVAR_TEST_COUNT]; - condvar_priv_t cv; - -@@ -324,13 +322,15 @@ - * long as we know how many we managed to create and should expect. */ - for (i = 0; i < SPLAT_CONDVAR_TEST_COUNT; i++) { - ct[i].ct_cvp = &cv; -- ct[i].ct_id = i; - ct[i].ct_name = SPLAT_CONDVAR_TEST3_NAME; - ct[i].ct_rc = 0; -+ ct[i].ct_thread = kthread_create(splat_condvar_test34_thread, -+ &ct[i], "%s/%d", SPLAT_CONDVAR_TEST_NAME, i); - -- pids[i] = kernel_thread(splat_condvar_test34_thread, &ct[i], 0); -- if (pids[i] >= 0) -+ if (!IS_ERR(ct[i].ct_thread)) { -+ wake_up_process(ct[i].ct_thread); - count++; -+ } - } - - /* Wait until all threads are waiting on the condition variable */ -diff --git a/module/splat/splat-rwlock.c b/module/splat/splat-rwlock.c -index 9e335d7..f4a0109 100644 ---- a/module/splat/splat-rwlock.c -+++ b/module/splat/splat-rwlock.c -@@ -82,7 +82,7 @@ - typedef struct rw_thr { - const char *rwt_name; - rw_priv_t *rwt_rwp; -- int rwt_id; -+ struct task_struct *rwt_thread; - } rw_thr_t; - - void splat_init_rw_priv(rw_priv_t *rwp, struct file *file) -@@ -106,17 +106,15 @@ void splat_init_rw_priv(rw_priv_t *rwp, struct file *file) - rw_thr_t *rwt = (rw_thr_t *)arg; - rw_priv_t *rwp = rwt->rwt_rwp; - uint8_t rnd; -- char name[16]; - - ASSERT(rwp->rw_magic == SPLAT_RWLOCK_TEST_MAGIC); -- snprintf(name, sizeof(name), "rwlock_wr_thr%d", rwt->rwt_id); -- daemonize(name); -+ - get_random_bytes((void *)&rnd, 1); - msleep((unsigned int)rnd); - - splat_vprint(rwp->rw_file, rwt->rwt_name, -- "%s trying to acquire rwlock (%d holding/%d waiting)\n", -- name, rwp->rw_holders, rwp->rw_waiters); -+ "%s trying to acquire rwlock (%d holding/%d waiting)\n", -+ rwt->rwt_thread->comm, rwp->rw_holders, rwp->rw_waiters); - spin_lock(&rwp->rw_lock); - rwp->rw_waiters++; - spin_unlock(&rwp->rw_lock); -@@ -127,20 +125,20 @@ void splat_init_rw_priv(rw_priv_t *rwp, struct file *file) - rwp->rw_holders++; - spin_unlock(&rwp->rw_lock); - splat_vprint(rwp->rw_file, rwt->rwt_name, -- "%s acquired rwlock (%d holding/%d waiting)\n", -- name, rwp->rw_holders, rwp->rw_waiters); -+ "%s acquired rwlock (%d holding/%d waiting)\n", -+ rwt->rwt_thread->comm, rwp->rw_holders, rwp->rw_waiters); - - /* Wait for control thread to signal we can release the write lock */ - wait_event_interruptible(rwp->rw_waitq, splat_locked_test(&rwp->rw_lock, -- rwp->rw_release == SPLAT_RWLOCK_RELEASE_WR)); -+ rwp->rw_release == SPLAT_RWLOCK_RELEASE_WR)); - - spin_lock(&rwp->rw_lock); - rwp->rw_completed++; - rwp->rw_holders--; - spin_unlock(&rwp->rw_lock); - splat_vprint(rwp->rw_file, rwt->rwt_name, -- "%s dropped rwlock (%d holding/%d waiting)\n", -- name, rwp->rw_holders, rwp->rw_waiters); -+ "%s dropped rwlock (%d holding/%d waiting)\n", -+ rwt->rwt_thread->comm, rwp->rw_holders, rwp->rw_waiters); - - rw_exit(&rwp->rw_rwlock); - -@@ -153,21 +151,19 @@ void splat_init_rw_priv(rw_priv_t *rwp, struct file *file) - rw_thr_t *rwt = (rw_thr_t *)arg; - rw_priv_t *rwp = rwt->rwt_rwp; - uint8_t rnd; -- char name[16]; - - ASSERT(rwp->rw_magic == SPLAT_RWLOCK_TEST_MAGIC); -- snprintf(name, sizeof(name), "rwlock_rd_thr%d", rwt->rwt_id); -- daemonize(name); -+ - get_random_bytes((void *)&rnd, 1); - msleep((unsigned int)rnd); - - /* Don't try and take the semaphore until after someone has it */ -- wait_event_interruptible(rwp->rw_waitq, splat_locked_test(&rwp->rw_lock, -- rwp->rw_holders > 0)); -+ wait_event_interruptible(rwp->rw_waitq, -+ splat_locked_test(&rwp->rw_lock, rwp->rw_holders > 0)); - - splat_vprint(rwp->rw_file, rwt->rwt_name, -- "%s trying to acquire rwlock (%d holding/%d waiting)\n", -- name, rwp->rw_holders, rwp->rw_waiters); -+ "%s trying to acquire rwlock (%d holding/%d waiting)\n", -+ rwt->rwt_thread->comm, rwp->rw_holders, rwp->rw_waiters); - spin_lock(&rwp->rw_lock); - rwp->rw_waiters++; - spin_unlock(&rwp->rw_lock); -@@ -178,20 +174,20 @@ void splat_init_rw_priv(rw_priv_t *rwp, struct file *file) - rwp->rw_holders++; - spin_unlock(&rwp->rw_lock); - splat_vprint(rwp->rw_file, rwt->rwt_name, -- "%s acquired rwlock (%d holding/%d waiting)\n", -- name, rwp->rw_holders, rwp->rw_waiters); -+ "%s acquired rwlock (%d holding/%d waiting)\n", -+ rwt->rwt_thread->comm, rwp->rw_holders, rwp->rw_waiters); - - /* Wait for control thread to signal we can release the read lock */ - wait_event_interruptible(rwp->rw_waitq, splat_locked_test(&rwp->rw_lock, -- rwp->rw_release == SPLAT_RWLOCK_RELEASE_RD)); -+ rwp->rw_release == SPLAT_RWLOCK_RELEASE_RD)); - - spin_lock(&rwp->rw_lock); - rwp->rw_completed++; - rwp->rw_holders--; - spin_unlock(&rwp->rw_lock); - splat_vprint(rwp->rw_file, rwt->rwt_name, -- "%s dropped rwlock (%d holding/%d waiting)\n", -- name, rwp->rw_holders, rwp->rw_waiters); -+ "%s dropped rwlock (%d holding/%d waiting)\n", -+ rwt->rwt_thread->comm, rwp->rw_holders, rwp->rw_waiters); - - rw_exit(&rwp->rw_rwlock); - -@@ -202,7 +198,6 @@ void splat_init_rw_priv(rw_priv_t *rwp, struct file *file) - splat_rwlock_test1(struct file *file, void *arg) - { - int i, count = 0, rc = 0; -- long pids[SPLAT_RWLOCK_TEST_COUNT]; - rw_thr_t rwt[SPLAT_RWLOCK_TEST_COUNT]; - rw_priv_t *rwp; - -@@ -214,22 +209,22 @@ void splat_init_rw_priv(rw_priv_t *rwp, struct file *file) - - /* Create some threads, the exact number isn't important just as - * long as we know how many we managed to create and should expect. */ -- -- -- - for (i = 0; i < SPLAT_RWLOCK_TEST_COUNT; i++) { - rwt[i].rwt_rwp = rwp; -- rwt[i].rwt_id = i; - rwt[i].rwt_name = SPLAT_RWLOCK_TEST1_NAME; - - /* The first thread will be the writer */ - if (i == 0) -- pids[i] = kernel_thread(splat_rwlock_wr_thr, &rwt[i], 0); -+ rwt[i].rwt_thread = kthread_create(splat_rwlock_wr_thr, -+ &rwt[i], "%s/%d", SPLAT_RWLOCK_TEST_NAME, i); - else -- pids[i] = kernel_thread(splat_rwlock_rd_thr, &rwt[i], 0); -+ rwt[i].rwt_thread = kthread_create(splat_rwlock_rd_thr, -+ &rwt[i], "%s/%d", SPLAT_RWLOCK_TEST_NAME, i); - -- if (pids[i] >= 0) -+ if (!IS_ERR(rwt[i].rwt_thread)) { -+ wake_up_process(rwt[i].rwt_thread); - count++; -+ } - } - - /* Wait for the writer */ --- -1.7.10 - diff --git a/sys-kernel/spl/spl-0.6.0_rc10.ebuild b/sys-kernel/spl/spl-0.6.0_rc10.ebuild deleted file mode 100644 index 42a0733fa7c0..000000000000 --- a/sys-kernel/spl/spl-0.6.0_rc10.ebuild +++ /dev/null @@ -1,113 +0,0 @@ -# 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.12 2013/04/17 13:26:26 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="mirror://github/zfsonlinux/${PN}/${PN}-${MY_PV}.tar.gz" - S="${WORKDIR}/${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 - !PREEMPT - MODULES - KALLSYMS - ZLIB_DEFLATE - ZLIB_INFLATE - " - - kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" - - [ ${PV} != "9999" ] && \ - { kernel_is le 3 6 || die "Linux 3.6 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 - # Fix potential deadlocks when ZFS is used on swap - epatch "${FILESDIR}/${PN}-0.6.0_rc9-alias-km-sleep-with-km-pushpage.patch" - - # Linux 3.6 Support - epatch "${FILESDIR}/${PN}-0.6.0_rc11-linux-3.6-compat.patch" - epatch "${FILESDIR}/${PN}-0.6.0_rc12-fix-3.6-compat-regression.patch" - - # Fix x86 build failures on Linux 3.4 and later, bug #450646 - epatch "${FILESDIR}/${PN}-0.6.0_rc14-fix-atomic64-checks.patch" - - # Fix autotools check that fails on ~ppc64 - epatch "${FILESDIR}/${PN}-0.6.0_rc14-fix-mutex-owner-check.patch" - fi - - autotools-utils_src_prepare -} - -src_configure() { - use custom-cflags || strip-flags - 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_test() { - if [[ ! -e /proc/modules ]] - then - die "Missing /proc/modules" - elif [[ $UID -ne 0 ]] - then - ewarn "Cannot run make check tests with FEATURES=userpriv." - ewarn "Skipping make check tests." - elif grep -q '^spl ' /proc/modules - then - ewarn "Cannot run make check tests with module spl loaded." - ewarn "Skipping make check tests." - else - autotools-utils_src_test - 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 deleted file mode 100644 index 56c80410c79f..000000000000 --- a/sys-kernel/spl/spl-0.6.0_rc11-r2.ebuild +++ /dev/null @@ -1,111 +0,0 @@ -# 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.11 2013/04/17 13:26:26 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="mirror://zfsonlinux/${PN}/${PN}-${MY_PV}.tar.gz" - S="${WORKDIR}/${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 6 || die "Linux 3.6 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 - # Linux 3.6 Support - epatch "${FILESDIR}/${P}-linux-3.6-compat.patch" - epatch "${FILESDIR}/${PN}-0.6.0_rc12-fix-3.6-compat-regression.patch" - - # Fix x86 build failures on Linux 3.4 and later, bug #450646 - epatch "${FILESDIR}/${PN}-0.6.0_rc14-fix-atomic64-checks.patch" - - # Fix autotools check that fails on ~ppc64 - epatch "${FILESDIR}/${PN}-0.6.0_rc14-fix-mutex-owner-check.patch" - fi - - autotools-utils_src_prepare -} - -src_configure() { - use custom-cflags || strip-flags - 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_test() { - $(use_enable debug-log) - if [[ ! -e /proc/modules ]] - then - die "Missing /proc/modules" - elif [[ $UID -ne 0 ]] - then - ewarn "Cannot run make check tests with FEATURES=userpriv." - ewarn "Skipping make check tests." - elif grep -q '^spl ' /proc/modules - then - ewarn "Cannot run make check tests with module spl loaded." - ewarn "Skipping make check tests." - else - autotools-utils_src_test - 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 deleted file mode 100644 index f717ea1ebcdd..000000000000 --- a/sys-kernel/spl/spl-0.6.0_rc12-r1.ebuild +++ /dev/null @@ -1,115 +0,0 @@ -# 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.9 2013/04/17 13:26:26 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="mirror://github/zfsonlinux/${PN}/${PN}-${MY_PV}.tar.gz" - S="${WORKDIR}/${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 8 || die "Linux 3.8 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 - # Stability Fix - epatch "${FILESDIR}/${P}-fix-race-in-slabs.patch" - - # Linux 3.6 Support - epatch "${FILESDIR}/${P}-fix-3.6-compat-regression.patch" - - # Linux 3.7 Support - epatch "${FILESDIR}/${P}-linux-3.7-compat.patch" - - # Fix x86 build failures on Linux 3.4 and later, bug #450646 - epatch "${FILESDIR}/${PN}-0.6.0_rc14-fix-atomic64-checks.patch" - - # Fix autotools check that fails on ~ppc64 - epatch "${FILESDIR}/${PN}-0.6.0_rc14-fix-mutex-owner-check.patch" - fi - - autotools-utils_src_prepare -} - -src_configure() { - use custom-cflags || strip-flags - 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_test() { - if [[ ! -e /proc/modules ]] - then - die "Missing /proc/modules" - elif [[ $UID -ne 0 ]] - then - ewarn "Cannot run make check tests with FEATURES=userpriv." - ewarn "Skipping make check tests." - elif grep -q '^spl ' /proc/modules - then - ewarn "Cannot run make check tests with module spl loaded." - ewarn "Skipping make check tests." - else - autotools-utils_src_test - fi -} |