summaryrefslogtreecommitdiff
path: root/net-fs
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2013-03-24 04:24:48 +0000
committerMike Frysinger <vapier@gentoo.org>2013-03-24 04:24:48 +0000
commitc17d991a59cfd1aecce5977f3dcbd8f7f641ad88 (patch)
treeb338144c3e17342e8e39dc3f7919294edeee40b2 /net-fs
parentVersion bumps #460646 by Andrej Filipcic. (diff)
downloadhistorical-c17d991a59cfd1aecce5977f3dcbd8f7f641ad88.tar.gz
historical-c17d991a59cfd1aecce5977f3dcbd8f7f641ad88.tar.bz2
historical-c17d991a59cfd1aecce5977f3dcbd8f7f641ad88.zip
Version bump #460646 by Andrej Filipcic.
Package-Manager: portage-2.2.0_alpha164/cvs/Linux x86_64 Manifest-Sign-Key: 0xFB7C4156
Diffstat (limited to 'net-fs')
-rw-r--r--net-fs/openafs-kernel/ChangeLog12
-rw-r--r--net-fs/openafs-kernel/Manifest38
-rw-r--r--net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-1.patch366
-rw-r--r--net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-2.patch137
-rw-r--r--net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-3.patch80
-rw-r--r--net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-4.patch37
-rw-r--r--net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-5.patch65
-rw-r--r--net-fs/openafs-kernel/openafs-kernel-1.6.2.ebuild89
8 files changed, 807 insertions, 17 deletions
diff --git a/net-fs/openafs-kernel/ChangeLog b/net-fs/openafs-kernel/ChangeLog
index ea5f2b4e60c8..250f8b12566d 100644
--- a/net-fs/openafs-kernel/ChangeLog
+++ b/net-fs/openafs-kernel/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for net-fs/openafs-kernel
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/ChangeLog,v 1.146 2013/03/17 15:56:08 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/ChangeLog,v 1.147 2013/03/24 04:24:42 vapier Exp $
+
+*openafs-kernel-1.6.2 (24 Mar 2013)
+
+ 24 Mar 2013; Mike Frysinger <vapier@gentoo.org>
+ +files/openafs-1.6.2-kernel-3.8-1.patch,
+ +files/openafs-1.6.2-kernel-3.8-2.patch,
+ +files/openafs-1.6.2-kernel-3.8-3.patch,
+ +files/openafs-1.6.2-kernel-3.8-4.patch,
+ +files/openafs-1.6.2-kernel-3.8-5.patch, +openafs-kernel-1.6.2.ebuild:
+ Version bump #460646 by Andrej Filipcic.
17 Mar 2013; Markos Chandras <hwoarang@gentoo.org> metadata.xml:
Add proxy-maintainers to metadata.xml
diff --git a/net-fs/openafs-kernel/Manifest b/net-fs/openafs-kernel/Manifest
index 9d6bb393450c..8fbf3e180bf8 100644
--- a/net-fs/openafs-kernel/Manifest
+++ b/net-fs/openafs-kernel/Manifest
@@ -1,35 +1,41 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
+AUX openafs-1.6.2-kernel-3.8-1.patch 11032 SHA256 7ce4fab26f18fda238bda02159187cf3400640ed40de7bf057b6013b8b3c4447 SHA512 f655adf4073dcb6fc3f427d9956b01846f625ee09846e0d5498dd509b2834c2b8cff7694b00a5162baa55aeecfa991fa5cfe990c27ea37688b6ed9423060812e WHIRLPOOL 4a4dbd3c2f932ee73e63579030fbd6eb9072b8e5b55e8ff85f098a58d1cf09d8e22e43438dcb150402f9bdc9f6667923bf017350e4518909b02a1d292f57b489
+AUX openafs-1.6.2-kernel-3.8-2.patch 4761 SHA256 6638d923ae70674528cb90dabb4c7dca4f1636f5e83394987f651811dbb52cfa SHA512 054fd7f03243b1bb8b4413265602792211ef0e0574572bd831826af40d0674d313417688cdd06a6e2968e7ee2ec46bdd9684c9bd50b961a5ae5369f08bd99c01 WHIRLPOOL e49f12c8c052a647ac0259bbaaed4b880a1741e0ae1a941dfbb21675feafd4f9062f8d0f6c0154cb1a3a9a4fa9d5c7952682df69ebb75655e9d155532fe0118e
+AUX openafs-1.6.2-kernel-3.8-3.patch 2699 SHA256 41bd2ee35867f1899f9ae4bd7df38042ef591aae0330a27c32dbb725f15e648f SHA512 fb0777696dd1780ce0ed0ae3160fedf960df91afd680f0f11896d726beec06f3534a68abce2dbb474f171cd3a400f38d948971848a653f3d63d6f410ac929b7f WHIRLPOOL 1044b75eaadff4cea49cc315bdc8c9d36db9d957571cc50a716287fa5a25132a27faf54fb8c943b85deaa7de15ad75cce044536ab3eb86715e29ab5dd334a350
+AUX openafs-1.6.2-kernel-3.8-4.patch 1300 SHA256 3604174099c3a98a0596b86ed083c609c3124ff95fb73e44a81bac489a9f5c5e SHA512 feb75e80fb3ed7f868476abce7caa301908c5fda6b999e68891f174786f6b5151a9615491d6ba48bbe2b5224082ceebcc5d1d4b108a776eb104eac5e61afa0c8 WHIRLPOOL d3fa687fea25dbbc71d2dde86a57741d21cd4e6bc6153120c502c73cf7812f2ff511fab9c411f2b02727a4adbdec65c97830b7ae1315c45eba0d26f5f9baaa92
+AUX openafs-1.6.2-kernel-3.8-5.patch 2463 SHA256 745bdd7e75f65ca7af3caf5bf0a85fcba1ff17a2336adc4fc286d843f7af89db SHA512 3f11aed22890ab679cfa245b19af76267b0047fa4279914b5f7616646f455485cb67191abb5eab0aeecd845e65eca43f16761a5288492c5dd91be9a9e38399ae WHIRLPOOL c1dcd37946e053fa85b1ee9592c69beee7e01ee4d5b29545145d2d8f12f2a40efee94ac5e658f5cc9199ac1d3cb5168918c53b205f2ce959aa4de28ff9fb8468
DIST openafs-1.4.14.1-patches-1.tar.bz2 12912 SHA256 381755cd88b8171a8c605f3bf4acc5bb1cb37093aa01d9e96ad11f0eb32dd239 SHA512 424ae7bc40dcdaeaf89d5c27a7e93f1f62451c3a110c4183fbfb239a037d6ca9e099a879fe104ec42ebfdfa770b1f358b7dc355f7dc2f7cb3dde0571a5184e15 WHIRLPOOL ea1d945a7edd4b5dd2008dc48d7da854fab011b52b2a3297264d4a1af5586241d8a00bb99a445195a14d5f7085faf6890f1687120d990f5ca1f7f433560c7af1
DIST openafs-1.4.14.1-src.tar.bz2 11812593 SHA256 49eda1f6cad3d425426deb72c91a1cffd2273917dc28f82da0a46234bb99af3b SHA512 93137416903340775f0253224f8da7beac958ef76e418892d24adf190ab9513cf1fc5b93ee34d83a7feb41e17e3cd89cd6d98e2c057eb1313ca2d42cd33d3370 WHIRLPOOL d48b49a991c740fb4f6fca9829fc45051ba9356dfda407b6d31ddd2ba6773a661d6c6a09dbe3a0dd1aed57e0c3951ed991cd6bea3e44bded036ff96521e8da43
DIST openafs-1.6.1-patches-1.tar.bz2 9897 SHA256 d1fa13b60eaa0e755e379c2e0b05fe08eeb2f9a0c247e036139930969bfd4fde SHA512 898a9e3533e2708b8c966713becf5c9e7d8773dae3dd63d6e8392355aeafaa45e7626b1f25be7b2a059b49bbdabfe23a2ce44304d22c6e589460b118343b7cb0 WHIRLPOOL f967b9d4f0cf9c1232067a51dd84fa724c3b3ce40d02227fdb05b5d76e478a53f03a7fed619af5c6b3a4d0f842da057b1aeb5fa86767d5e55a0253250d243a44
DIST openafs-1.6.1-patches-3.tar.bz2 18030 SHA256 76920804618bf09bba2d847ed280c3efb1de52a31f417bc0f8a50b2ca8a9aa30 SHA512 751192ebb3bdea43d67d584a250e4dd7ef9414e7fd43f596bd6f0bf5094654d53716621170c7f5b0892423d2c98693c40a056bff4b35118866000a50e9ba94f5 WHIRLPOOL ab44bd977a8b49bc01b6433d6d468e918fbe73accaf92351daf341dac0ea8d0e3f6b63b4480aae67d833f251e5ec91820e5d9280d0c98c985052d10e33d1fd3c
DIST openafs-1.6.1-src.tar.bz2 14356434 SHA256 d05ef7f8e89b6939726d93bb46d4353e20a459890b9c3ca3065d50de408bf5b0 SHA512 c0781a8d64fa9a816f043056ffa93531d0a5ee854821503cd07a07d6a2de9123681f9ed6a478101837ce101cd260a5a093664a90a0054caad87ad683911829cc WHIRLPOOL 87803bbc559dd4b0d56d0217b84d46fea1375cb006b74df31b13a55e80ab5023b2c5cc001dc70def608841b56933b1da86bbda6da4e04abd241957d75d644ea4
+DIST openafs-1.6.2-patches-1.tar.bz2 10880 SHA256 bde25a4ec9ab38cb9864deb38d4d3f4b3affc44969c072a3329844dbbebd1c5c SHA512 f6cd5916bc072cb855a0edfb640cf53cfdc5fb7d3b9ed0e23e9c739ea4f046653ac60b731cb469838085c92286485fafa00807b857f89ca2c90fea3dce2c9a56 WHIRLPOOL 93a6648ddc8e35c05c176a9d835fefcd97afc217bbf80547895e5da40ac4e0a85842dd89c5b3074986045db67548f766a72cd5a2c05eb24c62ae04f26a490e04
+DIST openafs-1.6.2-src.tar.bz2 14378378 SHA256 0db0877cd42131a744472ad0abfa26a4402a5bad94adb4d1eada75c8b6895bc9 SHA512 769b82d4ba8fe391f7dacc1f422d0bca564450ee3e05da34296aa461fecab825956e2bea4849af65af8592ffe50853e725ee0a700c1afaea67652adf8a93c01c WHIRLPOOL 61947ee3f0e3d7107f3611add14bd90ca1f5744986f75a92a28f6ccda8936f16441ec819640eebbd0cfaffaaa716c3077980b28512a84e9be770a4320a19997a
DIST openafs-1.6.2_pre3-patches-1.tar.bz2 10880 SHA256 bde25a4ec9ab38cb9864deb38d4d3f4b3affc44969c072a3329844dbbebd1c5c SHA512 f6cd5916bc072cb855a0edfb640cf53cfdc5fb7d3b9ed0e23e9c739ea4f046653ac60b731cb469838085c92286485fafa00807b857f89ca2c90fea3dce2c9a56 WHIRLPOOL 93a6648ddc8e35c05c176a9d835fefcd97afc217bbf80547895e5da40ac4e0a85842dd89c5b3074986045db67548f766a72cd5a2c05eb24c62ae04f26a490e04
DIST openafs-1.6.2pre3-src.tar.bz2 14555926 SHA256 f9f7fe6924a40597be0199fd5d67636fd8cb6110df7e5d5510e46c509ce5603b SHA512 25b3ef26753caf8e492c2b10b574a1c8d8f7ace4ac049ea2ebef7188ce36d16a18e2d9d82246643974ba860e1b6e937cf0dc86f199636c3a885d8e097ab1086c WHIRLPOOL 470783823605b5c7092e752d2ad2b0d999ef06713e4abe487c5a1566562b6e568a8c4c5496a4932d7699c53c88303e6169fe2f48828a9bb3309df4c22869bc10
EBUILD openafs-kernel-1.4.14.1.ebuild 1825 SHA256 fa69646b64b61622362182a523358daed94861fe8cfa5104aa2e913bcc56b9bb SHA512 0165d07016f74ad617a0d2a04678cfe6f751975c60f69e07805b61c23e542bfbffdc55dc28b85e89a7dd300aa2bef2a94ce235127f2a3a87f49299e917c4e529 WHIRLPOOL 6aec78475170dee0fb213b6d1eccbfb2c0cfd0a1e382b13315ea3429c38130f5f728fe880732eb3308ad0ad9d7a6930a32ac08a67553adbc799c55d7a26635d8
EBUILD openafs-kernel-1.6.1-r2.ebuild 2544 SHA256 a89df2bc4b17dbdb30a0c8b5f4d505fdd1752a6e54b4a784030b0ee32572ff18 SHA512 7d9fbd637cbdc65519dfd77151adc2cbafbd6a4b424c6898bef558563de8c1e415caa1968777a8f24c0ed7353b27b5202bc51c53cde24ea523e1a647cce64e51 WHIRLPOOL 504c1277c3f722e7c3071555b14f4889de5e2f9095f03c4562c61f8a5fdf2eab7b3fe23fb634b9538ce73ff580902cd031ffd7a7c357e5976babfa0f900eb87f
EBUILD openafs-kernel-1.6.1.ebuild 1910 SHA256 51a4d1a592738b9587c2bcdeed33cfa18b068f8c8df8fc530b34de43b42db562 SHA512 3c4da2e98f378e0e3d340c1159bad03b39acc605f8be28bdfca4448f348c6c19cc643421ae17f6cc44a4efcdde2eba8cd0299b577227a6fbfa028f75f839db32 WHIRLPOOL 1ef0698d8c23094082edee9126f290a64756a484389f5a907f4eebb5aed79c8d07650bdd196d7ce65bdb875cdbe45b1a0874c6a2c67d7c1e8c4261bda48ca69c
+EBUILD openafs-kernel-1.6.2.ebuild 2604 SHA256 35bfc272d5a91c4d5b5bf32fdf0419e2d7ce10d9017967c114cb6b97ea81cbc6 SHA512 e1a320ffa77a796941ace90deaaed8be479249b542f6ac703b35518e7343e347fd8658031ac7555d73bcd46045eb179c15c494d5c54aa872e0b80c5d092767c3 WHIRLPOOL 86de9bff5ab4bdcbf998ab5ca6f99768e506752f4f953bb02a0a68e4a120742ec4aee4a3dad0d1ec34400c4ec80fdd507eed89d106f8a4fc0ebd9fb5e461f522
EBUILD openafs-kernel-1.6.2_pre3.ebuild 2551 SHA256 5115cbd9c69164c8004d8942bc1d60d25422bec476be18ec220f6c25e075d35d SHA512 775b56a3e839a551dd22904936963e759b2102fb31f6883b1194243383beba3065a73aa744b024ec597407535aec3c35a5119b1f4e6659fdf288225fe300f32b WHIRLPOOL daab892284f4629f5aed069b62e1187d6df8b8412f9ac88de9f0a90d274e493fb984bb2daf6a0fca1070c09ead00113247a954bfea25a19397203267b4265f68
-MISC ChangeLog 24205 SHA256 2ee1f13b53412223b9ebc2c3c8ae29db466ca17a66c29b5ef42458f48f723eb0 SHA512 7be1af7da911ed3aeaedec110590048f1658018d1f133a02ad6498875dd3e3791abc8a0a707bb6f6dfad3e4bc00d6718f80e87ce22ef0275c62d6ab7b3f9a47b WHIRLPOOL 6a2087882f27d0c32deeb4803498712e418c2a838e2406d289bac79189814aa2bdad98d5ab467516086ececaf16ce27482668405f8e19fdf537223e44ff4138c
+MISC ChangeLog 24579 SHA256 cc5ddc62bca92369a1c435e0da7b99b96f8530d283b9c63193609710099a8b6e SHA512 e93a29e84734c8268a3eed90fa704a907a70e1e767a77933267dabc4c74fe9d7d4d2be99d99807bd4c7b1fce55c27c3f8aa78eba0ee67792ed05eae7595ba000 WHIRLPOOL 74f09486bd9ba8e848b5edc895e73aec79793f0fe79c111c0c2110aa11d29a2a42835529249b0bda45c89c194fe1849568d7c1ada629aaafcb86a03fc52ac5a5
MISC metadata.xml 286 SHA256 b3e704b0f9a832001902f16472eafe5d2aa59afbf04b1eb6cf87f927316d87d3 SHA512 203f23847bccc6104cd62343070b5ead629a5033bf88b5468420628189d260f435606f7185c555a9849cee50ca855c370dfcb19426c6bc11b5c2da1b331e693e WHIRLPOOL 3fe5d977e05abd548bc36fa5f9be966e4cc5813f37c7052a57ba921b2540b61fd15d664c385e710ad857615a5643e599fb66fa623a29cb67420ab38a2e1d8730
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQJ8BAEBCABmBQJRReeZXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
-ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzNTVDNDczOUYzRjJEMTRGNDRGMzU2RkMw
-OUJGNEY1NEMyQkE3RjNDAAoJEAm/T1TCun88hw8P/0gJdH6vE7717PqIhH151szA
-U5/5Dqrvc4qtw+/RCo+/Sp13lv8YHfgj0hEMQtwRVDVx0HH1daKSl824Std+gShY
-kbZihSjod6v1aYraA9N5jDrE0tz2xHCFDLlppsuEUWxhohRabJe1enw9lxJtgrA3
-oNvnC91h2Xa0kQ1WS1Hxl6TGjVF2gcTmjUwHl34LqcYIFyfsffmxKiqHrYaJfKKS
-sCMFyfDN5vY4+16L7RLLUjDYFGh8y80Dc6siZIf4jrcSiGv7QlLgNQyHTP6fS9N2
-CwNSp8c22ajTE2xVs1x9OicpX4htXQ/fnyCnA8F6ta8zqsDT0wFHsjESf/vogv1z
-hAUWICYJZbbv7qY2OFM5u0cYhweWjdvx/O0lCjbabvNg8mlMePqgFLaB5KjWsr8f
-hSLI0iL2VZ7w5104bRaX2ODy/TJGMPCmYIrBKig5Z5Iep5OEtEU8zVxe81OI7CoV
-ucP2jj7CZYd9cUDh6rxPlor75/Q/5o4NBpN1N5DaO2+65f0R1MC8Ty6bHkU4j8Cp
-8VtaneWH5HmNPy5BZJJ5T1pp9SC7g+kT+YbN48bME2HlAo4AbMOcaPXK4eDXnHnZ
-R+Pj2Bs/vbJBDBoWv9n1M4mGzCTn2qKl6Kaygd3Zs9EMCc2t0DcMw5z55/UmX0Jo
-/ayVYbeX45b1hFZkrw9y
-=5ffm
+iQIcBAEBCAAGBQJRToEHAAoJELEHsLL7fEFW5OEP/1h2OVTVhKJh8FB0OE3fS/fs
+fb9qSoH2l9nTP8GcewkJQqOstkyxyy9VDjgu0qDgSy8WKauDIQipn/aeFkNuXDA4
+p7v6T3R4X6r344DlXWdobBwm9ymP3JENeOkXBELfM2nQatJGpEYny/q10ogGCk17
+bBgpGrcWTMqne5372pRTzHq0LLnvMIm2g7VuRSqRxZBfBNcZ4FdNWLn5I8RkrLz0
+qX8Cetf/YfPpaZkOosFlEizh6smW09zjJ3lGOCdD/HekEJgov3jOQ1ffFVl0W8S/
+DWnXupqW2TPdvSnvTzlSlPSqLfxsbbg9PvNPjOds2rW8N00utjfXCMsNxjbcXTV1
+Gg6sSJd4cpDT4ZyVMb7A4o+lSNvDeQYUy2rM19ySycYXxwST+SqmHjLepQ1ByL+X
+mM/sB4gE7/3rtB5JN4jdh2HkZ/0II8PBcugXKbOf9ndCbvJl15DBF4gnS7XUhUwJ
+xumbWm/HAkDYzUNqyhfPXp33/bxLtmP0FvnzkT4avJpyk91kphJQ8lBcElzvRAhG
+8i5lSF+8EF3fmFOxXJfKw06M/jqBSFdDQbS5d1sD31jZ9y4yODTdZaqChzAcYku9
+/WB4pAJmo3Ebsf2zbEYt+/OkId4j16trwhzETOUawZQiJ8WfSpQpIL3m2sKAr+4+
+eL1gT4GEQkdT9JJlhVD9
+=0nDU
-----END PGP SIGNATURE-----
diff --git a/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-1.patch b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-1.patch
new file mode 100644
index 000000000000..125bc4e6e8af
--- /dev/null
+++ b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-1.patch
@@ -0,0 +1,366 @@
+From bb75426b891ac03f2baa0abfaf565d12e026f35d Mon Sep 17 00:00:00 2001
+From: Andrew Deason <adeason@sinenomine.net>
+Date: Wed, 29 Aug 2012 11:34:06 -0500
+Subject: [PATCH] LINUX: Indent osi_machdep.h maze
+
+This one isn't so bad, actually, but it still benefits from some
+indentation.
+
+Reviewed-on: http://gerrit.openafs.org/8018
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Derrick Brashear <shadow@dementix.org>
+(cherry picked from commit 579048cb1ec24b09a869928ceb521c8db4201a43)
+
+Change-Id: I91bddcafe4141c5e6789b01cc4be1a879b6464d1
+---
+ src/afs/LINUX/osi_machdep.h | 240 +++++++++++++++++++++---------------------
+ 1 files changed, 120 insertions(+), 120 deletions(-)
+
+diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h
+index a2c16f5..9260733 100644
+--- a/src/afs/LINUX/osi_machdep.h
++++ b/src/afs/LINUX/osi_machdep.h
+@@ -17,60 +17,60 @@
+
+ #include <linux/version.h>
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,4)
+-#define AFS_LINUX26_ONEGROUP_ENV 1
++# define AFS_LINUX26_ONEGROUP_ENV 1
+ #endif
+
+ /* Only needed for xdr.h in glibc 2.1.x */
+ #ifndef quad_t
+-#define quad_t __quad_t
+-#define u_quad_t __u_quad_t
++# define quad_t __quad_t
++# define u_quad_t __u_quad_t
+ #endif
+
+ #undef getuerror
+
+ #ifdef STRUCT_TASK_STRUCT_HAS_TGID
+-#define getpid() current->tgid
+-#ifdef STRUCT_TASK_STRUCT_HAS_REAL_PARENT
+-#define getppid() current->real_parent->tgid
+-#elif defined(STRUCT_TASK_STRUCT_HAS_PARENT)
+-#define getppid() current->parent->tgid
+-#else
+-#define getppid() current->p_opptr->tgid
+-#endif
++# define getpid() current->tgid
++# ifdef STRUCT_TASK_STRUCT_HAS_REAL_PARENT
++# define getppid() current->real_parent->tgid
++# elif defined(STRUCT_TASK_STRUCT_HAS_PARENT)
++# define getppid() current->parent->tgid
++# else
++# define getppid() current->p_opptr->tgid
++# endif
+ #else /* !STRUCT_TASK_STRUCT_HAS_TGID */
+-#define getpid() current->pid
+-#ifdef STRUCT_TASK_STRUCT_HAS_REAL_PARENT
+-#define getppid() current->real_parent->pid
+-#elif defined(STRUCT_TASK_STRUCT_HAS_PARENT)
+-#define getppid() current->parent->pid
+-#else
+-#define getppid() current->p_opptr->pid
+-#endif
++# define getpid() current->pid
++# ifdef STRUCT_TASK_STRUCT_HAS_REAL_PARENT
++# define getppid() current->real_parent->pid
++# elif defined(STRUCT_TASK_STRUCT_HAS_PARENT)
++# define getppid() current->parent->pid
++# else
++# define getppid() current->p_opptr->pid
++# endif
+ #endif /* STRUCT_TASK_STRUCT_HAS_TGID */
+
+ #ifdef RECALC_SIGPENDING_TAKES_VOID
+-#define RECALC_SIGPENDING(X) recalc_sigpending()
++# define RECALC_SIGPENDING(X) recalc_sigpending()
+ #else
+-#define RECALC_SIGPENDING(X) recalc_sigpending(X)
++# define RECALC_SIGPENDING(X) recalc_sigpending(X)
+ #endif
+
+ #if defined (STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK)
+-#define SIG_LOCK(X) spin_lock_irq(&X->sigmask_lock)
+-#define SIG_UNLOCK(X) spin_unlock_irq(&X->sigmask_lock)
++# define SIG_LOCK(X) spin_lock_irq(&X->sigmask_lock)
++# define SIG_UNLOCK(X) spin_unlock_irq(&X->sigmask_lock)
+ #elif defined (STRUCT_TASK_STRUCT_HAS_SIGHAND)
+-#define SIG_LOCK(X) spin_lock_irq(&X->sighand->siglock)
+-#define SIG_UNLOCK(X) spin_unlock_irq(&X->sighand->siglock)
++# define SIG_LOCK(X) spin_lock_irq(&X->sighand->siglock)
++# define SIG_UNLOCK(X) spin_unlock_irq(&X->sighand->siglock)
+ #else
+-#define SIG_LOCK(X) spin_lock_irq(&X->sig->siglock)
+-#define SIG_UNLOCK(X) spin_unlock_irq(&X->sig->siglock)
++# define SIG_LOCK(X) spin_lock_irq(&X->sig->siglock)
++# define SIG_UNLOCK(X) spin_unlock_irq(&X->sig->siglock)
+ #endif
+
+ #if defined (STRUCT_TASK_STRUCT_HAS_RLIM)
+-#define TASK_STRUCT_RLIM rlim
++# define TASK_STRUCT_RLIM rlim
+ #elif defined (STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM)
+-#define TASK_STRUCT_RLIM signal->rlim
++# define TASK_STRUCT_RLIM signal->rlim
+ #else
+-#error Not sure what to do about rlim (should be in the Linux task struct somewhere....)
++# error Not sure what to do about rlim (should be in the Linux task struct somewhere....)
+ #endif
+
+
+@@ -83,13 +83,13 @@ static inline time_t osi_Time(void) {
+ return xtime.tv_sec;
+ }
+ #else
+-#define osi_Time() (xtime.tv_sec)
++# define osi_Time() (xtime.tv_sec)
+ #endif
+
+
+
+ #ifdef AFS_LINUX_64BIT_KERNEL
+-#define osi_GetTime(V) \
++# define osi_GetTime(V) \
+ do { \
+ struct timeval __afs_tv; \
+ do_gettimeofday(&__afs_tv); \
+@@ -97,7 +97,7 @@ static inline time_t osi_Time(void) {
+ (V)->tv_usec = (afs_int32)__afs_tv.tv_usec; \
+ } while (0)
+ #else
+-#define osi_GetTime(V) do_gettimeofday((V))
++# define osi_GetTime(V) do_gettimeofday((V))
+ #endif
+
+ #undef gop_lookupname
+@@ -149,12 +149,12 @@ typedef struct task_struct afs_proc_t;
+ typedef struct cred afs_ucred_t;
+ typedef struct cred cred_t;
+
+-#define afs_cr_uid(cred) ((cred)->fsuid)
+-#define afs_cr_gid(cred) ((cred)->fsgid)
+-#define afs_cr_ruid(cred) ((cred)->uid)
+-#define afs_cr_rgid(cred) ((cred)->gid)
+-#define afs_cr_group_info(cred) ((cred)->group_info)
+-#define crhold(c) (get_cred(c))
++# define afs_cr_uid(cred) ((cred)->fsuid)
++# define afs_cr_gid(cred) ((cred)->fsgid)
++# define afs_cr_ruid(cred) ((cred)->uid)
++# define afs_cr_rgid(cred) ((cred)->gid)
++# define afs_cr_group_info(cred) ((cred)->group_info)
++# define crhold(c) (get_cred(c))
+ static inline void
+ afs_set_cr_uid(cred_t *cred, uid_t uid) {
+ cred->fsuid = uid;
+@@ -176,11 +176,11 @@ afs_set_cr_group_info(cred_t *cred, struct group_info *group_info) {
+ cred->group_info = group_info;
+ }
+
+-#define current_group_info() (current->cred->group_info)
+-#define task_gid(task) (task->cred->gid)
+-#define task_user(task) (task->cred->user)
+-#define task_session_keyring(task) (task->cred->tgcred->session_keyring)
+-#define current_session_keyring() (current->cred->tgcred->session_keyring)
++# define current_group_info() (current->cred->group_info)
++# define task_gid(task) (task->cred->gid)
++# define task_user(task) (task->cred->user)
++# define task_session_keyring(task) (task->cred->tgcred->session_keyring)
++# define current_session_keyring() (current->cred->tgcred->session_keyring)
+
+ #else
+
+@@ -194,31 +194,31 @@ typedef struct afs_cred {
+ } cred_t;
+
+ typedef struct afs_cred afs_ucred_t;
+-#define afs_cr_group_info(cred) ((cred)->cr_group_info)
++# define afs_cr_group_info(cred) ((cred)->cr_group_info)
+ static inline void
+ afs_set_cr_group_info(cred_t *cred, struct group_info *group_info) {
+ cred->cr_group_info = group_info;
+ }
+
+-#define current_group_info() (current->group_info)
+-#if !defined(task_gid)
+-#define task_gid(task) (task->gid)
+-#endif
+-#if !defined(task_uid)
+-#define task_uid(task) (task->uid)
+-#endif
+-#define task_user(task) (task->user)
+-#define task_session_keyring(task) (task->signal->session_keyring)
+-#define current_session_keyring() (current->signal->session_keyring)
+-#define crhold(c) atomic_inc(&(c)->cr_ref)
++# define current_group_info() (current->group_info)
++# if !defined(task_gid)
++# define task_gid(task) (task->gid)
++# endif
++# if !defined(task_uid)
++# define task_uid(task) (task->uid)
++# endif
++# define task_user(task) (task->user)
++# define task_session_keyring(task) (task->signal->session_keyring)
++# define current_session_keyring() (current->signal->session_keyring)
++# define crhold(c) atomic_inc(&(c)->cr_ref)
+
+ #endif /* defined(STRUCT_TASK_STRUCT_HAS_CRED) */
+
+ #if !defined(current_cred)
+-#define current_gid() (current->gid)
+-#define current_uid() (current->uid)
+-#define current_fsgid() (current->fsgid)
+-#define current_fsuid() (current->fsuid)
++# define current_gid() (current->gid)
++# define current_uid() (current->uid)
++# define current_fsgid() (current->fsgid)
++# define current_fsuid() (current->fsuid)
+ #endif
+
+ /* UIO manipulation */
+@@ -245,7 +245,7 @@ struct uio {
+ #define OSIFILE_INODE(a) FILE_INODE((a)->filp)
+
+ #if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV)
+-#define NEED_IOCTL32
++# define NEED_IOCTL32
+ #endif
+
+ #include <linux/version.h>
+@@ -256,8 +256,8 @@ struct uio {
+ extern struct mutex afs_global_lock;
+ #else
+ extern struct semaphore afs_global_lock;
+-#define mutex_lock(lock) down(lock)
+-#define mutex_unlock(lock) up(lock)
++# define mutex_lock(lock) down(lock)
++# define mutex_unlock(lock) up(lock)
+ #endif
+ extern int afs_global_owner;
+
+@@ -285,63 +285,63 @@ do { \
+ #ifdef AFS_AMD64_LINUX20_ENV
+ /* RHEL5 beta's kernel doesn't define these. They aren't gonna change, so... */
+
+-#ifndef __NR_ia32_afs_syscall
+-#define __NR_ia32_afs_syscall 137
+-#endif
+-#ifndef __NR_ia32_setgroups
+-#define __NR_ia32_setgroups 81
+-#endif
+-#ifndef __NR_ia32_setgroups32
+-#define __NR_ia32_setgroups32 206
+-#endif
+-#ifndef __NR_ia32_close
+-#define __NR_ia32_close 6
+-#endif
+-#ifndef __NR_ia32_chdir
+-#define __NR_ia32_chdir 12
+-#endif
+-#ifndef __NR_ia32_break
+-#define __NR_ia32_break 17
+-#endif
+-#ifndef __NR_ia32_stty
+-#define __NR_ia32_stty 31
+-#endif
+-#ifndef __NR_ia32_gtty
+-#define __NR_ia32_gtty 32
+-#endif
+-#ifndef __NR_ia32_ftime
+-#define __NR_ia32_ftime 35
+-#endif
+-#ifndef __NR_ia32_prof
+-#define __NR_ia32_prof 44
+-#endif
+-#ifndef __NR_ia32_lock
+-#define __NR_ia32_lock 53
+-#endif
+-#ifndef __NR_ia32_mpx
+-#define __NR_ia32_mpx 56
+-#endif
+-#ifndef __NR_ia32_exit
+-#define __NR_ia32_exit 1
+-#endif
+-#ifndef __NR_ia32_mount
+-#define __NR_ia32_mount 21
+-#endif
+-#ifndef __NR_ia32_read
+-#define __NR_ia32_read 3
+-#endif
+-#ifndef __NR_ia32_write
+-#define __NR_ia32_write 4
+-#endif
+-#ifndef __NR_ia32_open
+-#define __NR_ia32_open 5
+-#endif
+-#ifndef __NR_ia32_close
+-#define __NR_ia32_close 6
+-#endif
+-#ifndef __NR_ia32_unlink
+-#define __NR_ia32_unlink 10
+-#endif
++# ifndef __NR_ia32_afs_syscall
++# define __NR_ia32_afs_syscall 137
++# endif
++# ifndef __NR_ia32_setgroups
++# define __NR_ia32_setgroups 81
++# endif
++# ifndef __NR_ia32_setgroups32
++# define __NR_ia32_setgroups32 206
++# endif
++# ifndef __NR_ia32_close
++# define __NR_ia32_close 6
++# endif
++# ifndef __NR_ia32_chdir
++# define __NR_ia32_chdir 12
++# endif
++# ifndef __NR_ia32_break
++# define __NR_ia32_break 17
++# endif
++# ifndef __NR_ia32_stty
++# define __NR_ia32_stty 31
++# endif
++# ifndef __NR_ia32_gtty
++# define __NR_ia32_gtty 32
++# endif
++# ifndef __NR_ia32_ftime
++# define __NR_ia32_ftime 35
++# endif
++# ifndef __NR_ia32_prof
++# define __NR_ia32_prof 44
++# endif
++# ifndef __NR_ia32_lock
++# define __NR_ia32_lock 53
++# endif
++# ifndef __NR_ia32_mpx
++# define __NR_ia32_mpx 56
++# endif
++# ifndef __NR_ia32_exit
++# define __NR_ia32_exit 1
++# endif
++# ifndef __NR_ia32_mount
++# define __NR_ia32_mount 21
++# endif
++# ifndef __NR_ia32_read
++# define __NR_ia32_read 3
++# endif
++# ifndef __NR_ia32_write
++# define __NR_ia32_write 4
++# endif
++# ifndef __NR_ia32_open
++# define __NR_ia32_open 5
++# endif
++# ifndef __NR_ia32_close
++# define __NR_ia32_close 6
++# endif
++# ifndef __NR_ia32_unlink
++# define __NR_ia32_unlink 10
++# endif
+ #endif
+
+ #define osi_procname(procname, size) strncpy(procname, current->comm, size)
+--
+1.7.2.5
+
diff --git a/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-2.patch b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-2.patch
new file mode 100644
index 000000000000..64ed5adfcb06
--- /dev/null
+++ b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-2.patch
@@ -0,0 +1,137 @@
+From eeaabffccffca0bf4c622819da62c6eaa51888bb Mon Sep 17 00:00:00 2001
+From: Marc Dionne <marc.c.dionne@gmail.com>
+Date: Wed, 9 Jan 2013 19:26:54 -0500
+Subject: [PATCH] Linux 3.8: session_keyring changes
+
+The session_keyring is now attached directly to the cred structure
+and the thread_group_cred structure (cred->tgcred) no longer exists.
+
+Adapt code that makes use of tgcred, and use the standard rcu based
+mechanism to update session_keyring.
+
+Reviewed-on: http://gerrit.openafs.org/8905
+Reviewed-by: Andrew Deason <adeason@sinenomine.net>
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
+(cherry picked from commit c6d27e322a8d3b352554650473a048235a9c763a)
+
+Change-Id: I048ed7b52062a5d666c78dba2599d5fb81c676c1
+---
+ acinclude.m4 | 1 +
+ src/afs/LINUX/osi_compat.h | 34 ++++++++++++++++++++++++++++++++--
+ src/afs/LINUX/osi_groups.c | 9 ++-------
+ src/afs/LINUX/osi_machdep.h | 9 +++++++--
+ 4 files changed, 42 insertions(+), 11 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 8c57779..0a05caa 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -812,6 +812,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
+ [write_begin], [fs.h])
+ AC_CHECK_LINUX_STRUCT([backing_dev_info], [name],
+ [backing-dev.h])
++ AC_CHECK_LINUX_STRUCT([cred], [session_keyring], [cred.h])
+ AC_CHECK_LINUX_STRUCT([ctl_table], [ctl_name], [sysctl.h])
+ AC_CHECK_LINUX_STRUCT([dentry_operations], [d_automount], [dcache.h])
+ AC_CHECK_LINUX_STRUCT([inode], [i_alloc_sem], [fs.h])
+diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h
+index 2dda136..a777542 100644
+--- a/src/afs/LINUX/osi_compat.h
++++ b/src/afs/LINUX/osi_compat.h
+@@ -186,14 +186,24 @@ afs_linux_key_alloc(struct key_type *type, const char *desc, uid_t uid,
+ }
+
+ # if defined(STRUCT_TASK_STRUCT_HAS_CRED)
++static inline struct key *
++afs_session_keyring(afs_ucred_t *cred)
++{
++# if defined(STRUCT_CRED_HAS_SESSION_KEYRING)
++ return cred->session_keyring;
++# else
++ return cred->tgcred->session_keyring;
++# endif
++}
++
+ static inline struct key*
+ afs_linux_search_keyring(afs_ucred_t *cred, struct key_type *type)
+ {
+ key_ref_t key_ref;
+
+- if (cred->tgcred->session_keyring) {
++ if (afs_session_keyring(cred)) {
+ key_ref = keyring_search(
+- make_key_ref(cred->tgcred->session_keyring, 1),
++ make_key_ref(afs_session_keyring(cred), 1),
+ type, "_pag");
+ if (IS_ERR(key_ref))
+ return ERR_CAST(key_ref);
+@@ -507,4 +517,24 @@ afs_set_name(afs_name_t aname, char *string) {
+ }
+ #endif
+
++static_inline struct key *
++afs_set_session_keyring(struct key *keyring)
++{
++ struct key *old;
++#if defined(STRUCT_CRED_HAS_SESSION_KEYRING)
++ struct cred *new_creds;
++ old = current_session_keyring();
++ new_creds = prepare_creds();
++ rcu_assign_pointer(new_creds->session_keyring, keyring);
++ commit_creds(new_creds);
++#else
++ spin_lock_irq(&current->sighand->siglock);
++ old = task_session_keyring(current);
++ smp_wmb();
++ task_session_keyring(current) = keyring;
++ spin_unlock_irq(&current->sighand->siglock);
++#endif
++ return old;
++}
++
+ #endif /* AFS_LINUX_OSI_COMPAT_H */
+diff --git a/src/afs/LINUX/osi_groups.c b/src/afs/LINUX/osi_groups.c
+index c2a0308..e351344 100644
+--- a/src/afs/LINUX/osi_groups.c
++++ b/src/afs/LINUX/osi_groups.c
+@@ -214,14 +214,9 @@ install_session_keyring(struct key *keyring)
+ }
+
+ /* install the keyring */
+- spin_lock_irq(&current->sighand->siglock);
+- old = task_session_keyring(current);
+- smp_wmb();
+- task_session_keyring(current) = keyring;
+- spin_unlock_irq(&current->sighand->siglock);
+-
++ old = afs_set_session_keyring(keyring);
+ if (old)
+- key_put(old);
++ key_put(old);
+
+ out:
+ return code;
+diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h
+index 9260733..0202d0d 100644
+--- a/src/afs/LINUX/osi_machdep.h
++++ b/src/afs/LINUX/osi_machdep.h
+@@ -179,8 +179,13 @@ afs_set_cr_group_info(cred_t *cred, struct group_info *group_info) {
+ # define current_group_info() (current->cred->group_info)
+ # define task_gid(task) (task->cred->gid)
+ # define task_user(task) (task->cred->user)
+-# define task_session_keyring(task) (task->cred->tgcred->session_keyring)
+-# define current_session_keyring() (current->cred->tgcred->session_keyring)
++# if defined(STRUCT_CRED_HAS_SESSION_KEYRING)
++# define task_session_keyring(task) (task->cred->session_keyring)
++# define current_session_keyring() (current->cred->session_keyring)
++# else
++# define task_session_keyring(task) (task->cred->tgcred->session_keyring)
++# define current_session_keyring() (current->cred->tgcred->session_keyring)
++# endif
+
+ #else
+
+--
+1.7.2.5
+
diff --git a/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-3.patch b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-3.patch
new file mode 100644
index 000000000000..7aab040db769
--- /dev/null
+++ b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-3.patch
@@ -0,0 +1,80 @@
+From e18d900f585d2fe319d3c0f6d10c11dc0acefed4 Mon Sep 17 00:00:00 2001
+From: Marc Dionne <marc.c.dionne@gmail.com>
+Date: Wed, 9 Jan 2013 21:22:27 -0500
+Subject: [PATCH] Linux 3.8: vmtruncate removal
+
+vmtruncate had been deprecated for a while and has now been
+removed. Do things the new way based on truncate_setsize.
+
+Reviewed-on: http://gerrit.openafs.org/8906
+Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
+(cherry picked from commit d0479bbaf43900d6733c3f7517926ee9813c9610)
+
+Change-Id: Ie0065cb0ca817c1af5ed51418a0474012050f34d
+---
+ acinclude.m4 | 1 +
+ src/afs/LINUX/osi_compat.h | 14 ++++++++++++++
+ src/afs/LINUX/osi_vm.c | 5 ++---
+ 3 files changed, 17 insertions(+), 3 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 0a05caa..4223bb1 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -824,6 +824,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
+ AC_CHECK_LINUX_STRUCT([file_operations], [sendfile], [fs.h])
+ AC_CHECK_LINUX_STRUCT([file_system_type], [mount], [fs.h])
+ AC_CHECK_LINUX_STRUCT([filename], [name], [fs.h])
++ AC_CHECK_LINUX_STRUCT([inode_operations], [truncate], [fs.h])
+ AC_CHECK_LINUX_STRUCT([key_type], [preparse], [key-type.h])
+ AC_CHECK_LINUX_STRUCT([nameidata], [path], [namei.h])
+ AC_CHECK_LINUX_STRUCT([proc_dir_entry], [owner], [proc_fs.h])
+diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h
+index a777542..e8bf003 100644
+--- a/src/afs/LINUX/osi_compat.h
++++ b/src/afs/LINUX/osi_compat.h
+@@ -537,4 +537,18 @@ afs_set_session_keyring(struct key *keyring)
+ return old;
+ }
+
++static inline int
++afs_truncate(struct inode *inode, int len)
++{
++ int code;
++#if defined(STRUCT_INODE_OPERATIONS_HAS_TRUNCATE)
++ code = vmtruncate(inode, len);
++#else
++ code = inode_newsize_ok(inode, len);
++ if (!code)
++ truncate_setsize(inode, len);
++#endif
++ return code;
++}
++
+ #endif /* AFS_LINUX_OSI_COMPAT_H */
+diff --git a/src/afs/LINUX/osi_vm.c b/src/afs/LINUX/osi_vm.c
+index 2cd34f9..8bc792e 100644
+--- a/src/afs/LINUX/osi_vm.c
++++ b/src/afs/LINUX/osi_vm.c
+@@ -51,8 +51,7 @@ osi_VM_FlushVCache(struct vcache *avc, int *slept)
+ if (avc->opens != 0)
+ return EBUSY;
+
+- return vmtruncate(ip, 0);
+- return 0;
++ return afs_truncate(ip, 0);
+ }
+
+ /* Try to invalidate pages, for "fs flush" or "fs flushv"; or
+@@ -132,5 +131,5 @@ osi_VM_FlushPages(struct vcache *avc, afs_ucred_t *credp)
+ void
+ osi_VM_Truncate(struct vcache *avc, int alen, afs_ucred_t *acred)
+ {
+- vmtruncate(AFSTOV(avc), alen);
++ afs_truncate(AFSTOV(avc), alen);
+ }
+--
+1.7.2.5
+
diff --git a/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-4.patch b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-4.patch
new file mode 100644
index 000000000000..d8cfbbbcdbb5
--- /dev/null
+++ b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-4.patch
@@ -0,0 +1,37 @@
+From 7e8731d4971f6c93c5edaf28d8582d6accc5c42c Mon Sep 17 00:00:00 2001
+From: Marc Dionne <marc.c.dionne@gmail.com>
+Date: Thu, 24 Jan 2013 21:38:28 -0500
+Subject: [PATCH] Linux: crset should use passed credentials
+
+When copying credentials in crset, take the passed credentials as
+the source instead of the current process credentials.
+
+This doesn't cause any problems currently since crset always gets
+called with the current credentials.
+
+Reviewed-on: http://gerrit.openafs.org/8980
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
+(cherry picked from commit 3b733db8bf2bc3a1366554ae97814cc722437149)
+
+Change-Id: I4d0000a139d16fafe480f7ebccc6759da7dea6bb
+---
+ src/afs/LINUX/osi_cred.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/afs/LINUX/osi_cred.c b/src/afs/LINUX/osi_cred.c
+index 20be594..f271321 100644
+--- a/src/afs/LINUX/osi_cred.c
++++ b/src/afs/LINUX/osi_cred.c
+@@ -117,7 +117,7 @@ crset(cred_t * cr)
+ new_creds = prepare_creds();
+ /* Drop the reference to group_info - we'll overwrite it in afs_copy_creds */
+ put_group_info(new_creds->group_info);
+- afs_copy_creds(new_creds, current_cred());
++ afs_copy_creds(new_creds, cr);
+
+ commit_creds(new_creds);
+ #else
+--
+1.7.2.5
+
diff --git a/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-5.patch b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-5.patch
new file mode 100644
index 000000000000..4a40f748d8a5
--- /dev/null
+++ b/net-fs/openafs-kernel/files/openafs-1.6.2-kernel-3.8-5.patch
@@ -0,0 +1,65 @@
+From 5f1d570c7bcafbda90bc5985b716fdb94e2aa10a Mon Sep 17 00:00:00 2001
+From: Marc Dionne <marc.c.dionne@gmail.com>
+Date: Sun, 27 Jan 2013 20:52:39 -0500
+Subject: [PATCH] Linux: Detect undefined symbols in kernel modules
+
+Undefined symbols in the kernel modules are not currently detected
+at build time. As a result, buildbot may indicate success while
+the resulting kernel modules are unusable.
+
+In the kernel build process, modpost warns about missing symbols
+but does not return an error in the case of external modules.
+Detect these warnings and cause the libafs build to fail.
+
+Reviewed-on: http://gerrit.openafs.org/8981
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
+Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
+(cherry picked from commit dbdee60a83d72d38a04a0eeb2a5324cf497e57e3)
+
+Change-Id: If28b97b6ce53b0feef2464a56fd7a48443c973ae
+---
+ src/libafs/.gitignore | 1 +
+ src/libafs/MakefileProto.LINUX.in | 10 +++++++++-
+ 2 files changed, 10 insertions(+), 1 deletions(-)
+
+diff --git a/src/libafs/.gitignore b/src/libafs/.gitignore
+index d87f88a..225e979 100644
+--- a/src/libafs/.gitignore
++++ b/src/libafs/.gitignore
+@@ -26,3 +26,4 @@
+ /rpc
+ /sys
+ /rx
++/.makelog
+diff --git a/src/libafs/MakefileProto.LINUX.in b/src/libafs/MakefileProto.LINUX.in
+index 63b2f35..9449360 100644
+--- a/src/libafs/MakefileProto.LINUX.in
++++ b/src/libafs/MakefileProto.LINUX.in
+@@ -19,6 +19,8 @@ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+
++AFS_OS_CLEAN = .makelog
++
+ # OS specific object files:
+ AFS_OS_OBJS = \
+ osi_alloc.o \
+@@ -338,7 +340,13 @@ ${LIBAFS} ${LIBAFS_MP} ${LIBAFS_EP} ${LIBAFS_BM}: ${LINUX_LIBAFS_NAME}.ko
+ .FORCE:
+ ${LINUX_LIBAFS_NAME}.ko afspag.ko: .FORCE
+ env EXTRA_CFLAGS="${EXTRA_CFLAGS}" @TOP_SRCDIR@/libafs/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common
+- env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL_BUILD} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules
++ env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL_BUILD} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules 2>&1 | tee .makelog
++ @if [ `grep ^WARNING .makelog | wc -l` -ne 0 ]; then \
++ echo Error: Undefined symbols in modules ; \
++ rm .makelog \
++ exit 1 ; \
++ fi
++ rm .makelog
+
+ <all -linux26 -linux_26 -umlinux26>
+ ${LIBAFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
+--
+1.7.2.5
+
diff --git a/net-fs/openafs-kernel/openafs-kernel-1.6.2.ebuild b/net-fs/openafs-kernel/openafs-kernel-1.6.2.ebuild
new file mode 100644
index 000000000000..df7fdcb7081e
--- /dev/null
+++ b/net-fs/openafs-kernel/openafs-kernel-1.6.2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/openafs-kernel-1.6.2.ebuild,v 1.1 2013/03/24 04:24:42 vapier Exp $
+
+EAPI="4"
+
+inherit eutils autotools multilib linux-mod versionator toolchain-funcs
+
+MY_PV=$(delete_version_separator '_')
+MY_PN=${PN/-kernel}
+MY_P2="${MY_PN}-${PV}"
+MY_P="${MY_PN}-${MY_PV}"
+PVER="1"
+DESCRIPTION="The OpenAFS distributed file system kernel module"
+HOMEPAGE="http://www.openafs.org/"
+# We always d/l the doc tarball as man pages are not USE=doc material
+SRC_URI="http://openafs.org/dl/openafs/${MY_PV}/${MY_P}-src.tar.bz2
+ mirror://gentoo/${MY_P2}-patches-${PVER}.tar.bz2"
+
+LICENSE="IBM BSD openafs-krb5-a APSL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}
+
+CONFIG_CHECK="!DEBUG_RODATA ~!AFS_FS KEYS"
+ERROR_DEBUG_RODATA="OpenAFS is incompatible with linux' CONFIG_DEBUG_RODATA option"
+ERROR_AFS_FS="OpenAFS conflicts with the in-kernel AFS-support. Make sure not to load both at the same time!"
+ERROR_KEYS="OpenAFS needs CONFIG_KEYS option enabled"
+
+QA_TEXTRELS_x86_fbsd="/boot/modules/libafs.ko"
+QA_TEXTRELS_amd64_fbsd="/boot/modules/libafs.ko"
+
+pkg_setup() {
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ fi
+}
+
+src_prepare() {
+ EPATCH_EXCLUDE="012_all_kbuild.patch" \
+ EPATCH_SUFFIX="patch" \
+ epatch "${WORKDIR}"/gentoo/patches
+ epatch "${FILESDIR}"/openafs-1.6.2-kernel-3.8-{1..5}.patch
+
+ # packaging is f-ed up, so we can't run automake (i.e. eautoreconf)
+ sed -i 's/^\(\s*\)a/\1ea/' regen.sh
+ : # this line makes repoman ok with not calling eautoconf etc. directly
+ skipman=1
+ . regen.sh
+}
+
+src_configure() {
+ ARCH="$(tc-arch-kernel)" \
+ econf \
+ --with-linux-kernel-headers=${KV_DIR} \
+ --with-linux-kernel-build=${KV_OUT_DIR}
+}
+
+src_compile() {
+ ARCH="$(tc-arch-kernel)" emake -j1 only_libafs || die
+}
+
+src_install() {
+ if use kernel_linux; then
+ local srcdir=$(expr "${S}"/src/libafs/MODLOAD-*)
+ [[ -f ${srcdir}/libafs.${KV_OBJ} ]] || die "Couldn't find compiled kernel module"
+
+ MODULE_NAMES="libafs(fs/openafs:${srcdir})"
+
+ linux-mod_src_install
+ elif use kernel_FreeBSD; then
+ insinto /boot/modules
+ doins "${S}"/src/libafs/MODLOAD/libafs.ko
+ fi
+}
+
+pkg_postinst() {
+ # Update linker.hints file
+ use kernel_FreeBSD && /usr/sbin/kldxref "${EPREFIX}/boot/modules"
+ use linux_kernel && linux-mod_pkg_postinst
+}
+
+pkg_postrm() {
+ # Update linker.hints file
+ use kernel_FreeBSD && /usr/sbin/kldxref "${EPREFIX}/boot/modules"
+ use linux_kernel && linux-mod_pkg_postrm
+}