diff options
author | Richard Yao <ryao@gentoo.org> | 2012-08-22 07:31:12 +0000 |
---|---|---|
committer | Richard Yao <ryao@gentoo.org> | 2012-08-22 07:31:12 +0000 |
commit | 8fdee883402600b60d237560bf8916da5df1b026 (patch) | |
tree | 21aa91d3769a37e26c9da9d725f0eec07d2b1034 /sys-fs/zfs | |
parent | Ebuild to provide kernel module for sys-fs/zfs (diff) | |
download | historical-8fdee883402600b60d237560bf8916da5df1b026.tar.gz historical-8fdee883402600b60d237560bf8916da5df1b026.tar.bz2 historical-8fdee883402600b60d237560bf8916da5df1b026.zip |
Split kernel module into sys-fs/zfs-kmod
Package-Manager: portage-2.1.11.9/cvs/Linux x86_64
Diffstat (limited to 'sys-fs/zfs')
-rw-r--r-- | sys-fs/zfs/ChangeLog | 16 | ||||
-rw-r--r-- | sys-fs/zfs/files/zfs-0.6.0_rc9-bsd-init.patch | 39 | ||||
-rw-r--r-- | sys-fs/zfs/files/zfs-0.6.0_rc9-fix-32-bit-warnings.patch | 43 | ||||
-rw-r--r-- | sys-fs/zfs/files/zfs-0.6.0_rc9-hardened-3.3-and-later-support.patch | 37 | ||||
-rw-r--r-- | sys-fs/zfs/files/zfs-0.6.0_rc9-hardened-support.patch | 345 | ||||
-rw-r--r-- | sys-fs/zfs/files/zfs-0.6.0_rc9-linux-3.5-support.patch | 183 | ||||
-rw-r--r-- | sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-1-of-3.patch | 44 | ||||
-rw-r--r-- | sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-2-of-3.patch | 56 | ||||
-rw-r--r-- | sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-3-of-3.patch | 70 | ||||
-rw-r--r-- | sys-fs/zfs/metadata.xml | 2 | ||||
-rw-r--r-- | sys-fs/zfs/zfs-0.6.0_rc10-r1.ebuild (renamed from sys-fs/zfs/zfs-0.6.0_rc10.ebuild) | 47 | ||||
-rw-r--r-- | sys-fs/zfs/zfs-0.6.0_rc9-r6.ebuild | 157 | ||||
-rw-r--r-- | sys-fs/zfs/zfs-9999.ebuild | 47 |
13 files changed, 32 insertions, 1054 deletions
diff --git a/sys-fs/zfs/ChangeLog b/sys-fs/zfs/ChangeLog index 52ff0b46453e..3aba72855383 100644 --- a/sys-fs/zfs/ChangeLog +++ b/sys-fs/zfs/ChangeLog @@ -1,6 +1,20 @@ # ChangeLog for sys-fs/zfs # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/ChangeLog,v 1.44 2012/08/15 23:04:21 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/ChangeLog,v 1.45 2012/08/22 07:31:11 ryao Exp $ + +*zfs-0.6.0_rc10-r1 (22 Aug 2012) + + 22 Aug 2012; Richard Yao <ryao@gentoo.org> +zfs-0.6.0_rc10-r1.ebuild, + -files/zfs-0.6.0_rc9-bsd-init.patch, + -files/zfs-0.6.0_rc9-fix-32-bit-warnings.patch, + -files/zfs-0.6.0_rc9-hardened-3.3-and-later-support.patch, + -files/zfs-0.6.0_rc9-hardened-support.patch, + -files/zfs-0.6.0_rc9-linux-3.5-support.patch, + -files/zfs-0.6.0_rc9-remove-pfmalloc-1-of-3.patch, + -files/zfs-0.6.0_rc9-remove-pfmalloc-2-of-3.patch, + -files/zfs-0.6.0_rc9-remove-pfmalloc-3-of-3.patch, -zfs-0.6.0_rc10.ebuild, + -zfs-0.6.0_rc9-r6.ebuild, metadata.xml, zfs-9999.ebuild: + Split kernel module into sys-fs/zfs-kmod *zfs-0.6.0_rc10 (15 Aug 2012) diff --git a/sys-fs/zfs/files/zfs-0.6.0_rc9-bsd-init.patch b/sys-fs/zfs/files/zfs-0.6.0_rc9-bsd-init.patch deleted file mode 100644 index 0d8fc1da1a55..000000000000 --- a/sys-fs/zfs/files/zfs-0.6.0_rc9-bsd-init.patch +++ /dev/null @@ -1,39 +0,0 @@ -commit 0ac83722a09ccb15067cad91217103474b58dadf -Author: Richard Yao <ryao@cs.stonybrook.edu> -Date: Tue Jul 10 09:27:09 2012 -0400 - - Relicense zfs.gentoo.in from GPLv2 to 2-clause BSD - - As the Gentoo sys-fs/zfs maintainer, I receive license compatibility - questions and at times, those questions can be harassing. I feel that - the presence of the GPL in Gentoo's package metadata promotes such - questions. zfs.gentoo.in is the only GPLv2 licensed file in ZFS, so I - have taken the liberty of contacting all contributors to this file to - request permission to relicense it. - - All of the contributors to this file have agreed to relicense it under - the 2-clause BSD license. I have added their Signed-offs to this commit, - in order of first contribution. Thankyou everyone for being so - understanding. - - Signed-off-by: devsk <devsku@gmail.com> - Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org> - Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> - Signed-off-by: Andrew Tselischev <andrewtselischev@gmail.com> - Signed-off-by: Zachary Bedell <zac@thebedells.org> - Signed-off-by: Gunnar Beutner <gunnar@beutner.name> - Signed-off-by: Kyle Fuller <inbox@kylefuller.co.uk> - Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> - -diff --git a/etc/init.d/zfs.gentoo.in b/etc/init.d/zfs.gentoo.in -index 957be99..df883cf 100644 ---- a/etc/init.d/zfs.gentoo.in -+++ b/etc/init.d/zfs.gentoo.in -@@ -1,6 +1,6 @@ - #!/sbin/runscript - # Copyright 1999-2011 Gentoo Foundation --# Distributed under the terms of the GNU General Public License v2 -+# Released under the 2-clause BSD license. - # $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/files/zfs,v 0.9 2011/04/30 10:13:43 devsk Exp $ - - depend() diff --git a/sys-fs/zfs/files/zfs-0.6.0_rc9-fix-32-bit-warnings.patch b/sys-fs/zfs/files/zfs-0.6.0_rc9-fix-32-bit-warnings.patch deleted file mode 100644 index 8b487c354537..000000000000 --- a/sys-fs/zfs/files/zfs-0.6.0_rc9-fix-32-bit-warnings.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 99aa2c28b1c96de2feee9a8edcbbe101100029c2 Mon Sep 17 00:00:00 2001 -From: Richard Yao <ryao@cs.stonybrook.edu> -Date: Mon, 9 Jul 2012 19:41:28 -0400 -Subject: [PATCH] Use ULL suffix in constants - -The lack of the ULL suffix causes warnings such as the following on -32-bit systems: - -In function 'zfsctl_is_snapdir': -zfs-0.6.0//module/zfs/zfs_ctldir.c:151: warning: integer constant is too -large for 'long' type - -We add the ULL suffix to fix that. - -This closes issue #813. - -Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> ---- - include/sys/zfs_ctldir.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/include/sys/zfs_ctldir.h b/include/sys/zfs_ctldir.h -index e598529..0a3c142 100644 ---- a/include/sys/zfs_ctldir.h -+++ b/include/sys/zfs_ctldir.h -@@ -103,10 +103,10 @@ extern int zfsctl_shares_lookup(struct inode *dip, char *name, - * However, they should be as large as possible to avoid conflicts - * with the objects which are assigned monotonically by the dmu. - */ --#define ZFSCTL_INO_ROOT 0x0000FFFFFFFFFFFF --#define ZFSCTL_INO_SHARES 0x0000FFFFFFFFFFFE --#define ZFSCTL_INO_SNAPDIR 0x0000FFFFFFFFFFFD --#define ZFSCTL_INO_SNAPDIRS 0x0000FFFFFFFFFFFC -+#define ZFSCTL_INO_ROOT 0x0000FFFFFFFFFFFFULL -+#define ZFSCTL_INO_SHARES 0x0000FFFFFFFFFFFEULL -+#define ZFSCTL_INO_SNAPDIR 0x0000FFFFFFFFFFFDULL -+#define ZFSCTL_INO_SNAPDIRS 0x0000FFFFFFFFFFFCULL - - #define ZFSCTL_EXPIRE_SNAPSHOT 300 - --- -1.7.10 - diff --git a/sys-fs/zfs/files/zfs-0.6.0_rc9-hardened-3.3-and-later-support.patch b/sys-fs/zfs/files/zfs-0.6.0_rc9-hardened-3.3-and-later-support.patch deleted file mode 100644 index 5e6cb4e8af95..000000000000 --- a/sys-fs/zfs/files/zfs-0.6.0_rc9-hardened-3.3-and-later-support.patch +++ /dev/null @@ -1,37 +0,0 @@ -commit 91d3b3c46473ee8a7f7dc8177b80fbece3f5ac94 -Author: Richard Yao <ryao@cs.stonybrook.edu> -Date: Thu Jul 19 18:37:56 2012 -0400 - - Fix NULL pointer dereference on PaX/GRSecurity patched Linux 3.3 and later kernels - - Support for PaX/GRSecurity patched kernels was developed against Linux - 3.2. Unfortunately, an autotools check introduced for a Linux 3.3 API - fails on PaX/GRSecurity patched kernels. This causes the module to be - built against the Linux 3.2 ABI, which results in a NULL pointer - dereference at runtime. - - Closes zfsonlinux/zfs#794 and zfsonlinux/zfs#809 - - Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> - -diff --git a/config/kernel-show-options.m4 b/config/kernel-show-options.m4 -index 1bddb0a..67d683c 100644 ---- a/config/kernel-show-options.m4 -+++ b/config/kernel-show-options.m4 -@@ -6,11 +6,12 @@ AC_DEFUN([ZFS_AC_KERNEL_SHOW_OPTIONS], [ - - ZFS_LINUX_TRY_COMPILE([ - #include <linux/fs.h> -- ],[ -- int (*show_options) (struct seq_file *, struct dentry *) = NULL; -- struct super_operations sops __attribute__ ((unused)); - -- sops.show_options = show_options; -+ int show_options (struct seq_file * x, struct dentry * y) { return 0; }; -+ static struct super_operations sops __attribute__ ((unused)) = { -+ .show_options = show_options, -+ }; -+ ],[ - ],[ - AC_MSG_RESULT([yes]) - AC_DEFINE(HAVE_SHOW_OPTIONS_WITH_DENTRY, 1, diff --git a/sys-fs/zfs/files/zfs-0.6.0_rc9-hardened-support.patch b/sys-fs/zfs/files/zfs-0.6.0_rc9-hardened-support.patch deleted file mode 100644 index 882fb7cd918b..000000000000 --- a/sys-fs/zfs/files/zfs-0.6.0_rc9-hardened-support.patch +++ /dev/null @@ -1,345 +0,0 @@ -From 7f7bc416f3153fddecec85c0bbfd4d53fe9efc69 Mon Sep 17 00:00:00 2001 -From: Richard Yao <ryao@cs.stonybrook.edu> -Date: Wed, 30 May 2012 23:25:31 -0400 -Subject: [PATCH] Fix build failures on PaX/GRSecurity patched kernels - -Gentoo Hardened kernels include the PaX/GRSecurity patches. They use a -dialect of C that relies on a GCC plugin. In particular, struct -file_operations has been marked do_const in the PaX/GRSecurity dialect, -which causes GCC to consider all instances of it as const. This caused -failures in the autotools checks and the ZFS source code. - -To address this, we modify the autotools checks to take into account -differences between the PaX C dialect and the regular C dialect. We also -modify struct zfs_acl's z_ops member to be a pointer to a function -pointer table and make a char * pointer const. This avoids issues in the -PaX/GRSecurity dialect. - -Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> ---- - config/kernel-evict-inode.m4 | 6 ++--- - config/kernel-fallocate.m4 | 21 +++++++++++++++ - config/kernel-fsync.m4 | 60 ++++++++++++++++++++++++++++++++++++++++++ - include/sys/zfs_acl.h | 2 +- - module/zfs/zfs_acl.c | 50 +++++++++++++++++------------------ - module/zfs/zpl_inode.c | 2 +- - 6 files changed, 111 insertions(+), 30 deletions(-) - -diff --git a/config/kernel-evict-inode.m4 b/config/kernel-evict-inode.m4 -index 0700792..683cedb 100644 ---- a/config/kernel-evict-inode.m4 -+++ b/config/kernel-evict-inode.m4 -@@ -7,12 +7,12 @@ AC_DEFUN([ZFS_AC_KERNEL_EVICT_INODE], [ - AC_MSG_CHECKING([whether sops->evict_inode() exists]) - ZFS_LINUX_TRY_COMPILE([ - #include <linux/fs.h> -- ],[ -- void (*evict_inode) (struct inode *) = NULL; -- struct super_operations sops __attribute__ ((unused)) = { -+ void evict_inode (struct inode * t) { return; } -+ static struct super_operations sops __attribute__ ((unused)) = { - .evict_inode = evict_inode, - }; - ],[ -+ ],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_EVICT_INODE, 1, [sops->evict_inode() exists]) - ],[ -diff --git a/config/kernel-fallocate.m4 b/config/kernel-fallocate.m4 -index d551276..6ac5ae6 100644 ---- a/config/kernel-fallocate.m4 -+++ b/config/kernel-fallocate.m4 -@@ -39,10 +39,31 @@ AC_DEFUN([ZFS_AC_KERNEL_INODE_FALLOCATE], [ - ]) - - dnl # -+dnl # PaX Linux 2.6.38 - 3.x API -+dnl # -+AC_DEFUN([ZFS_AC_PAX_KERNEL_FILE_FALLOCATE], [ -+ AC_MSG_CHECKING([whether fops->fallocate() exists]) -+ ZFS_LINUX_TRY_COMPILE([ -+ #include <linux/fs.h> -+ ],[ -+ long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL; -+ struct file_operations_no_const fops __attribute__ ((unused)) = { -+ .fallocate = fallocate, -+ }; -+ ],[ -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_FILE_FALLOCATE, 1, [fops->fallocate() exists]) -+ ],[ -+ AC_MSG_RESULT(no) -+ ]) -+]) -+ -+dnl # - dnl # The fallocate callback was moved from the inode_operations - dnl # structure to the file_operations structure. - dnl # - AC_DEFUN([ZFS_AC_KERNEL_FALLOCATE], [ - ZFS_AC_KERNEL_FILE_FALLOCATE - ZFS_AC_KERNEL_INODE_FALLOCATE -+ ZFS_AC_PAX_KERNEL_FILE_FALLOCATE - ]) -diff --git a/config/kernel-fsync.m4 b/config/kernel-fsync.m4 -index 862b897..2a2b4ab 100644 ---- a/config/kernel-fsync.m4 -+++ b/config/kernel-fsync.m4 -@@ -55,9 +55,69 @@ AC_DEFUN([ZFS_AC_KERNEL_FSYNC_RANGE], [ - ]) - ]) - -+dnl # -+dnl # PaX Linux 2.6.x - 2.6.34 API -+dnl # -+AC_DEFUN([ZFS_AC_PAX_KERNEL_FSYNC_WITH_DENTRY], [ -+ ZFS_LINUX_TRY_COMPILE([ -+ #include <linux/fs.h> -+ ],[ -+ int (*fsync) (struct file *, struct dentry *, int) = NULL; -+ file_operations_no_const fops __attribute__ ((unused)); -+ -+ fops.fsync = fsync; -+ ],[ -+ AC_MSG_RESULT([dentry]) -+ AC_DEFINE(HAVE_FSYNC_WITH_DENTRY, 1, -+ [fops->fsync() with dentry]) -+ ],[ -+ ]) -+]) -+ -+dnl # -+dnl # PaX Linux 2.6.35 - Linux 3.0 API -+dnl # -+AC_DEFUN([ZFS_AC_PAX_KERNEL_FSYNC_WITHOUT_DENTRY], [ -+ ZFS_LINUX_TRY_COMPILE([ -+ #include <linux/fs.h> -+ ],[ -+ int (*fsync) (struct file *, int) = NULL; -+ file_operations_no_const fops __attribute__ ((unused)); -+ -+ fops.fsync = fsync; -+ ],[ -+ AC_MSG_RESULT([no dentry]) -+ AC_DEFINE(HAVE_FSYNC_WITHOUT_DENTRY, 1, -+ [fops->fsync() without dentry]) -+ ],[ -+ ]) -+]) -+ -+dnl # -+dnl # PaX Linux 3.1 -x 3.x API -+dnl # -+AC_DEFUN([ZFS_AC_PAX_KERNEL_FSYNC_RANGE], [ -+ ZFS_LINUX_TRY_COMPILE([ -+ #include <linux/fs.h> -+ ],[ -+ int (*fsync) (struct file *, loff_t, loff_t, int) = NULL; -+ file_operations_no_const fops __attribute__ ((unused)); -+ -+ fops.fsync = fsync; -+ ],[ -+ AC_MSG_RESULT([range]) -+ AC_DEFINE(HAVE_FSYNC_RANGE, 1, -+ [fops->fsync() with range]) -+ ],[ -+ ]) -+]) -+ - AC_DEFUN([ZFS_AC_KERNEL_FSYNC], [ - AC_MSG_CHECKING([whether fops->fsync() wants]) - ZFS_AC_KERNEL_FSYNC_WITH_DENTRY - ZFS_AC_KERNEL_FSYNC_WITHOUT_DENTRY - ZFS_AC_KERNEL_FSYNC_RANGE -+ ZFS_AC_PAX_KERNEL_FSYNC_WITH_DENTRY -+ ZFS_AC_PAX_KERNEL_FSYNC_WITHOUT_DENTRY -+ ZFS_AC_PAX_KERNEL_FSYNC_RANGE - ]) -diff --git a/include/sys/zfs_acl.h b/include/sys/zfs_acl.h -index b6ed439..11fc335 100644 ---- a/include/sys/zfs_acl.h -+++ b/include/sys/zfs_acl.h -@@ -165,7 +165,7 @@ - uint64_t z_hints; /* ACL hints (ZFS_INHERIT_ACE ...) */ - zfs_acl_node_t *z_curr_node; /* current node iterator is handling */ - list_t z_acl; /* chunks of ACE data */ -- acl_ops_t z_ops; /* ACL operations */ -+ acl_ops_t *z_ops; /* ACL operations */ - } zfs_acl_t; - - typedef struct acl_locator_cb { -diff --git a/module/zfs/zfs_acl.c b/module/zfs/zfs_acl.c -index 40f792b..df690b3 100644 ---- a/module/zfs/zfs_acl.c -+++ b/module/zfs/zfs_acl.c -@@ -457,9 +457,9 @@ - offsetof(zfs_acl_node_t, z_next)); - aclp->z_version = vers; - if (vers == ZFS_ACL_VERSION_FUID) -- aclp->z_ops = zfs_acl_fuid_ops; -+ aclp->z_ops = &zfs_acl_fuid_ops; - else -- aclp->z_ops = zfs_acl_v0_ops; -+ aclp->z_ops = &zfs_acl_v0_ops; - return (aclp); - } - -@@ -609,17 +609,17 @@ - /* - * Make sure we don't overstep our bounds - */ -- ace_size = aclp->z_ops.ace_size(acep); -+ ace_size = aclp->z_ops->ace_size(acep); - - if (((caddr_t)acep + ace_size) > - ((caddr_t)aclnode->z_acldata + aclnode->z_size)) { - return (NULL); - } - -- *iflags = aclp->z_ops.ace_flags_get(acep); -- *type = aclp->z_ops.ace_type_get(acep); -- *access_mask = aclp->z_ops.ace_mask_get(acep); -- *who = aclp->z_ops.ace_who_get(acep); -+ *iflags = aclp->z_ops->ace_flags_get(acep); -+ *type = aclp->z_ops->ace_type_get(acep); -+ *access_mask = aclp->z_ops->ace_mask_get(acep); -+ *who = aclp->z_ops->ace_who_get(acep); - aclp->z_next_ace = (caddr_t)aclp->z_next_ace + ace_size; - aclnode->z_ace_idx++; - -@@ -698,7 +698,7 @@ - } - - aceptr = (zfs_ace_t *)((caddr_t)aceptr + -- aclp->z_ops.ace_size(aceptr)); -+ aclp->z_ops->ace_size(aceptr)); - } - - *size = (caddr_t)aceptr - (caddr_t)z_acl; -@@ -824,7 +824,7 @@ - - newaclnode = zfs_acl_node_alloc(aclp->z_acl_count * - sizeof (zfs_object_ace_t)); -- aclp->z_ops = zfs_acl_fuid_ops; -+ aclp->z_ops = &zfs_acl_fuid_ops; - VERIFY(zfs_copy_ace_2_fuid(ZTOZSB(zp), ZTOI(zp)->i_mode, - aclp, oldaclp, newaclnode->z_acldata, aclp->z_acl_count, - &newaclnode->z_size, NULL, cr) == 0); -@@ -868,12 +868,12 @@ - { - uint16_t type = entry_type & ACE_TYPE_FLAGS; - -- aclp->z_ops.ace_mask_set(acep, access_mask); -- aclp->z_ops.ace_type_set(acep, access_type); -- aclp->z_ops.ace_flags_set(acep, entry_type); -+ aclp->z_ops->ace_mask_set(acep, access_mask); -+ aclp->z_ops->ace_type_set(acep, access_type); -+ aclp->z_ops->ace_flags_set(acep, entry_type); - if ((type != ACE_OWNER && type != OWNING_GROUP && - type != ACE_EVERYONE)) -- aclp->z_ops.ace_who_set(acep, fuid); -+ aclp->z_ops->ace_who_set(acep, fuid); - } - - /* -@@ -1454,7 +1454,7 @@ - uint16_t iflags, type; - uint32_t access_mask; - zfs_acl_node_t *newnode; -- size_t abstract_size = aclp->z_ops.ace_abstract_size(); -+ size_t abstract_size = aclp->z_ops->ace_abstract_size(); - void *zacep; - uint32_t owner, group, everyone; - uint32_t deny1, deny2, allow0; -@@ -1530,7 +1530,7 @@ - } - } - zfs_set_ace(aclp, zacep, access_mask, type, who, iflags); -- ace_size = aclp->z_ops.ace_size(acep); -+ ace_size = aclp->z_ops->ace_size(acep); - zacep = (void *)((uintptr_t)zacep + ace_size); - new_count++; - new_bytes += ace_size; -@@ -1570,12 +1570,12 @@ - static void - zfs_restricted_update(zfs_sb_t *zsb, zfs_acl_t *aclp, void *acep) - { -- uint32_t mask = aclp->z_ops.ace_mask_get(acep); -+ uint32_t mask = aclp->z_ops->ace_mask_get(acep); - - if ((zsb->z_acl_inherit == ZFS_ACL_RESTRICTED) && -- (aclp->z_ops.ace_type_get(acep) == ALLOW)) { -+ (aclp->z_ops->ace_type_get(acep) == ALLOW)) { - mask &= ~RESTRICTED_CLEAR; -- aclp->z_ops.ace_mask_set(acep, mask); -+ aclp->z_ops->ace_mask_set(acep, mask); - } - } - -@@ -1640,7 +1640,7 @@ - if (noallow && type == ALLOW) - continue; - -- ace_size = aclp->z_ops.ace_size(pacep); -+ ace_size = aclp->z_ops->ace_size(pacep); - - if (!zfs_ace_can_use(obj_mode, iflags)) - continue; -@@ -1672,8 +1672,8 @@ - /* - * Copy special opaque data if any - */ -- if ((data1sz = paclp->z_ops.ace_data(pacep, &data1)) != 0) { -- VERIFY((data2sz = aclp->z_ops.ace_data(acep, -+ if ((data1sz = paclp->z_ops->ace_data(pacep, &data1)) != 0) { -+ VERIFY((data2sz = aclp->z_ops->ace_data(acep, - &data2)) == data1sz); - bcopy(data1, data2, data2sz); - } -@@ -1681,14 +1681,14 @@ - aclp->z_acl_count++; - aclnode->z_ace_count++; - aclp->z_acl_bytes += aclnode->z_size; -- newflags = aclp->z_ops.ace_flags_get(acep); -+ newflags = aclp->z_ops->ace_flags_get(acep); - - if (vdir) - aclp->z_hints |= ZFS_INHERIT_ACE; - - if ((iflags & ACE_NO_PROPAGATE_INHERIT_ACE) || !vdir) { - newflags &= ~ALL_INHERIT; -- aclp->z_ops.ace_flags_set(acep, -+ aclp->z_ops->ace_flags_set(acep, - newflags|ACE_INHERITED_ACE); - zfs_restricted_update(zsb, aclp, acep); - continue; -@@ -1703,11 +1703,11 @@ - if ((iflags & (ACE_FILE_INHERIT_ACE | - ACE_DIRECTORY_INHERIT_ACE)) == ACE_FILE_INHERIT_ACE) { - newflags |= ACE_INHERIT_ONLY_ACE; -- aclp->z_ops.ace_flags_set(acep, -+ aclp->z_ops->ace_flags_set(acep, - newflags|ACE_INHERITED_ACE); - } else { - newflags &= ~ACE_INHERIT_ONLY_ACE; -- aclp->z_ops.ace_flags_set(acep, -+ aclp->z_ops->ace_flags_set(acep, - newflags|ACE_INHERITED_ACE); - } - } -diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c -index 1f6169b..5b6692f 100644 ---- a/module/zfs/zpl_inode.c -+++ b/module/zfs/zpl_inode.c -@@ -294,7 +294,7 @@ - static void - zpl_put_link(struct dentry *dentry, struct nameidata *nd, void *ptr) - { -- char *link; -+ const char *link; - - link = nd_get_link(nd); - if (!IS_ERR(link)) --- -1.7.10 - diff --git a/sys-fs/zfs/files/zfs-0.6.0_rc9-linux-3.5-support.patch b/sys-fs/zfs/files/zfs-0.6.0_rc9-linux-3.5-support.patch deleted file mode 100644 index c337bcf804a1..000000000000 --- a/sys-fs/zfs/files/zfs-0.6.0_rc9-linux-3.5-support.patch +++ /dev/null @@ -1,183 +0,0 @@ -commit c414d98b9f99aaa68abd418c93fad6e9bb3adca6 -Author: Richard Yao <ryao@cs.stonybrook.edu> -Date: Tue Jul 10 07:34:53 2012 -0400 - - Linux 3.5 compatibility: miscellaneous changes - - torvalds/linux@b0b0382bb4904965a9e9fca77ad87514dfda0d1c changed - export_operations->encode_fn() to use struct inode * instead of struct - dentry * - - torvalds/linux@17cf28afea2a1112f240a3a2da8af883be024811 renamed - end_writeback() to clear_inode() - - torvalds/linux@17cf28afea2a1112f240a3a2da8af883be024811 removed - inode_operations->truncate_range(). The file hole punching functionality - is provided by inode_operations->fallocate() - - Closes zfsonlinux/zfs#784 - - Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> - -diff --git a/config/kernel-clear-inode.m4 b/config/kernel-clear-inode.m4 -new file mode 100644 -index 0000000..bedfc51 ---- /dev/null -+++ b/config/kernel-clear-inode.m4 -@@ -0,0 +1,13 @@ -+dnl # -+dnl # 3.5.0 API change -+dnl # torvalds/linux@90324cc1b11a211e37eabd8cb863e1a1561d6b1d renamed -+dnl # end_writeback() to clear_inode(). -+dnl # -+AC_DEFUN([ZFS_AC_KERNEL_CLEAR_INODE], [ -+ ZFS_CHECK_SYMBOL_EXPORT( -+ [clear_inode], -+ [fs/inode.c], -+ [AC_DEFINE(HAVE_CLEAR_INODE, 1, -+ [clear_inode() is available])], -+ []) -+]) -diff --git a/config/kernel-encode_fh-inode.m4 b/config/kernel-encode_fh-inode.m4 -new file mode 100644 -index 0000000..e4d448d ---- /dev/null -+++ b/config/kernel-encode_fh-inode.m4 -@@ -0,0 +1,23 @@ -+dnl # -+dnl # 3.5.0 API change # -+dnl # torvalds/linux@b0b0382bb4904965a9e9fca77ad87514dfda0d1c changed the header -+dnl # to use struct inode * instead of struct dentry * -+dnl # -+AC_DEFUN([ZFS_AC_KERNEL_EXPORT_ENCODE_FH_WITH_INODE_PARAMETER], [ -+ AC_MSG_CHECKING([export_operations->encodefh()]) -+ ZFS_LINUX_TRY_COMPILE([ -+ #include <linux/exportfs.h> -+ ],[ -+ int (*encode_fh)(struct inode *, __u32 *fh, int *, struct inode *) = NULL; -+ struct export_operations export_ops = { -+ .encode_fh = encode_fh, -+ }; -+ export_ops.encode_fh(0, 0, 0, 0); -+ ],[ -+ AC_MSG_RESULT(uses struct inode * as first parameter) -+ AC_DEFINE(HAVE_EXPORT_ENCODE_FH_WITH_INODE_PARAMETER, 1, -+ [fhfn() uses struct inode *]) -+ ],[ -+ AC_MSG_RESULT(does not use struct inode * as first parameter) -+ ]) -+]) -diff --git a/config/kernel-truncate-range.m4 b/config/kernel-truncate-range.m4 -new file mode 100644 -index 0000000..1f23d6a ---- /dev/null -+++ b/config/kernel-truncate-range.m4 -@@ -0,0 +1,26 @@ -+dnl # -+dnl # 3.5.0 API change # -+dnl # torvalds/linux@17cf28afea2a1112f240a3a2da8af883be024811 removed -+dnl # truncate_range(). The file hole punching functionality is provided by -+dnl # fallocate() -+dnl # -+AC_DEFUN([ZFS_AC_KERNEL_INODE_TRUNCATE_RANGE], [ -+ AC_MSG_CHECKING([inode_operations->truncate_range() exists]) -+ ZFS_LINUX_TRY_COMPILE([ -+ #include <linux/fs.h> -+ ],[ -+ void (*tr)(struct inode *, loff_t, loff_t) = NULL; -+ struct inode_operations inode_ops = { -+ .truncate_range = tr, -+ }; -+ inode_ops.truncate_range(0, 0, 0); -+ -+ -+ ],[ -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_INODE_TRUNCATE_RANGE, 1, -+ [inode_operations->truncate_range() exists]) -+ ],[ -+ AC_MSG_RESULT(no) -+ ]) -+]) -diff --git a/config/kernel.m4 b/config/kernel.m4 -index 7f07c90..752a7df 100644 ---- a/config/kernel.m4 -+++ b/config/kernel.m4 -@@ -59,6 +59,9 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ - ZFS_AC_KERNEL_BDI - ZFS_AC_KERNEL_BDI_SETUP_AND_REGISTER - ZFS_AC_KERNEL_SET_NLINK -+ ZFS_AC_KERNEL_EXPORT_ENCODE_FH_WITH_INODE_PARAMETER -+ ZFS_AC_KERNEL_INODE_TRUNCATE_RANGE -+ ZFS_AC_KERNEL_CLEAR_INODE - - AS_IF([test "$LINUX_OBJ" != "$LINUX"], [ - KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ" -diff --git a/module/zfs/zpl_export.c b/module/zfs/zpl_export.c -index f82ee30..ab6e6d2 100644 ---- a/module/zfs/zpl_export.c -+++ b/module/zfs/zpl_export.c -@@ -30,10 +30,15 @@ - - - static int -+#ifdef HAVE_EXPORT_ENCODE_FH_WITH_INODE_PARAMETER -+zpl_encode_fh(struct inode *ip, __u32 *fh, int *max_len, struct inode *parent) -+{ -+#else - zpl_encode_fh(struct dentry *dentry, __u32 *fh, int *max_len, int connectable) - { -- fid_t *fid = (fid_t *)fh; - struct inode *ip = dentry->d_inode; -+#endif -+ fid_t *fid = (fid_t *)fh; - int len_bytes, rc; - - len_bytes = *max_len * sizeof (__u32); -diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c -index 1f6169b..51202e7 100644 ---- a/module/zfs/zpl_inode.c -+++ b/module/zfs/zpl_inode.c -@@ -329,6 +329,7 @@ out: - return (error); - } - -+#ifdef HAVE_INODE_TRUNCATE_RANGE - static void - zpl_truncate_range(struct inode* ip, loff_t start, loff_t end) - { -@@ -355,6 +356,7 @@ zpl_truncate_range(struct inode* ip, loff_t start, loff_t end) - - crfree(cr); - } -+#endif - - #ifdef HAVE_INODE_FALLOCATE - static long -@@ -380,7 +382,9 @@ const struct inode_operations zpl_inode_operations = { - .getxattr = generic_getxattr, - .removexattr = generic_removexattr, - .listxattr = zpl_xattr_list, -+#ifdef HAVE_INODE_TRUNCATE_RANGE - .truncate_range = zpl_truncate_range, -+#endif /* HAVE_INODE_TRUNCATE_RANGE */ - #ifdef HAVE_INODE_FALLOCATE - .fallocate = zpl_fallocate, - #endif /* HAVE_INODE_FALLOCATE */ -diff --git a/module/zfs/zpl_super.c b/module/zfs/zpl_super.c -index 98d0a03..c2aac35 100644 ---- a/module/zfs/zpl_super.c -+++ b/module/zfs/zpl_super.c -@@ -75,7 +75,12 @@ static void - zpl_evict_inode(struct inode *ip) - { - truncate_setsize(ip, 0); -+#ifdef HAVE_CLEAR_INODE -+ clear_inode(ip); -+#else - end_writeback(ip); -+ -+#endif - zfs_inactive(ip); - } - diff --git a/sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-1-of-3.patch b/sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-1-of-3.patch deleted file mode 100644 index 51a81363eac8..000000000000 --- a/sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-1-of-3.patch +++ /dev/null @@ -1,44 +0,0 @@ -From e2060f922f8526aecf437de4cc4dff4c3cdfae16 Mon Sep 17 00:00:00 2001 -From: Richard Yao <ryao@cs.stonybrook.edu> -Date: Tue, 15 May 2012 23:19:32 -0400 -Subject: [PATCH] Revert Fix ASSERTION(!dsl_pool_sync_context(tx->tx_pool)) - -Commit eec8164771bee067c3cd55ed0a16dadeeba276de worked around an issue -involving direct reclaim through the use of PF_MEMALLOC. Since we -are reworking thing to use KM_PUSHPAGE so that swap works, we revert -this patch in favor of the use of KM_PUSHPAGE in the affected areas. - -Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> -Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> -Issue #726 ---- - module/zfs/txg.c | 13 ------------- - 1 file changed, 13 deletions(-) - -diff --git a/module/zfs/txg.c b/module/zfs/txg.c -index 5021e44..8d037f7 100644 ---- a/module/zfs/txg.c -+++ b/module/zfs/txg.c -@@ -372,19 +372,6 @@ - callb_cpr_t cpr; - uint64_t start, delta; - --#ifdef _KERNEL -- /* -- * Disable the normal reclaim path for the txg_sync thread. This -- * ensures the thread will never enter dmu_tx_assign() which can -- * otherwise occur due to direct reclaim. If this is allowed to -- * happen the system can deadlock. Direct reclaim call path: -- * -- * ->shrink_icache_memory->prune_icache->dispose_list-> -- * clear_inode->zpl_clear_inode->zfs_inactive->dmu_tx_assign -- */ -- current->flags |= PF_MEMALLOC; --#endif /* _KERNEL */ -- - txg_thread_enter(tx, &cpr); - - start = delta = 0; --- -1.7.10 - diff --git a/sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-2-of-3.patch b/sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-2-of-3.patch deleted file mode 100644 index 0a4fd26040e7..000000000000 --- a/sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-2-of-3.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 78d26b8497b3845fc8130981c76214d6788f7a9d Mon Sep 17 00:00:00 2001 -From: Richard Yao <ryao@cs.stonybrook.edu> -Date: Mon, 7 May 2012 14:14:45 -0400 -Subject: [PATCH] Revert Fix zpl_writepage() deadlock - -The commit, cfc9a5c88f91f7b4d606fce89505e1f404691ea5, to fix deadlocks -in zpl_writepage() relied on PF_MEMALLOC. That had the effect of -disabling the direct reclaim path on all allocations originating from -calls to this function, but it failed to address the actual cause of -those deadlocks. This led to the same deadlocks being observed with -swap on zvols, but not with swap on the loop device, which exercises -this code. - -The use of PF_MEMALLOC also had the side effect of permitting -allocations to be made from ZONE_DMA in instances that did not require -it. This contributes to the possibility of panics caused by depletion -of pages from ZONE_DMA. - -As such, we revert this patch in favor of a proper fix for both issues. - -Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> -Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> -Issue #726 ---- - module/zfs/zpl_file.c | 15 +-------------- - 1 file changed, 1 insertion(+), 14 deletions(-) - -diff --git a/module/zfs/zpl_file.c b/module/zfs/zpl_file.c -index 5ac41c9..2e9f72a 100644 ---- a/module/zfs/zpl_file.c -+++ b/module/zfs/zpl_file.c -@@ -358,20 +358,7 @@ - ASSERT(PageLocked(pp)); - ASSERT(!PageWriteback(pp)); - -- /* -- * Disable the normal reclaim path for zpl_putpage(). This -- * ensures that all memory allocations under this call path -- * will never enter direct reclaim. If this were to happen -- * the VM might try to write out additional pages by calling -- * zpl_putpage() again resulting in a deadlock. -- */ -- if (current->flags & PF_MEMALLOC) { -- (void) zfs_putpage(mapping->host, pp, wbc); -- } else { -- current->flags |= PF_MEMALLOC; -- (void) zfs_putpage(mapping->host, pp, wbc); -- current->flags &= ~PF_MEMALLOC; -- } -+ (void) zfs_putpage(mapping->host, pp, wbc); - - return (0); - } --- -1.7.10 - diff --git a/sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-3-of-3.patch b/sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-3-of-3.patch deleted file mode 100644 index 2eb85754b0f8..000000000000 --- a/sys-fs/zfs/files/zfs-0.6.0_rc9-remove-pfmalloc-3-of-3.patch +++ /dev/null @@ -1,70 +0,0 @@ -From a1c889dd6fb04d70439074a9399c9ea8f29f2cdb Mon Sep 17 00:00:00 2001 -From: Richard Yao <ryao@cs.stonybrook.edu> -Date: Wed, 16 May 2012 18:16:02 -0400 -Subject: [PATCH] Revert Disable direct reclaim for z_wr_* threads - -This commit used PF_MEMALLOC to prevent a memory reclaim deadlock. -However, commit 49be0ccf1fdc2ce852271d4d2f8b7a9c2c4be6db eliminated -the invocation of __cv_init(), which was the cause of the deadlock. -PF_MEMALLOC has the side effect of permitting pages from ZONE_DMA -to be allocated. The use of PF_MEMALLOC was found to cause stability -problems when doing swap on zvols. Since this technique is known to -cause problems and no longer fixes anything, we revert it. - -Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> -Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> -Issue #726 ---- - include/sys/zfs_context.h | 1 - - module/zfs/spa.c | 9 +++------ - 2 files changed, 3 insertions(+), 7 deletions(-) - -diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h -index e4af6fc..77dded3 100644 ---- a/include/sys/zfs_context.h -+++ b/include/sys/zfs_context.h -@@ -382,7 +382,6 @@ extern kstat_t *kstat_create(char *, int, - #define TASKQ_DYNAMIC 0x0004 /* Use dynamic thread scheduling */ - #define TASKQ_THREADS_CPU_PCT 0x0008 /* Scale # threads by # cpus */ - #define TASKQ_DC_BATCH 0x0010 /* Mark threads as batch */ --#define TASKQ_NORECLAIM 0x0020 /* Disable direct memory reclaim */ - - #define TQ_SLEEP KM_SLEEP /* Can block for memory */ - #define TQ_NOSLEEP KM_NOSLEEP /* cannot block for memory; may fail */ -diff --git a/module/zfs/spa.c b/module/zfs/spa.c -index c33a33a..436cd26 100644 ---- a/module/zfs/spa.c -+++ b/module/zfs/spa.c -@@ -617,8 +617,9 @@ static inline int spa_load_impl(spa_t *spa, uint64_t, nvlist_t *config, - - static taskq_t * - spa_taskq_create(spa_t *spa, const char *name, enum zti_modes mode, -- uint_t value, uint_t flags) -+ uint_t value) - { -+ uint_t flags = TASKQ_PREPOPULATE; - boolean_t batch = B_FALSE; - - switch (mode) { -@@ -668,17 +669,13 @@ static inline int spa_load_impl(spa_t *spa, uint64_t, nvlist_t *config, - const zio_taskq_info_t *ztip = &zio_taskqs[t][q]; - enum zti_modes mode = ztip->zti_mode; - uint_t value = ztip->zti_value; -- uint_t flags = 0; - char name[32]; - -- if (t == ZIO_TYPE_WRITE) -- flags |= TASKQ_NORECLAIM; -- - (void) snprintf(name, sizeof (name), - "%s_%s", zio_type_name[t], zio_taskq_types[q]); - - spa->spa_zio_taskq[t][q] = -- spa_taskq_create(spa, name, mode, value, flags); -+ spa_taskq_create(spa, name, mode, value); - } - } - } --- -1.7.10 - diff --git a/sys-fs/zfs/metadata.xml b/sys-fs/zfs/metadata.xml index 0703d98511ce..4b0c992ad1fd 100644 --- a/sys-fs/zfs/metadata.xml +++ b/sys-fs/zfs/metadata.xml @@ -6,7 +6,7 @@ <name>Richard Yao</name> </maintainer> <use> - <flag name="dracut">Install dracut module</flag> + <flag name="kernel-builtin">Disable dependency on sys-fs/zfs-kmod under the assumption that ZFS is part of the kernel source tree</flag> <flag name="rootfs">Install zfs-shutdown script to support exporting a pool containing rootfs</flag> <flag name="test-suite">Install regression test suite</flag> </use> diff --git a/sys-fs/zfs/zfs-0.6.0_rc10.ebuild b/sys-fs/zfs/zfs-0.6.0_rc10-r1.ebuild index 87359bbcfa08..32d6f2804427 100644 --- a/sys-fs/zfs/zfs-0.6.0_rc10.ebuild +++ b/sys-fs/zfs/zfs-0.6.0_rc10-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/zfs-0.6.0_rc10.ebuild,v 1.1 2012/08/15 23:04:21 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/zfs-0.6.0_rc10-r1.ebuild,v 1.1 2012/08/22 07:31:11 ryao Exp $ EAPI="4" @@ -8,7 +8,7 @@ AT_M4DIR="config" AUTOTOOLS_AUTORECONF="1" AUTOTOOLS_IN_SOURCE_BUILD="1" -inherit bash-completion-r1 flag-o-matic linux-mod toolchain-funcs autotools-utils +inherit bash-completion-r1 flag-o-matic toolchain-funcs autotools-utils if [ ${PV} == "9999" ] ; then inherit git-2 @@ -21,15 +21,15 @@ else KEYWORDS="~amd64" fi -DESCRIPTION="Native ZFS for Linux" +DESCRIPTION="Userland utilities for ZFS Linux kernel module" HOMEPAGE="http://zfsonlinux.org/" LICENSE="BSD-2 CDDL MIT" SLOT="0" -IUSE="custom-cflags debug dracut +rootfs test test-suite static-libs" +IUSE="custom-cflags +rootfs test-suite static-libs" +RESTRICT="test" COMMON_DEPEND=" - =sys-kernel/spl-${PV}* sys-apps/util-linux[static-libs?] sys-libs/zlib[static-libs(+)?] " @@ -38,6 +38,7 @@ DEPEND="${COMMON_DEPEND} " RDEPEND="${COMMON_DEPEND} + =sys-fs/zfs-kmod-${PV}* !sys-fs/zfs-fuse !prefix? ( sys-fs/udev ) test-suite? ( @@ -55,25 +56,6 @@ RDEPEND="${COMMON_DEPEND} app-misc/pax-utils ) " -DEPEND+=" - test? ( sys-fs/mdadm ) -" - -pkg_setup() { - CONFIG_CHECK="!DEBUG_LOCK_ALLOC - !PREEMPT - BLK_DEV_LOOP - EFI_PARTITION - MODULES - !PAX_KERNEXEC_PLUGIN_METHOD_OR - ZLIB_DEFLATE - ZLIB_INFLATE" - use rootfs && \ - CONFIG_CHECK="${CONFIG_CHECK} BLK_DEV_INITRD - DEVTMPFS" - kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" - check_extra_config -} src_prepare() { # Workaround for hard coded path @@ -81,28 +63,18 @@ src_prepare() { # Workaround rename sed -i "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" scripts/common.sh.in || die - if [ ${PV} != "9999" ] - then - # Fix various deadlocks - epatch "${FILESDIR}/${PN}-0.6.0_rc9-remove-pfmalloc-1-of-3.patch" - epatch "${FILESDIR}/${PN}-0.6.0_rc9-remove-pfmalloc-2-of-3.patch" - epatch "${FILESDIR}/${PN}-0.6.0_rc9-remove-pfmalloc-3-of-3.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-config=user --with-linux="${KV_DIR}" --with-linux-obj="${KV_OUT_DIR}" --with-udevdir="$($(tc-getPKG_CONFIG) --variable=udevdir udev)" - $(use_enable debug) ) autotools-utils_src_configure } @@ -120,7 +92,7 @@ src_test() { src_install() { autotools-utils_src_install gen_usr_ldscript -a uutil nvpair zpool zfs - use dracut || rm -rf "${ED}usr/share/dracut" + rm -rf "${ED}usr/share/dracut" use test-suite || rm -rf "${ED}usr/libexec" if use rootfs @@ -135,9 +107,6 @@ src_install() { } pkg_postinst() { - linux-mod_pkg_postinst - - use x86 && ewarn "32-bit kernels are unsupported by ZFSOnLinux upstream. Do not file bug reports." [ -e "${EROOT}/etc/runlevels/boot/zfs" ] \ || ewarn 'You should add zfs to the boot runlevel.' diff --git a/sys-fs/zfs/zfs-0.6.0_rc9-r6.ebuild b/sys-fs/zfs/zfs-0.6.0_rc9-r6.ebuild deleted file mode 100644 index ceeb58aa17a4..000000000000 --- a/sys-fs/zfs/zfs-0.6.0_rc9-r6.ebuild +++ /dev/null @@ -1,157 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/zfs-0.6.0_rc9-r6.ebuild,v 1.5 2012/08/11 20:05:05 ryao Exp $ - -EAPI="4" - -AT_M4DIR="config" -AUTOTOOLS_AUTORECONF="1" -AUTOTOOLS_IN_SOURCE_BUILD="1" - -inherit bash-completion-r1 flag-o-matic linux-mod toolchain-funcs autotools-utils - -if [ ${PV} == "9999" ] ; then - inherit git-2 - EGIT_REPO_URI="git://github.com/zfsonlinux/${PN}.git" -else - inherit eutils versionator - MY_PV=$(replace_version_separator 3 '-') - SRC_URI="https://github.com/downloads/zfsonlinux/${PN}/${PN}-${MY_PV}.tar.gz" - S="${WORKDIR}/${PN}-${MY_PV}" - KEYWORDS="~amd64" -fi - -DESCRIPTION="Native ZFS for Linux" -HOMEPAGE="http://zfsonlinux.org/" - -LICENSE="BSD-2 CDDL MIT" -SLOT="0" -IUSE="custom-cflags debug dracut +rootfs test test-suite static-libs" - -COMMON_DEPEND=" - =sys-kernel/spl-${PV}* - sys-apps/util-linux[static-libs?] - sys-libs/zlib[static-libs(+)?] -" -DEPEND="${COMMON_DEPEND} - virtual/pkgconfig -" - -RDEPEND="${COMMON_DEPEND} - !sys-fs/zfs-fuse - !prefix? ( sys-fs/udev ) - test-suite? ( - sys-apps/gawk - 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 - ) -" -DEPEND+=" - test? ( sys-fs/mdadm ) -" - -pkg_setup() { - CONFIG_CHECK="!DEBUG_LOCK_ALLOC - !PREEMPT - BLK_DEV_LOOP - EFI_PARTITION - MODULES - !PAX_KERNEXEC_PLUGIN_METHOD_OR - ZLIB_DEFLATE - ZLIB_INFLATE" - use rootfs && \ - CONFIG_CHECK="${CONFIG_CHECK} BLK_DEV_INITRD - DEVTMPFS" - kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" - check_extra_config -} - -src_prepare() { - # Workaround for hard coded path - sed -i "s|/sbin/lsmod|/bin/lsmod|" scripts/common.sh.in || die - # Workaround rename - sed -i "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" scripts/common.sh.in || die - - if [ ${PV} != "9999" ] - then - # Fix build issues - epatch "${FILESDIR}/${P}-hardened-support.patch" - epatch "${FILESDIR}/${P}-hardened-3.3-and-later-support.patch" - epatch "${FILESDIR}/${P}-linux-3.5-support.patch" - epatch "${FILESDIR}/${P}-fix-32-bit-warnings.patch" - - # Fix various deadlocks - epatch "${FILESDIR}/${P}-remove-pfmalloc-1-of-3.patch" - epatch "${FILESDIR}/${P}-remove-pfmalloc-2-of-3.patch" - epatch "${FILESDIR}/${P}-remove-pfmalloc-3-of-3.patch" - - #Miscellaneous - epatch "${FILESDIR}/${P}-bsd-init.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}" - --with-udevdir="$($(tc-getPKG_CONFIG) --variable=udevdir udev)" - $(use_enable debug) - ) - autotools-utils_src_configure -} - -src_test() { - if [ $UID -ne 0 ] - then - ewarn "Cannot run make check tests with FEATURES=userpriv." - ewarn "Skipping make check tests." - else - autotools-utils_src_test - fi -} - -src_install() { - autotools-utils_src_install - gen_usr_ldscript -a uutil nvpair zpool zfs - use dracut || rm -rf "${ED}usr/share/dracut" - use test-suite || rm -rf "${ED}usr/libexec" - - if use rootfs - then - doinitd "${FILESDIR}/zfs-shutdown" - exeinto /usr/share/zfs - doexe "${FILESDIR}/linuxrc" - fi - - newbashcomp "${FILESDIR}/bash-completion" zfs - -} - -pkg_postinst() { - linux-mod_pkg_postinst - - use x86 && ewarn "32-bit kernels are unsupported by ZFSOnLinux upstream. Do not file bug reports." - - [ -e "${EROOT}/etc/runlevels/boot/zfs" ] \ - || ewarn 'You should add zfs to the boot runlevel.' - - use rootfs && ([ -e "${EROOT}/etc/runlevels/shutdown/zfs-shutdown" ] \ - || ewarn 'You should add zfs-shutdown to the shutdown runlevel.') - -} diff --git a/sys-fs/zfs/zfs-9999.ebuild b/sys-fs/zfs/zfs-9999.ebuild index 22f957af5b07..7b0cf54c993d 100644 --- a/sys-fs/zfs/zfs-9999.ebuild +++ b/sys-fs/zfs/zfs-9999.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 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.34 2012/08/15 23:04:21 ryao Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/zfs-9999.ebuild,v 1.35 2012/08/22 07:31:11 ryao Exp $ EAPI="4" @@ -8,7 +8,7 @@ AT_M4DIR="config" AUTOTOOLS_AUTORECONF="1" AUTOTOOLS_IN_SOURCE_BUILD="1" -inherit bash-completion-r1 flag-o-matic linux-mod toolchain-funcs autotools-utils +inherit bash-completion-r1 flag-o-matic toolchain-funcs autotools-utils if [ ${PV} == "9999" ] ; then inherit git-2 @@ -21,15 +21,15 @@ else KEYWORDS="~amd64" fi -DESCRIPTION="Native ZFS for Linux" +DESCRIPTION="Userland utilities for ZFS Linux kernel module" HOMEPAGE="http://zfsonlinux.org/" LICENSE="BSD-2 CDDL MIT" SLOT="0" -IUSE="custom-cflags debug dracut +rootfs test test-suite static-libs" +IUSE="custom-cflags +rootfs test-suite static-libs" +RESTRICT="test" COMMON_DEPEND=" - =sys-kernel/spl-${PV}* sys-apps/util-linux[static-libs?] sys-libs/zlib[static-libs(+)?] " @@ -38,6 +38,7 @@ DEPEND="${COMMON_DEPEND} " RDEPEND="${COMMON_DEPEND} + =sys-fs/zfs-kmod-${PV}* !sys-fs/zfs-fuse !prefix? ( sys-fs/udev ) test-suite? ( @@ -55,25 +56,6 @@ RDEPEND="${COMMON_DEPEND} app-misc/pax-utils ) " -DEPEND+=" - test? ( sys-fs/mdadm ) -" - -pkg_setup() { - CONFIG_CHECK="!DEBUG_LOCK_ALLOC - !PREEMPT - BLK_DEV_LOOP - EFI_PARTITION - MODULES - !PAX_KERNEXEC_PLUGIN_METHOD_OR - ZLIB_DEFLATE - ZLIB_INFLATE" - use rootfs && \ - CONFIG_CHECK="${CONFIG_CHECK} BLK_DEV_INITRD - DEVTMPFS" - kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required" - check_extra_config -} src_prepare() { # Workaround for hard coded path @@ -81,28 +63,18 @@ src_prepare() { # Workaround rename sed -i "s|/usr/bin/scsi-rescan|/usr/sbin/rescan-scsi-bus|" scripts/common.sh.in || die - if [ ${PV} != "9999" ] - then - # Fix various deadlocks - epatch "${FILESDIR}/${PN}-0.6.0_rc9-remove-pfmalloc-1-of-3.patch" - epatch "${FILESDIR}/${PN}-0.6.0_rc9-remove-pfmalloc-2-of-3.patch" - epatch "${FILESDIR}/${PN}-0.6.0_rc9-remove-pfmalloc-3-of-3.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-config=user --with-linux="${KV_DIR}" --with-linux-obj="${KV_OUT_DIR}" --with-udevdir="$($(tc-getPKG_CONFIG) --variable=udevdir udev)" - $(use_enable debug) ) autotools-utils_src_configure } @@ -120,7 +92,7 @@ src_test() { src_install() { autotools-utils_src_install gen_usr_ldscript -a uutil nvpair zpool zfs - use dracut || rm -rf "${ED}usr/share/dracut" + rm -rf "${ED}usr/share/dracut" use test-suite || rm -rf "${ED}usr/libexec" if use rootfs @@ -135,9 +107,6 @@ src_install() { } pkg_postinst() { - linux-mod_pkg_postinst - - use x86 && ewarn "32-bit kernels are unsupported by ZFSOnLinux upstream. Do not file bug reports." [ -e "${EROOT}/etc/runlevels/boot/zfs" ] \ || ewarn 'You should add zfs to the boot runlevel.' |