summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Yao <ryao@gentoo.org>2013-07-14 11:52:57 +0000
committerRichard Yao <ryao@gentoo.org>2013-07-14 11:52:57 +0000
commit5b5161670899618011033f4ed3a9e118cb273886 (patch)
treeaa7f6d0899162879c15da37a7e8bfff98b54919f /sys-fs/zfs
parentLinux 3.10 support; asynchronous zvol initialization; miscellaneous fixes for... (diff)
downloadhistorical-5b5161670899618011033f4ed3a9e118cb273886.tar.gz
historical-5b5161670899618011033f4ed3a9e118cb273886.tar.bz2
historical-5b5161670899618011033f4ed3a9e118cb273886.zip
Systemd support (bug #475872); Add python dependency to 9999 ebuild (bug #473788); Asynchronous zvol initialization; GCC 4.8 Compatibility Fix; Miscellaneous zdb fixes
Package-Manager: portage-2.2.0_alpha187/cvs/Linux x86_64 Manifest-Sign-Key: 0xBEE84C64
Diffstat (limited to 'sys-fs/zfs')
-rw-r--r--sys-fs/zfs/ChangeLog13
-rw-r--r--sys-fs/zfs/Manifest38
-rw-r--r--sys-fs/zfs/files/zfs-0.6.1-avoid-zdb-abort.patch30
-rw-r--r--sys-fs/zfs/files/zfs-0.6.1-fix-gcc-4.8-warning.patch42
-rw-r--r--sys-fs/zfs/files/zfs-0.6.1-fix-zvol-initialization-r1.patch167
-rw-r--r--sys-fs/zfs/files/zfs-init.sh.in29
-rw-r--r--sys-fs/zfs/files/zfs.service.in16
-rw-r--r--sys-fs/zfs/zfs-0.6.1-r2.ebuild154
-rw-r--r--sys-fs/zfs/zfs-9999.ebuild41
9 files changed, 502 insertions, 28 deletions
diff --git a/sys-fs/zfs/ChangeLog b/sys-fs/zfs/ChangeLog
index cab2e05fcc00..47bfedcaac7e 100644
--- a/sys-fs/zfs/ChangeLog
+++ b/sys-fs/zfs/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for sys-fs/zfs
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/ChangeLog,v 1.65 2013/05/29 01:12:58 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/ChangeLog,v 1.66 2013/07/14 11:52:50 ryao Exp $
+
+*zfs-0.6.1-r2 (14 Jul 2013)
+
+ 14 Jul 2013; Richard Yao <ryao@gentoo.org>
+ +files/zfs-0.6.1-avoid-zdb-abort.patch,
+ +files/zfs-0.6.1-fix-gcc-4.8-warning.patch,
+ +files/zfs-0.6.1-fix-zvol-initialization-r1.patch, +files/zfs-init.sh.in,
+ +files/zfs.service.in, +zfs-0.6.1-r2.ebuild, zfs-9999.ebuild:
+ Systemd support (bug #475872); Add python dependency to 9999 ebuild (bug
+ #473788); Asynchronous zvol initialization; GCC 4.8 Compatibility Fix;
+ Miscellaneous zdb fixes
29 May 2013; Richard Yao <ryao@gentoo.org> zfs-0.6.1-r1.ebuild:
Add selinux USE flag
diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index e35657312511..a97f9808d964 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -3,7 +3,12 @@ Hash: SHA256
AUX bash-completion 6203 SHA256 15e742477fad0104871fc055b6ce9bf803540070e47fa515ea7ca3c1a401f831 SHA512 e7ccb7179c4c455c496daab192099d7553674b9505801e25a2ea8c67a1b4de15d68ac99b2c3347c1f3454f88ede7694f08da61c5d061f0577bb1594ca4a90f12 WHIRLPOOL 79dfdc9c80a707f6bb39bea51ec451c16b821886ce3e84c73a249313d991cf8019f0647b0fe439754fc1ad08cb294bf4c245955fdc4af30286a8afd61dba21ba
AUX zfs-0.6.0_rc14-fix-libzpool-function-relocations.patch 1159 SHA256 bd40a60408772cfe789bd0f055906cd2aebf43761adb2cb19ca6219c92c5f996 SHA512 aba0ee09e0070ee7472ffeb0274fdac1870e6a11390c110e9febd7240eb8465351355ce6b735d3f0a6ce2ce5bd167a4239ececc3dae33899df3b4f72c162f037 WHIRLPOOL 72635866ef46b592d257071d4902d36b95855850e40de0b6a6afc6ad416460ebdc5b2ece67d011a052895ab6ae9135d77622f7fb15f4cc0f3a6b96df6c2581d2
+AUX zfs-0.6.1-avoid-zdb-abort.patch 844 SHA256 651ece4a40b842c00d393d3f969435f733a987cc420f9a300ed2bd1c78e94dba SHA512 d976e0a829ddad680449d0a4d89a7130fb113668bf6766e3004df47a14620e26910e3d0f7cc2f8d5a7cef4a7ba3794ed36624d63ee6c577585d80964e931becf WHIRLPOOL fa47408a8116d5b72f322bbe878f2275febfca613e8718406ed566be23a4a8715113be66c1694c4272f6fc5c26aae78dbd2de31c095aa0cf95dbc7d13d276d4c
+AUX zfs-0.6.1-fix-gcc-4.8-warning.patch 1432 SHA256 2a2fb2a0b4960e7c616f4bb27a2a1ddf6dfcef30eb6b22ead20d70fe58055c1e SHA512 6063ad756aac5df4b850fb79630696f0616e3a906463bdce147b07383ed1cba47a60e02eac3cc2888fb92f9915e6ff8e28ca36c4e3d11cc9e65391c68a79d972 WHIRLPOOL 4d0432ca6468d44de7a870e03d20497eeb39b1e373d843862a695622b9d69e8eff6f3d52471b7756f80c9392ae12a797b6665c4d27f73710f67f0ee1aaafcbad
+AUX zfs-0.6.1-fix-zvol-initialization-r1.patch 4803 SHA256 36f778dc0fa3c3c7aa4f2383e9463a75c51da19a1a719018f729e9d42ffb52ed SHA512 bfe5ee1185fe044cbf758414b0c8bc4311de6b0502a6f0c6a8fecec71402376f0ab4aa7e798f870c262f54d77f6b84590cc2ae371ff4880dcd97b834ac443483 WHIRLPOOL 3932ef6eea9ed0f23146f980504540843b04a684d5c55cdb5aec60d9fdb18354d61e485b55f5a0f2561ed3e379accd6b3d3f7c39bdbc91bc0d3194546e75ec5e
AUX zfs-0.6.1-gentoo-openrc-dependencies.patch 2416 SHA256 01b4def8e15eb8854d87529d4540b7b85c927b64e81112cecf13a5aa30c1bc31 SHA512 d4012fb14f3c599d763b6412c092b95d76297afd4d65b71a602485357505aa1fbdc7f5ad437b5634365311349f1a29adcc1dd0e7d20cb85802ce58c0dd393d3c WHIRLPOOL 9c4e3ece9773efc5ec99f9a453eca4656d8e64ac47735878313cddbae8a64ba34503c4a3dd206e658c47f1b9360d545e497838e455af90b87ae4a935d28172f6
+AUX zfs-init.sh.in 582 SHA256 820cbbfe881315a640ea398c0c7eac60d2eeb191f694ef69f3e8ea725a8de085 SHA512 bed7eae5f902f13489241782d3d560b53a5a3258de492763b7b25783ca9417975afb9000f68f58be5c2057e1db50a569374ed0ff572140aa65e401e20e646461 WHIRLPOOL 3e9ec22a60a9ba4e71cfab74b25d5ad4aff1b64bfb210d31fc36d5a768527e8b692fe3a9712d9f6bfa8f08e03f7e92ed035a3d8bf4e360b22fa4a4e5b9e9d214
+AUX zfs.service.in 335 SHA256 05200c23a6eb60698eadf4dea671c96adab349cc0d8539cb95cd96fcc98a5d1a SHA512 45251fd4ea945f8be770710f3833a97a123a6acd47aa5ba5458ec3518cb54420a3cdb63835f3c25d99c845f03b6e14c87dee525396fd7969eb3f6cf6e8266322 WHIRLPOOL 01ad25d8352e4ccd04351f46d18b185224a0386910a965ffda2e603b10d35777700f9396905737f19bc35d9629514fe5765cf3f410af8ca3b3d52261c4c47475
DIST zfs-0.6.0-rc10.tar.gz 2061969 SHA256 250978869fe4b0f3a5c4f7aa2ae2f584b311e9036064a4f2135b33fe3ce567d6 SHA512 e6634453b378c6cd8d8799ce0a1f7016f3607b80bd3c87cd80f36ee9330ca065a1678d489f49675481f7e7d630e5511ea30e421515444e60549f753c051ca52d WHIRLPOOL 24997422fe14226623f3d2f34fe92c22f6b8b0975d488d67198e53b744aa4e775a82e56b69be83ab593820320707348d611127f1a8719a100cc9fea108a85761
DIST zfs-0.6.0-rc11.tar.gz 2099538 SHA256 4701f9d32d3475650068d0c07b968f0de443103d73db315b4f328c296cd6a073 SHA512 4bd2fc3cd5eb89f64b7b92a16e416edb245b0a9b90b5e1aa3bd1560c7d568322de03fdb40ede2d8417b0b642bbf70a1e804d51e4537babbfa9c767271b701138 WHIRLPOOL c56034028fd7c21f516ceb268cc25eeedd129a2a7cb8c1615f43982a86bb4400e80ab74159c4fc5d24a79610e2c0935f54cbc33c447751f29cecec882bfef89e
DIST zfs-0.6.0-rc12.tar.gz 2150456 SHA256 3eb85e4028480e9dd56e29eca0a4e71565c1501f0159c80a1b1ff961b6f137d6 SHA512 55f0d9ea9f085d78a4929250949449ec4329a71c00ecd6fe76322716b64dc1152d93a23bb8b18e4ba7e1fbd6110b170366763f730c1e5006998aee3870e3635e WHIRLPOOL ea8fbe2edb2e0029affed261916d10ef350129c496b71064d34749b805d83c1531d886a55802839bb4226e298719f708f6816ee5411626b431b1d506bbf10232
@@ -16,24 +21,25 @@ EBUILD zfs-0.6.0_rc12-r3.ebuild 2425 SHA256 7ae28e9025453f623fdfddccbaba6d4f5644
EBUILD zfs-0.6.0_rc13-r2.ebuild 2767 SHA256 a01f304e92fd0fdb0c2d61d2924948a8184a31d6ff300d0b95cf10fdde20c4b7 SHA512 0c5280577004b38eab50beaa86d621e06eac648e7b5f9ba0af7e3522c9ea1ea9e12cb0ab4cf0a918c59bf919c9596ea23716be639a86a6bbc4ce3151d3cef744 WHIRLPOOL af66f26c293b926e52f729ef11fd5ac218c8a6ef78a73525a945fc843f9de2735ac65032a9a0c1a7b35f6d5bd083751c52e3301949212c2e284f67ef1afa33b7
EBUILD zfs-0.6.0_rc14-r1.ebuild 2898 SHA256 94eec2441edd8094dad6bb73a576198fcb5c3221de9e4cff13193f86906897a3 SHA512 e948a46ab4560754896044411fb51b1188e601dca4cd9de56022b72ee6d8c942329813e71a9dadb9c9665d203c5d8dd04c1f9071472950eaead78898ed5826f1 WHIRLPOOL 84080714d51b18a663812115c16eb734f71ab2f02d5138a30dcc660a361caa198021ae46b744c35edd8b78edfcc3f9a2b5ece8fdf68b2ac26dae199eb76028a3
EBUILD zfs-0.6.1-r1.ebuild 3017 SHA256 38794a4dcbd66db04260f501734da274e4738ab5b3cfa3b360f09c9437374e91 SHA512 950fd8c79e06ed42d474d13a7225cc7aae56923d67daf4dd194e5b98ffda70f6b5a7414190b5fcc8677794bf82b98ae2ad2205b6094d5285e42d3de32eff9b1c WHIRLPOOL 6cdba090ae21a0d47e55213ffe4b2a97fb58e67bd9e2c7d039d62007f5bd18a5ea061c05ab2c23a93716478250e938a981bdfdc2e5a51c7d5ef7c13d13382a13
+EBUILD zfs-0.6.1-r2.ebuild 3725 SHA256 ed454273ae807ddaf329eb371fbd1616220781144dab09d093cf2f123454adb7 SHA512 d6639467dcb62b03a5832f30914d5bfb44049f81ee8aae876735556b2d0b4a93a0eb32f6c33c4fe22167002fc4f8868d2a4662e5fa7083ab5c70320ca476e453 WHIRLPOOL 92d169bd337b67e2b37cde90886fa2421127bcb4fe050fcab6ea28f608af445f9b7d21b3d224a7394e597b8ff7b156c87325e2d55a4a564bfbc13789386aec00
EBUILD zfs-0.6.1.ebuild 2787 SHA256 0d14acc8d1e636d2ef2135f49c48699a906767518402c5b899e61fcb8c06f77e SHA512 f32c75e8f29597015bb84c9b86e4afc59050fdd864dadcf73f7e033748bfe1fd8d571082688ae842d580bcdf61806c4a7896b22e8ccc035ac1caba1ff24fdc7d WHIRLPOOL fb20aa638bae357562c01e6aef319ccea970753c9148a36a484a5c252e9b1c905db10461a0e9d1ef217a6ac9f2989dcc090814359f593cc4f7d8e8228de1baa5
-EBUILD zfs-9999.ebuild 2890 SHA256 58335fa7bb966fcdafa0d770ba91b24de7ec8994dc6e355c64eb8fdfdd6cbe9b SHA512 e728d7e973cd30e561c6bf8af12a3c6fa51beac390ea22e318b960e76384b919c2e7d4ac98e43aa03ca3c999855ebfe0fe40e428921577b51d566de74bb70e82 WHIRLPOOL f26761c1f0bb6c6885ee296a748bfe2cc2d1fbae5c39a64f3b329b92b3250a42f8f29479b86fd7267a35516a1528d2211be1a2c7389423e85b066f6101547cca
-MISC ChangeLog 12731 SHA256 024f4d462514484cd02659e9e875eb7806f5e3814cde5b3d3f28d8b20a0b1d6e SHA512 1ff69bdfac12650bc59cfd58cdd263d2e5214a8c4999a7007f5bad1ac6eb17557ced6151a54f64bc66435c7f1e57fbe4013f1646b9322e453d8e27b1c1f4fc6b WHIRLPOOL c751f3b20ffd2e778f06a5ea843bf417dbd8600236a709edfe5c577e8bb84015284bc0cfc92f852bac414c4985729574c1b6fcabab704fcf2e85dc43d40d86e7
+EBUILD zfs-9999.ebuild 3510 SHA256 99e3cc3519e4d4913ed2cac611e10a8898376bc7a4325d2eb59a974db18ec23b SHA512 645aa7377a1e2c075fc85e2cba90f1f4513187d67674435f8786a3bed58677212728747700e6d7c755dd212f88e3e72c36ae05d061c464dadc0880aa1156609a WHIRLPOOL b9355980fd1c92ee55aa4659912a64f7763b8db17baf180664a3b73770ed954024a30c9e646115c6762bb61da395fc8f105ae324c8f10cd9f4561770db0092a1
+MISC ChangeLog 13208 SHA256 928b17b7e378e2a080838fb33a4fe8151d1203a2a43ef30b4072b1cbb526373b SHA512 3f599de923f88a368f4209f24bd9ba7307701733008cff58093ee35b889f8b10eb1b93b29dae5b3a47b34303b057689b8d323fcca791595a1b68f83756662503 WHIRLPOOL c57897038a0549f036d7a2249512723807ff3a87871f65934d77de56738d715cb6fa95b4f9bd4458910917f33ba01dd28148f3d38fe9e2e400d6ef82db8b0552
MISC metadata.xml 546 SHA256 980db453ce3112b91daa26f61bbc8eec61d12d0998d0bf76a1308aecad499c42 SHA512 33e25501a30e8cb8e890c1dbf98f5d5264a7958f7d710d37d4ee36efbb318d0db23533fefd51ca419cdc6f72416c1d0cc4fd3b1e68a157dca14890d54f411df6 WHIRLPOOL c96639028769b95ba23db8e8e20d71f5894b1ecebd6d3e62effc610d48e2c55797fa3536dea6e654185f288dd8edb6a2a063829598703f0f0ca61aa02f995314
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.19 (GNU/Linux)
+Version: GnuPG v2.0.20 (GNU/Linux)
-iQIcBAEBCAAGBQJRpVX9AAoJECDuEZm+6Exk1+UQAKseI08vDcfI7A46lOuqt2kf
-l+S1AYWYQhhqLPhRRNe6/p7fd3n3Ft7xC0bkOvXsatu0rdOTqMNV41ojTPsirjjI
-gc3FYp+Qp1lIZDhCOBcej1bCyReoGhVAFwDMMve6oljMpBlz9niIGYd4qKpv8ACt
-qndy6x4xRH/cvCpWil9dww6n0fMNlNGMY+9D5C2oSccCnvfQW9pkle0E1rCZgQ76
-KFNytBg+p+XPKJOAtvrKxi2KWTt38Whc+w3qIqRrKVcsdo5+nm6W24MpdHscAn51
-jFLPeAj6sZZJMffYS/kcGAupJXARu/BQMiTSxcpLRQgARymgTEZUqPZsXwIYsYqM
-Z+sY6JvF541m2a2YqRFPlxGV2a81rz+GjZ/osnEwPJu0ibCMmvh9heO4Wbn55wq0
-EcIH83/wwzhrBfC5NFUaCatSJcK7EHFdbFP1ybv56buHJ2D/Kk8fw9kkf8TRqFwV
-cHUzv/6pmYDoUBVOTnN9eFln8bGrbemmEn/B2GVJAXN19kw0YIv40ZkyJC9J2Kul
-KvSiiEqoP2uZ9mRXpHl5iHNznvmqtBALdQb34iJD8Nj+GmfGdVbF048CpKbvAbHk
-I3nQ76eob0MSea23FvHyEDxEsiLKCMcrEaSVCle6tpZFv+vecD3vpoNJ6ACvKC1W
-dd9KkMIa3NQrBWDKCk1P
-=oWQr
+iQIcBAEBCAAGBQJR4pEVAAoJECDuEZm+6ExkyGAP/0QhxJY1dwbkJzopL3SR+02W
+42219pw81NV584zJyCfBrftRleLlDyPSuz/D83Yk+drdE9SbYKwUSWclWMQXYSDp
+X5duFef2yYsJuZFRmppcuyNWtx52mX8YfB7pZncJgTJ74WnBiTAQUDHX5HgjOSAU
+QtVC9SMa+F9+WIyfDFULV9BCmbFyrAOLpXomfasW1H1N9HtQ9BamvaBy0IDLvNZW
+CyL2pPpk/PY5dRbSTBqDYsL+NmIuLTrnD2SOSLgI4AeeKPZnVCB4CJdCLPOxdMjv
+x9uUV8I/ZFsYiYILw6frInhSyiQSUEP0ngi7mYNis1ZcUjCOardT4mSO0+l31KEC
+Ds/AbnYGlCb57mj356Oo7x6X9JLVfgsgZ/DsvkvEs/BjOW7OFKaBTiwkr0P+cWRM
+2S6m6imWfd90owMTtKjLVVKzcA0kUrtZzPUygL7KlyG9/OnXnJEQ49FBA8gZn71j
+KNXxgcAXwTYjaen67vnWIcZrOdeXp3sYpR2np/CBUpK0GEMTivVi33aLE59QImzE
+cugPrucW2RfsC8NhJ+Wf7Hm2vpVufpfEP+MzSX8qliBczAytuGQKiYTLu3/1n3r7
+HIZhvu9p2huZI44ENG9G5pL1+1GL8yoD1Aa+U5GW8wOL8Im73JpYd4588lQkY9UT
+JDwXI4UEVGc41Uf4qd9o
+=VNI6
-----END PGP SIGNATURE-----
diff --git a/sys-fs/zfs/files/zfs-0.6.1-avoid-zdb-abort.patch b/sys-fs/zfs/files/zfs-0.6.1-avoid-zdb-abort.patch
new file mode 100644
index 000000000000..f73840feeed6
--- /dev/null
+++ b/sys-fs/zfs/files/zfs-0.6.1-avoid-zdb-abort.patch
@@ -0,0 +1,30 @@
+From 5d3dc3fb72518a4c191e3a014622b74365eb3a74 Mon Sep 17 00:00:00 2001
+From: Mike Leddy <mike.leddy@gmail.com>
+Date: Thu, 4 Jul 2013 01:02:05 -0300
+Subject: [PATCH] Avoid abort() in vn_rdwr(): libzpool/kernel.c
+
+Make sure that buffer is aligned to 512 bytes on linux so that
+pread call combined with O_DIRECT does not return EINVAL.
+
+Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Closes #1570
+---
+ cmd/zdb/zdb.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c
+index 936974b..a2b6bfe 100644
+--- a/cmd/zdb/zdb.c
++++ b/cmd/zdb/zdb.c
+@@ -2844,7 +2844,7 @@
+ psize = size;
+ lsize = size;
+
+- pbuf = umem_alloc(SPA_MAXBLOCKSIZE, UMEM_NOFAIL);
++ pbuf = umem_alloc_aligned(SPA_MAXBLOCKSIZE, 512, UMEM_NOFAIL);
+ lbuf = umem_alloc(SPA_MAXBLOCKSIZE, UMEM_NOFAIL);
+
+ BP_ZERO(bp);
+--
+1.8.1.6
+
diff --git a/sys-fs/zfs/files/zfs-0.6.1-fix-gcc-4.8-warning.patch b/sys-fs/zfs/files/zfs-0.6.1-fix-gcc-4.8-warning.patch
new file mode 100644
index 000000000000..00ec1057efa1
--- /dev/null
+++ b/sys-fs/zfs/files/zfs-0.6.1-fix-gcc-4.8-warning.patch
@@ -0,0 +1,42 @@
+From 3db3ff4a787acf068b122562fb5be5aecec2611f Mon Sep 17 00:00:00 2001
+From: Richard Yao <ryao@gentoo.org>
+Date: Tue, 2 Jul 2013 00:07:15 -0400
+Subject: [PATCH] Use MAXPATHLEN instead of sizeof in snprintf
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This silences a GCC 4.8.0 warning by fixing a programming error
+caught by static analysis:
+
+../../cmd/ztest/ztest.c: In function ‘ztest_vdev_aux_add_remove’:
+../../cmd/ztest/ztest.c:2584:33: error: argument to ‘sizeof’
+ in ‘snprintf’ call is the same expression as the destination;
+ did you mean to provide an explicit length?
+ [-Werror=sizeof-pointer-memaccess]
+ (void) snprintf(path, sizeof (path), ztest_aux_template,
+ ^
+
+Signed-off-by: Richard Yao <ryao@gentoo.org>
+Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Closes #1480
+---
+ cmd/ztest/ztest.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmd/ztest/ztest.c b/cmd/ztest/ztest.c
+index b38d7b1..93a5f1e 100644
+--- a/cmd/ztest/ztest.c
++++ b/cmd/ztest/ztest.c
+@@ -2581,7 +2581,7 @@ enum ztest_object {
+ zs->zs_vdev_aux = 0;
+ for (;;) {
+ int c;
+- (void) snprintf(path, sizeof (path), ztest_aux_template,
++ (void) snprintf(path, MAXPATHLEN, ztest_aux_template,
+ ztest_opts.zo_dir, ztest_opts.zo_pool, aux,
+ zs->zs_vdev_aux);
+ for (c = 0; c < sav->sav_count; c++)
+--
+1.8.1.6
+
diff --git a/sys-fs/zfs/files/zfs-0.6.1-fix-zvol-initialization-r1.patch b/sys-fs/zfs/files/zfs-0.6.1-fix-zvol-initialization-r1.patch
new file mode 100644
index 000000000000..b1e7d3736db0
--- /dev/null
+++ b/sys-fs/zfs/files/zfs-0.6.1-fix-zvol-initialization-r1.patch
@@ -0,0 +1,167 @@
+diff --git a/module/zfs/spa.c b/module/zfs/spa.c
+index e986e92..65f78b7 100644
+--- a/module/zfs/spa.c
++++ b/module/zfs/spa.c
+@@ -64,6 +64,7 @@
+ #include <sys/zfs_ioctl.h>
+ #include <sys/dsl_scan.h>
+ #include <sys/zfeature.h>
++#include <sys/zvol.h>
+
+ #ifdef _KERNEL
+ #include <sys/bootprops.h>
+@@ -2856,6 +2857,7 @@ spa_open_common(const char *pool, spa_t **spapp, void *tag, nvlist_t *nvpolicy,
+ spa_load_state_t state = SPA_LOAD_OPEN;
+ int error;
+ int locked = B_FALSE;
++ int firstopen = B_FALSE;
+
+ *spapp = NULL;
+
+@@ -2879,6 +2881,8 @@ spa_open_common(const char *pool, spa_t **spapp, void *tag, nvlist_t *nvpolicy,
+ if (spa->spa_state == POOL_STATE_UNINITIALIZED) {
+ zpool_rewind_policy_t policy;
+
++ firstopen = B_TRUE;
++
+ zpool_get_rewind_policy(nvpolicy ? nvpolicy : spa->spa_config,
+ &policy);
+ if (policy.zrp_request & ZPOOL_DO_REWIND)
+@@ -2953,6 +2957,11 @@ spa_open_common(const char *pool, spa_t **spapp, void *tag, nvlist_t *nvpolicy,
+ mutex_exit(&spa_namespace_lock);
+ }
+
++#ifdef _KERNEL
++ if (firstopen)
++ zvol_create_minors(spa->spa_name);
++#endif
++
+ *spapp = spa;
+
+ return (0);
+@@ -4010,6 +4019,10 @@ spa_import(const char *pool, nvlist_t *config, nvlist_t *props, uint64_t flags)
+ mutex_exit(&spa_namespace_lock);
+ spa_history_log_version(spa, LOG_POOL_IMPORT);
+
++#ifdef _KERNEL
++ zvol_create_minors(pool);
++#endif
++
+ return (0);
+ }
+
+diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c
+index 1226b2c..a9184a1 100644
+--- a/module/zfs/zfs_ioctl.c
++++ b/module/zfs/zfs_ioctl.c
+@@ -1268,9 +1268,6 @@ zfs_ioc_pool_import(zfs_cmd_t *zc)
+ error = err;
+ }
+
+- if (error == 0)
+- zvol_create_minors(zc->zc_name);
+-
+ nvlist_free(config);
+
+ if (props)
+diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c
+index 43a7bb6..e35c91b 100644
+--- a/module/zfs/zvol.c
++++ b/module/zfs/zvol.c
+@@ -1215,6 +1215,9 @@ zvol_alloc(dev_t dev, const char *name)
+
+ zv = kmem_zalloc(sizeof (zvol_state_t), KM_SLEEP);
+
++ spin_lock_init(&zv->zv_lock);
++ list_link_init(&zv->zv_next);
++
+ zv->zv_queue = blk_init_queue(zvol_request, &zv->zv_lock);
+ if (zv->zv_queue == NULL)
+ goto out_kmem;
+@@ -1248,9 +1251,6 @@ zvol_alloc(dev_t dev, const char *name)
+ sizeof (rl_t), offsetof(rl_t, r_node));
+ zv->zv_znode.z_is_zvol = TRUE;
+
+- spin_lock_init(&zv->zv_lock);
+- list_link_init(&zv->zv_next);
+-
+ zv->zv_disk->major = zvol_major;
+ zv->zv_disk->first_minor = (dev & MINORMASK);
+ zv->zv_disk->fops = &zvol_ops;
+@@ -1561,30 +1561,36 @@ zvol_init(void)
+ {
+ int error;
+
++ list_create(&zvol_state_list, sizeof (zvol_state_t),
++ offsetof(zvol_state_t, zv_next));
++ mutex_init(&zvol_state_lock, NULL, MUTEX_DEFAULT, NULL);
++
+ zvol_taskq = taskq_create(ZVOL_DRIVER, zvol_threads, maxclsyspri,
+ zvol_threads, INT_MAX, TASKQ_PREPOPULATE);
+ if (zvol_taskq == NULL) {
+ printk(KERN_INFO "ZFS: taskq_create() failed\n");
+- return (-ENOMEM);
++ error = -ENOMEM;
++ goto out1;
+ }
+
+ error = register_blkdev(zvol_major, ZVOL_DRIVER);
+ if (error) {
+ printk(KERN_INFO "ZFS: register_blkdev() failed %d\n", error);
+- taskq_destroy(zvol_taskq);
+- return (error);
++ goto out2;
+ }
+
+ blk_register_region(MKDEV(zvol_major, 0), 1UL << MINORBITS,
+ THIS_MODULE, zvol_probe, NULL, NULL);
+
+- mutex_init(&zvol_state_lock, NULL, MUTEX_DEFAULT, NULL);
+- list_create(&zvol_state_list, sizeof (zvol_state_t),
+- offsetof(zvol_state_t, zv_next));
++ return (0);
+
+- (void) zvol_create_minors(NULL);
++out2:
++ taskq_destroy(zvol_taskq);
++out1:
++ mutex_destroy(&zvol_state_lock);
++ list_destroy(&zvol_state_list);
+
+- return (0);
++ return (error);
+ }
+
+ void
+diff --git a/scripts/zconfig.sh b/scripts/zconfig.sh
+index 141348c..281166c 100755
+--- a/scripts/zconfig.sh
++++ b/scripts/zconfig.sh
+@@ -264,8 +264,9 @@ test_4() {
+ zconfig_zvol_device_stat 0 ${POOL_NAME} ${FULL_ZVOL_NAME} \
+ ${FULL_SNAP_NAME} ${FULL_CLONE_NAME} || fail 9
+
+- # Load the modules, wait 1 second for udev
++ # Load the modules, list the pools to ensure they are opened
+ ${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 10
++ ${ZPOOL} list &>/dev/null
+
+ # Verify the devices were created
+ zconfig_zvol_device_stat 10 ${POOL_NAME} ${FULL_ZVOL_NAME} \
+diff --git a/udev/rules.d/90-zfs.rules.in b/udev/rules.d/90-zfs.rules.in
+index 52e1d63..a2715d2 100644
+--- a/udev/rules.d/90-zfs.rules.in
++++ b/udev/rules.d/90-zfs.rules.in
+@@ -1,4 +1,4 @@
+-SUBSYSTEM!="block", GOTO="zfs_end"
++SUBSYSTEM!="block|misc", GOTO="zfs_end"
+ ACTION!="add|change", GOTO="zfs_end"
+
+ ENV{ID_FS_TYPE}=="zfs", RUN+="/sbin/modprobe zfs"
+@@ -7,4 +7,6 @@ ENV{ID_FS_TYPE}=="zfs_member", RUN+="/sbin/modprobe zfs"
+ KERNEL=="null", SYMLINK+="root"
+ SYMLINK=="null", SYMLINK+="root"
+
++SUBSYSTEM=="misc", KERNEL=="zfs", RUN+="@sbindir@/zpool list"
++
+ LABEL="zfs_end"
diff --git a/sys-fs/zfs/files/zfs-init.sh.in b/sys-fs/zfs/files/zfs-init.sh.in
new file mode 100644
index 000000000000..ed84585cd5f6
--- /dev/null
+++ b/sys-fs/zfs/files/zfs-init.sh.in
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+ZFS="@sbindir@/zfs"
+ZPOOL="@sbindir@/zpool"
+ZPOOL_CACHE="@sysconfdir@/zfs/zpool.cache"
+
+if [ -f "${ZPOOL_CACHE}" ]; then
+ "${ZPOOL}" import -c "${ZPOOL_CACHE}" -aN 2>/dev/null
+ if [ "${?}" != "0" ]; then
+ echo "Failed to import not-yet imported pools." >&2
+ fi
+fi
+
+echo "Mounting ZFS filesystems"
+"${ZFS}" mount -a
+if [ "${?}" != "0" ]; then
+ echo "Failed to mount ZFS filesystems." >&2
+ exit 1
+fi
+
+echo "Exporting ZFS filesystems"
+"${ZFS}" share -a
+if [ "${?}" != "0" ]; then
+ echo "Failed to export ZFS filesystems." >&2
+ exit 1
+fi
+
+exit 0
+
diff --git a/sys-fs/zfs/files/zfs.service.in b/sys-fs/zfs/files/zfs.service.in
new file mode 100644
index 000000000000..4e510a8f4d21
--- /dev/null
+++ b/sys-fs/zfs/files/zfs.service.in
@@ -0,0 +1,16 @@
+[Unit]
+Description=ZFS filesystems setup
+Before=network.target
+After=systemd-udev-settle.target local-fs.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStartPre=/sbin/modprobe zfs
+ExecStartPre=/usr/bin/test -c /dev/zfs
+ExecStart=/usr/libexec/zfs-init.sh
+ExecStop=@sbindir@/zfs umount -a
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/sys-fs/zfs/zfs-0.6.1-r2.ebuild b/sys-fs/zfs/zfs-0.6.1-r2.ebuild
new file mode 100644
index 000000000000..3aef5bcc5f8e
--- /dev/null
+++ b/sys-fs/zfs/zfs-0.6.1-r2.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/zfs-0.6.1-r2.ebuild,v 1.1 2013/07/14 11:52:50 ryao Exp $
+
+EAPI="4"
+
+AT_M4DIR="config"
+AUTOTOOLS_AUTORECONF="1"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+if [ ${PV} == "9999" ] ; then
+ inherit git-2 linux-mod
+ 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
+
+inherit bash-completion-r1 flag-o-matic toolchain-funcs autotools-utils udev
+
+DESCRIPTION="Userland utilities for ZFS Linux kernel module"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="BSD-2 CDDL MIT"
+SLOT="0"
+IUSE="bash-completion custom-cflags kernel-builtin +rootfs selinux test-suite static-libs"
+RESTRICT="test"
+
+COMMON_DEPEND="
+ selinux? ( sys-libs/libselinux )
+ sys-apps/util-linux[static-libs?]
+ sys-libs/zlib[static-libs(+)?]
+ virtual/awk
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+RDEPEND="${COMMON_DEPEND}
+ !=sys-apps/grep-2.13*
+ !kernel-builtin? ( =sys-fs/zfs-kmod-${PV}* )
+ !sys-fs/zfs-fuse
+ !prefix? ( virtual/udev )
+ test-suite? (
+ sys-apps/util-linux
+ sys-devel/bc
+ sys-block/parted
+ sys-fs/lsscsi
+ sys-fs/mdadm
+ sys-process/procps
+ virtual/modutils
+ )
+ rootfs? (
+ app-arch/cpio
+ app-misc/pax-utils
+ !<sys-boot/grub-2.00-r2:2
+ )
+"
+
+pkg_setup() {
+ :
+}
+
+src_prepare() {
+ if [ ${PV} != "9999" ]
+ then
+ # Fix OpenRC dependencies
+ epatch "${FILESDIR}/${P}-gentoo-openrc-dependencies.patch"
+
+ # Make zvol initialization asynchronous
+ epatch "${FILESDIR}/${P}-fix-zvol-initialization-r1.patch"
+
+ # Use MAXPATHLEN to silence GCC 4.8 warning
+ epatch "${FILESDIR}/${P}-fix-gcc-4.8-warning.patch"
+
+ # Avoid zdb abort
+ epatch "${FILESDIR}/${P}-avoid-zdb-abort.patch"
+ fi
+
+ # Update paths
+ sed -e "s|/sbin/lsmod|/bin/lsmod|" \
+ -e "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" \
+ -e "s|/sbin/parted|/usr/sbin/parted|" \
+ -i scripts/common.sh.in
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=user
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ --with-udevdir="$(udev_get_udevdir)"
+ $(use_with selinux)
+ )
+ autotools-utils_src_configure
+
+ # prepare systemd unit and helper script
+ cat "${FILESDIR}/zfs.service.in" | \
+ sed -e "s:@sbindir@:${EPREFIX}/sbin:g" \
+ -e "s:@sysconfdir@:${EPREFIX}/etc:g" \
+ > "${T}/zfs.service" || die
+ cat "${FILESDIR}/zfs-init.sh.in" | \
+ sed -e "s:@sbindir@:${EPREFIX}/sbin:g" \
+ -e "s:@sysconfdir@:${EPREFIX}/etc:g" \
+ > "${T}/zfs-init.sh" || die
+}
+
+src_install() {
+ autotools-utils_src_install
+ gen_usr_ldscript -a uutil nvpair zpool zfs
+ rm -rf "${ED}usr/lib/dracut"
+ use test-suite || rm -rf "${ED}usr/share/zfs"
+
+ use bash-completion && newbashcomp "${FILESDIR}/bash-completion" zfs
+
+ exeinto /usr/libexec
+ doexe "${T}/zfs-init.sh"
+ systemd_dounit "${T}/zfs.service"
+}
+
+pkg_postinst() {
+
+ if ! use kernel-builtin && [ ${PV} = "9999" ]
+ then
+ einfo "Adding ${P} to the module database to ensure that the"
+ einfo "kernel modules and userland utilities stay in sync."
+ update_moduledb
+ fi
+
+ [ -e "${EROOT}/etc/runlevels/boot/zfs" ] \
+ || ewarn 'You should add zfs to the boot runlevel.'
+
+ if [ -e "${EROOT}/etc/runlevels/shutdown/zfs-shutdown" ]
+ then
+ einfo "The zfs-shutdown script is obsolete. Removing it from runlevel."
+ rm "${EROOT}/etc/runlevels/shutdown/zfs-shutdown"
+ fi
+
+}
+
+pkg_postrm() {
+ if ! use kernel-builtin && [ ${PV} = "9999" ]
+ then
+ remove_moduledb
+ fi
+}
diff --git a/sys-fs/zfs/zfs-9999.ebuild b/sys-fs/zfs/zfs-9999.ebuild
index 6711c511b9f5..8195b497c509 100644
--- a/sys-fs/zfs/zfs-9999.ebuild
+++ b/sys-fs/zfs/zfs-9999.ebuild
@@ -1,8 +1,11 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/zfs-9999.ebuild,v 1.44 2013/02/06 01:48:50 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/zfs-9999.ebuild,v 1.45 2013/07/14 11:52:50 ryao Exp $
-EAPI="4"
+EAPI="5"
+PYTHON_COMPAT=( python{2_5,2_6,2_7} )
+
+inherit python-single-r1
AT_M4DIR="config"
AUTOTOOLS_AUTORECONF="1"
@@ -26,10 +29,11 @@ HOMEPAGE="http://zfsonlinux.org/"
LICENSE="BSD-2 CDDL MIT"
SLOT="0"
-IUSE="custom-cflags kernel-builtin +rootfs test-suite static-libs"
+IUSE="bash-completion custom-cflags kernel-builtin +rootfs selinux test-suite static-libs"
RESTRICT="test"
COMMON_DEPEND="
+ selinux? ( sys-libs/libselinux )
sys-apps/util-linux[static-libs?]
sys-libs/zlib[static-libs(+)?]
virtual/awk
@@ -64,17 +68,18 @@ pkg_setup() {
}
src_prepare() {
+ if [ ${PV} != "9999" ]
+ then
+ # Fix OpenRC dependencies
+ epatch "${FILESDIR}/${P}-gentoo-openrc-dependencies.patch"
+ fi
+
# Update paths
sed -e "s|/sbin/lsmod|/bin/lsmod|" \
-e "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" \
-e "s|/sbin/parted|/usr/sbin/parted|" \
-i scripts/common.sh.in
- if [ ${PV} != "9999" ]
- then
- epatch "${FILESDIR}/${P}-fix-libzpool-function-relocations.patch"
- fi
-
autotools-utils_src_prepare
}
@@ -87,18 +92,32 @@ src_configure() {
--with-linux="${KV_DIR}"
--with-linux-obj="${KV_OUT_DIR}"
--with-udevdir="$(udev_get_udevdir)"
+ $(use_with selinux)
)
autotools-utils_src_configure
+
+ # prepare systemd unit and helper script
+ cat "${FILESDIR}/zfs.service.in" | \
+ sed -e "s:@sbindir@:${EPREFIX}/sbin:g" \
+ -e "s:@sysconfdir@:${EPREFIX}/etc:g" \
+ > "${T}/zfs.service" || die
+ cat "${FILESDIR}/zfs-init.sh.in" | \
+ sed -e "s:@sbindir@:${EPREFIX}/sbin:g" \
+ -e "s:@sysconfdir@:${EPREFIX}/etc:g" \
+ > "${T}/zfs-init.sh" || die
}
src_install() {
autotools-utils_src_install
gen_usr_ldscript -a uutil nvpair zpool zfs
- rm -rf "${ED}usr/share/dracut"
- use test-suite || rm -rf "${ED}usr/libexec"
+ rm -rf "${ED}usr/lib/dracut"
+ use test-suite || rm -rf "${ED}usr/share/zfs"
- newbashcomp "${FILESDIR}/bash-completion" zfs
+ use bash-completion && newbashcomp "${FILESDIR}/bash-completion" zfs
+ exeinto /usr/libexec
+ doexe "${T}/zfs-init.sh"
+ systemd_dounit "${T}/zfs.service"
}
pkg_postinst() {