summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Yao <ryao@gentoo.org>2014-06-08 17:13:58 +0000
committerRichard Yao <ryao@gentoo.org>2014-06-08 17:13:58 +0000
commit8e9c2345134e008b08337ce87360cc85701c174c (patch)
tree68570bcf18e007de04e65cc9d6a16e472f29b7bd /sys-fs/zfs-kmod
parentkeyword ~ia64 wrt bug #509628 (diff)
downloadgentoo-2-8e9c2345134e008b08337ce87360cc85701c174c.tar.gz
gentoo-2-8e9c2345134e008b08337ce87360cc85701c174c.tar.bz2
gentoo-2-8e9c2345134e008b08337ce87360cc85701c174c.zip
Remove ancient ZFSOnLinux kernel module versions
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0xBEE84C64)
Diffstat (limited to 'sys-fs/zfs-kmod')
-rw-r--r--sys-fs/zfs-kmod/ChangeLog18
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-32-bit-integer-size-mismatch.patch72
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-i386-infinite-loop.patch70
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-rename-failure.patch204
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-zvol_probe-null.patch35
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-0-elevator-change.patch137
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-1.patch35
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-2.patch101
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-3.patch126
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-4.patch87
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-5.patch118
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-return-positive-error.patch31
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc10-r2.ebuild123
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc11-r3.ebuild129
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc12-r3.ebuild119
15 files changed, 17 insertions, 1388 deletions
diff --git a/sys-fs/zfs-kmod/ChangeLog b/sys-fs/zfs-kmod/ChangeLog
index dce5e4091f8a..8e9153d21b56 100644
--- a/sys-fs/zfs-kmod/ChangeLog
+++ b/sys-fs/zfs-kmod/ChangeLog
@@ -1,6 +1,22 @@
# ChangeLog for sys-fs/zfs-kmod
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/ChangeLog,v 1.46 2014/05/22 21:39:35 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/ChangeLog,v 1.47 2014/06/08 17:13:57 ryao Exp $
+
+ 08 Jun 2014; Richard Yao <ryao@gentoo.org>
+ -files/zfs-kmod-0.6.0_rc11-fix-32-bit-integer-size-mismatch.patch,
+ -files/zfs-kmod-0.6.0_rc11-fix-i386-infinite-loop.patch,
+ -files/zfs-kmod-0.6.0_rc11-fix-rename-failure.patch,
+ -files/zfs-kmod-0.6.0_rc11-fix-zvol_probe-null.patch,
+ -files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-0-elevator-change.patch,
+ -files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-1.patch,
+ -files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-2.patch,
+ -files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-3.patch,
+ -files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-4.patch,
+ -files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-5.patch,
+ -files/zfs-kmod-0.6.0_rc11-return-positive-error.patch,
+ -zfs-kmod-0.6.0_rc10-r2.ebuild, -zfs-kmod-0.6.0_rc11-r3.ebuild,
+ -zfs-kmod-0.6.0_rc12-r3.ebuild:
+ Remove ancient ZFSOnLinux kernel module versions
22 May 2014; Richard Yao <ryao@gentoo.org> zfs-kmod-9999.ebuild:
CONFIG_DEBUG_INFO should be DEBUG_INFO
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-32-bit-integer-size-mismatch.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-32-bit-integer-size-mismatch.patch
deleted file mode 100644
index 64004aca71d8..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-32-bit-integer-size-mismatch.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 7df05a4266fe8549cedb9a2d71bb8bff6ab11112 Mon Sep 17 00:00:00 2001
-From: Richard Yao <ryao@cs.stonybrook.edu>
-Date: Wed, 10 Oct 2012 23:57:45 -0400
-Subject: [PATCH] Fix zfs_write_limit_max integer size mismatch on 32-bit
- systems
-
-Commit c409e4647f221ab724a0bd10c480ac95447203c3 introduced a
-number of module parameters. This required several types to be
-changed to accomidate the required module parameters Linux macros.
-
-Unfortunately, arc.c contained its own extern definition of the
-zfs_write_limit_max variable and its type was not updated to be
-consistent with its dsl_pool.c counterpart. If the variable had
-been properly marked extern in a common header, then gcc would
-have generated a warning and this would not have slipped through.
-
-The result of this was that the ARC unconditionally expected
-zfs_write_limit_max to be 64-bit. Unfortunately, the largest size
-integer module parameter that Linux supports is unsigned long, which
-varies in size depending on the host system's native word size. The
-effect was that on 32-bit systems, ARC incorrectly performed 64-bit
-operations on a 32-bit value by reading the neighboring 32 bits as
-the upper 32 bits of the 64-bit value.
-
-We correct that by changing the extern declaration to use the unsigned
-long type and move these extern definitions in to the common arc.h
-header. This should make ARC correctly treat zfs_write_limit_max as a
-32-bit value on 32-bit systems.
-
-Reported-by: Jorgen Lundman <lundman@lundman.net>
-Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #749
----
- include/sys/arc.h | 5 +++++
- module/zfs/arc.c | 4 ----
- 2 files changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/include/sys/arc.h b/include/sys/arc.h
-index dd9b128..443597d 100644
---- a/include/sys/arc.h
-+++ b/include/sys/arc.h
-@@ -150,6 +150,11 @@ zio_t *arc_write(zio_t *pio, spa_t *spa, uint64_t txg,
- void l2arc_start(void);
- void l2arc_stop(void);
-
-+/* Global tunings */
-+extern int zfs_write_limit_shift;
-+extern unsigned long zfs_write_limit_max;
-+extern kmutex_t zfs_write_limit_lock;
-+
- #ifdef __cplusplus
- }
- #endif
-diff --git a/module/zfs/arc.c b/module/zfs/arc.c
-index 55f1909..829b4d9 100644
---- a/module/zfs/arc.c
-+++ b/module/zfs/arc.c
-@@ -147,10 +147,6 @@
- static kcondvar_t arc_reclaim_thr_cv; /* used to signal reclaim thr */
- static uint8_t arc_thread_exit;
-
--extern int zfs_write_limit_shift;
--extern uint64_t zfs_write_limit_max;
--extern kmutex_t zfs_write_limit_lock;
--
- /* number of bytes to prune from caches when at arc_meta_limit is reached */
- uint_t arc_meta_prune = 1048576;
-
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-i386-infinite-loop.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-i386-infinite-loop.patch
deleted file mode 100644
index e0146144f2eb..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-i386-infinite-loop.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From b68503fb30dfed0823b1fe7d547d82c3df04d187 Mon Sep 17 00:00:00 2001
-From: Richard Yao <ryao@cs.stonybrook.edu>
-Date: Thu, 11 Oct 2012 15:51:25 -0700
-Subject: [PATCH] Remove vmem_size() consumers
-
-There are currently three vmem_size() consumers all of which are
-part of the ARC implemention. However, since the expected behavior
-of the Linux and Solaris virtual memory subsystems are so different
-the behavior in each of these instances needs to be reevaluated.
-
-* arc_evict_needed() - This is actually dead code. Arena support
-was never added to the SPL and zio_arena is always NULL. This
-support isn't needed so we simply remove this dead code.
-
-* arc_memory_throttle() - On Solaris where virtual memory constitutes
-almost all of the address space we can reasonably expect there to be
-a fairly large amount free. However, on Linux by default we only
-have about 100MB total and that's heavily used by the ARC. So the
-expectation on Linux is that this will usually be a small value.
-Therefore we remove the vmem_size() check for i386 systems because
-the expectation is that it will be less than the zfs_write_limit_max.
-
-* arc_init() - Here vmem_size() is used to initially size the ARC.
-Since the ARC is currently backed by the virtual address space it
-makes sense to use this as a limit on the ARC for 32-bit systems.
-This code can be removed when the ARC is backed by the page cache.
-
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #831
----
- module/zfs/arc.c | 16 ----------------
- 1 file changed, 16 deletions(-)
-
-diff --git a/module/zfs/arc.c b/module/zfs/arc.c
-index 829b4d9..6ec9f04 100644
---- a/module/zfs/arc.c
-+++ b/module/zfs/arc.c
-@@ -2414,18 +2414,6 @@ struct l2arc_buf_hdr {
- if (type == ARC_BUFC_METADATA && arc_meta_used >= arc_meta_limit)
- return (1);
-
--#ifdef _KERNEL
-- /*
-- * If zio data pages are being allocated out of a separate heap segment,
-- * then enforce that the size of available vmem for this area remains
-- * above about 1/32nd free.
-- */
-- if (type == ARC_BUFC_DATA && zio_arena != NULL &&
-- vmem_size(zio_arena, VMEM_FREE) <
-- (vmem_size(zio_arena, VMEM_ALLOC) >> 5))
-- return (1);
--#endif
--
- if (arc_no_grow)
- return (1);
-
-@@ -3563,10 +3551,6 @@ struct l2arc_buf_hdr {
-
- /* Easily reclaimable memory (free + inactive + arc-evictable) */
- available_memory = ptob(spl_kmem_availrmem()) + arc_evictable_memory();
--#if defined(__i386)
-- available_memory =
-- MIN(available_memory, vmem_size(heap_arena, VMEM_FREE));
--#endif
-
- if (available_memory <= zfs_write_limit_max) {
- ARCSTAT_INCR(arcstat_memory_throttle_count, 1);
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-rename-failure.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-rename-failure.patch
deleted file mode 100644
index bda91468fc78..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-rename-failure.patch
+++ /dev/null
@@ -1,204 +0,0 @@
-From 04434775b7f3aa55fbbcf2064cfb9f5f5c436e64 Mon Sep 17 00:00:00 2001
-From: Matthew Ahrens <mahrens@delphix.com>
-Date: Fri, 24 Aug 2012 07:12:46 -0700
-Subject: [PATCH] Illumos #3100: zvol rename fails with EBUSY when dirty.
-
-illumos/illumos-gate@2e2c135528b3edfe9aaf67d1f004dc0202fa1a54
-Illumos changeset: 13780:6da32a929222
-
-3100 zvol rename fails with EBUSY when dirty
-
-Reviewed by: Christopher Siden <chris.siden@delphix.com>
-Reviewed by: Adam H. Leventhal <ahl@delphix.com>
-Reviewed by: George Wilson <george.wilson@delphix.com>
-Reviewed by: Garrett D'Amore <garrett@damore.org>
-Approved by: Eric Schrock <eric.schrock@delphix.com>
-
-Ported-by: Etienne Dechamps <etienne.dechamps@ovh.net>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #995
----
- include/sys/dmu_objset.h | 1 -
- include/sys/dsl_dataset.h | 1 +
- lib/libzfs/libzfs_dataset.c | 2 +-
- module/zfs/dmu_objset.c | 11 -----------
- module/zfs/dsl_dataset.c | 21 +++++++++++++--------
- module/zfs/dsl_dir.c | 8 --------
- module/zfs/zfs_vfsops.c | 6 +++---
- module/zfs/zvol.c | 10 ++++++++++
- 8 files changed, 28 insertions(+), 32 deletions(-)
-
-diff --git a/include/sys/dmu_objset.h b/include/sys/dmu_objset.h
-index c6d202e..013b6ec 100644
---- a/include/sys/dmu_objset.h
-+++ b/include/sys/dmu_objset.h
-@@ -161,7 +161,6 @@ int dmu_objset_find_spa(spa_t *spa, const char *name,
- /* called from dsl */
- void dmu_objset_sync(objset_t *os, zio_t *zio, dmu_tx_t *tx);
- boolean_t dmu_objset_is_dirty(objset_t *os, uint64_t txg);
--boolean_t dmu_objset_is_dirty_anywhere(objset_t *os);
- objset_t *dmu_objset_create_impl(spa_t *spa, struct dsl_dataset *ds,
- blkptr_t *bp, dmu_objset_type_t type, dmu_tx_t *tx);
- int dmu_objset_open_impl(spa_t *spa, struct dsl_dataset *ds, blkptr_t *bp,
-diff --git a/include/sys/dsl_dataset.h b/include/sys/dsl_dataset.h
-index 7cff7e3..38ce3c5 100644
---- a/include/sys/dsl_dataset.h
-+++ b/include/sys/dsl_dataset.h
-@@ -258,6 +258,7 @@ int dsl_dataset_space_written(dsl_dataset_t *oldsnap, dsl_dataset_t *new,
- uint64_t *usedp, uint64_t *compp, uint64_t *uncompp);
- int dsl_dataset_space_wouldfree(dsl_dataset_t *firstsnap, dsl_dataset_t *last,
- uint64_t *usedp, uint64_t *compp, uint64_t *uncompp);
-+boolean_t dsl_dataset_is_dirty(dsl_dataset_t *ds);
-
- int dsl_dsobj_to_dsname(char *pname, uint64_t obj, char *buf);
-
-diff --git a/lib/libzfs/libzfs_dataset.c b/lib/libzfs/libzfs_dataset.c
-index 7ccd941..7cf78c8 100644
---- a/lib/libzfs/libzfs_dataset.c
-+++ b/lib/libzfs/libzfs_dataset.c
-@@ -3700,7 +3700,7 @@ struct createdata {
- zhp->zfs_type == ZFS_TYPE_VOLUME);
-
- /*
-- * Destroy all recent snapshots and its dependends.
-+ * Destroy all recent snapshots and their dependents.
- */
- cb.cb_force = force;
- cb.cb_target = snap->zfs_name;
-diff --git a/module/zfs/dmu_objset.c b/module/zfs/dmu_objset.c
-index a34584e..c1bc1de 100644
---- a/module/zfs/dmu_objset.c
-+++ b/module/zfs/dmu_objset.c
-@@ -1182,17 +1182,6 @@ struct snaparg {
- !list_is_empty(&os->os_free_dnodes[txg & TXG_MASK]));
- }
-
--boolean_t
--dmu_objset_is_dirty_anywhere(objset_t *os)
--{
-- int t;
--
-- for (t = 0; t < TXG_SIZE; t++)
-- if (dmu_objset_is_dirty(os, t))
-- return (B_TRUE);
-- return (B_FALSE);
--}
--
- static objset_used_cb_t *used_cbs[DMU_OST_NUMTYPES];
-
- void
-diff --git a/module/zfs/dsl_dataset.c b/module/zfs/dsl_dataset.c
-index 10e9b19..21fdd08 100644
---- a/module/zfs/dsl_dataset.c
-+++ b/module/zfs/dsl_dataset.c
-@@ -1231,6 +1231,19 @@
- }
- }
-
-+boolean_t
-+dsl_dataset_is_dirty(dsl_dataset_t *ds)
-+{
-+ int t;
-+
-+ for (t = 0; t < TXG_SIZE; t++) {
-+ if (txg_list_member(&ds->ds_dir->dd_pool->dp_dirty_datasets,
-+ ds, t))
-+ return (B_TRUE);
-+ }
-+ return (B_FALSE);
-+}
-+
- /*
- * The unique space in the head dataset can be calculated by subtracting
- * the space used in the most recent snapshot, that is still being used
-@@ -3402,10 +3415,6 @@ struct cloneswaparg {
- if (ds->ds_quota != effective_value) {
- dmu_buf_will_dirty(ds->ds_dbuf, tx);
- ds->ds_quota = effective_value;
--
-- spa_history_log_internal(LOG_DS_REFQUOTA,
-- ds->ds_dir->dd_pool->dp_spa, tx, "%lld dataset = %llu ",
-- (longlong_t)ds->ds_quota, ds->ds_object);
- }
- }
-
-@@ -3509,10 +3518,6 @@ struct cloneswaparg {
-
- dsl_dir_diduse_space(ds->ds_dir, DD_USED_REFRSRV, delta, 0, 0, tx);
- mutex_exit(&ds->ds_dir->dd_lock);
--
-- spa_history_log_internal(LOG_DS_REFRESERV,
-- ds->ds_dir->dd_pool->dp_spa, tx, "%lld dataset = %llu",
-- (longlong_t)effective_value, ds->ds_object);
- }
-
- int
-diff --git a/module/zfs/dsl_dir.c b/module/zfs/dsl_dir.c
-index 97b38d2..377df40 100644
---- a/module/zfs/dsl_dir.c
-+++ b/module/zfs/dsl_dir.c
-@@ -1066,10 +1066,6 @@ struct tempreserve {
- mutex_enter(&dd->dd_lock);
- dd->dd_phys->dd_quota = effective_value;
- mutex_exit(&dd->dd_lock);
--
-- spa_history_log_internal(LOG_DS_QUOTA, dd->dd_pool->dp_spa,
-- tx, "%lld dataset = %llu ",
-- (longlong_t)effective_value, dd->dd_phys->dd_head_dataset_obj);
- }
-
- int
-@@ -1182,10 +1178,6 @@ struct tempreserve {
- delta, 0, 0, tx);
- }
- mutex_exit(&dd->dd_lock);
--
-- spa_history_log_internal(LOG_DS_RESERVATION, dd->dd_pool->dp_spa,
-- tx, "%lld dataset = %llu",
-- (longlong_t)effective_value, dd->dd_phys->dd_head_dataset_obj);
- }
-
- int
-diff --git a/module/zfs/zfs_vfsops.c b/module/zfs/zfs_vfsops.c
-index 8fe457e..90f9055 100644
---- a/module/zfs/zfs_vfsops.c
-+++ b/module/zfs/zfs_vfsops.c
-@@ -1112,9 +1112,9 @@
- /*
- * Evict cached data
- */
-- if (dmu_objset_is_dirty_anywhere(zsb->z_os))
-- if (!zfs_is_readonly(zsb))
-- txg_wait_synced(dmu_objset_pool(zsb->z_os), 0);
-+ if (dsl_dataset_is_dirty(dmu_objset_ds(zsb->z_os)) &&
-+ !zfs_is_readonly(zsb))
-+ txg_wait_synced(dmu_objset_pool(zsb->z_os), 0);
- (void) dmu_objset_evict_dbufs(zsb->z_os);
-
- return (0);
-diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c
-index a182f79..5668e1d 100644
---- a/module/zfs/zvol.c
-+++ b/module/zfs/zvol.c
-@@ -901,8 +901,18 @@
- {
- zil_close(zv->zv_zilog);
- zv->zv_zilog = NULL;
-+
- dmu_buf_rele(zv->zv_dbuf, zvol_tag);
- zv->zv_dbuf = NULL;
-+
-+ /*
-+ * Evict cached data
-+ */
-+ if (dsl_dataset_is_dirty(dmu_objset_ds(zv->zv_objset)) &&
-+ !(zv->zv_flags & ZVOL_RDONLY))
-+ txg_wait_synced(dmu_objset_pool(zv->zv_objset), 0);
-+ (void) dmu_objset_evict_dbufs(zv->zv_objset);
-+
- dmu_objset_disown(zv->zv_objset, zvol_tag);
- zv->zv_objset = NULL;
- }
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-zvol_probe-null.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-zvol_probe-null.patch
deleted file mode 100644
index 4111501fed7a..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-fix-zvol_probe-null.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 23a61ccc1b89fa5b89b5d8383d57cf5152406cfc Mon Sep 17 00:00:00 2001
-From: Chris Wedgwood <cw@f00f.org>
-Date: Mon, 24 Sep 2012 10:30:18 -0700
-Subject: [PATCH] zvol_probe should return NULL when the device isn't found.
-
-Previously we returned ERR_PTR(-ENOENT) which the rest of the kernel
-doesn't expect and as such we can oops.
-
-Signed-off-by: Chris Wedgwood <cw@f00f.org>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #949
-Closes #931
-Closes #789
-Closes #743
-Closes #730
----
- module/zfs/zvol.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c
-index 22f14a0..a182f79 100644
---- a/module/zfs/zvol.c
-+++ b/module/zfs/zvol.c
-@@ -1065,7 +1065,7 @@ static int zvol_revalidate_disk(struct gendisk *disk)
-
- mutex_enter(&zvol_state_lock);
- zv = zvol_find_by_dev(dev);
-- kobj = zv ? get_disk(zv->zv_disk) : ERR_PTR(-ENOENT);
-+ kobj = zv ? get_disk(zv->zv_disk) : NULL;
- mutex_exit(&zvol_state_lock);
-
- return kobj;
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-0-elevator-change.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-0-elevator-change.patch
deleted file mode 100644
index 0945ab77eb38..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-0-elevator-change.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 6d1d976b2c2c6b80de75a480c998466068066846 Mon Sep 17 00:00:00 2001
-From: Brian Behlendorf <behlendorf1@llnl.gov>
-Date: Mon, 27 Aug 2012 03:38:06 +0700
-Subject: [PATCH] Modify vdev_elevator_switch() to use elevator_change()
-
-As of Linux 2.6.36 an elevator_change() interface was added.
-This commit updates vdev_elevator_switch() to use this interface
-when available, otherwise it falls back to the usermodehelper
-method.
-
-Original-patch-by: foobarz <sysop@xeon.(none)>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #906
----
- config/kernel-elevator-change.m4 | 25 +++++++++++++++++++++++
- config/kernel.m4 | 1 +
- module/zfs/vdev_disk.c | 41 +++++++++++++++++++++-----------------
- 3 files changed, 49 insertions(+), 18 deletions(-)
- create mode 100644 config/kernel-elevator-change.m4
-
-diff --git a/config/kernel-elevator-change.m4 b/config/kernel-elevator-change.m4
-new file mode 100644
-index 0000000..90ab51b
---- /dev/null
-+++ b/config/kernel-elevator-change.m4
-@@ -0,0 +1,25 @@
-+dnl #
-+dnl # 2.6.36 API change
-+dnl # Verify the elevator_change() symbol is available.
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_ELEVATOR_CHANGE], [
-+ AC_MSG_CHECKING([whether elevator_change() is available])
-+ tmp_flags="$EXTRA_KCFLAGS"
-+ EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
-+ ZFS_LINUX_TRY_COMPILE([
-+ #include <linux/blkdev.h>
-+ #include <linux/elevator.h>
-+ ],[
-+ int ret;
-+ struct request_queue *q = NULL;
-+ char *elevator = NULL;
-+ ret = elevator_change(q, elevator);
-+ ],[
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_ELEVATOR_CHANGE, 1,
-+ [elevator_change() is available])
-+ ],[
-+ AC_MSG_RESULT(no)
-+ ])
-+ EXTRA_KCFLAGS="$tmp_flags"
-+])
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index 262dc7f..89b0a98 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -67,6 +67,7 @@ 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_ELEVATOR_CHANGE
-
- AS_IF([test "$LINUX_OBJ" != "$LINUX"], [
- KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
-diff --git a/module/zfs/vdev_disk.c b/module/zfs/vdev_disk.c
-index ffb2980..c562256 100644
---- a/module/zfs/vdev_disk.c
-+++ b/module/zfs/vdev_disk.c
-@@ -111,19 +111,7 @@
- * elevator to do the maximum front/back merging allowed by the
- * physical device. This yields the largest possible requests for
- * the device with the lowest total overhead.
-- *
-- * Unfortunately we cannot directly call the elevator_switch() function
-- * because it is not exported from the block layer. This means we have
-- * to use the sysfs interface and a user space upcall. Pools will be
-- * automatically imported on module load so we must do this at device
-- * open time from the kernel.
- */
--#define SET_SCHEDULER_CMD \
-- "exec 0</dev/null " \
-- " 1>/sys/block/%s/queue/scheduler " \
-- " 2>/dev/null; " \
-- "echo %s"
--
- static int
- vdev_elevator_switch(vdev_t *v, char *elevator)
- {
-@@ -131,8 +119,6 @@
- struct block_device *bdev = vd->vd_bdev;
- struct request_queue *q = bdev_get_queue(bdev);
- char *device = bdev->bd_disk->disk_name;
-- char *argv[] = { "/bin/sh", "-c", NULL, NULL };
-- char *envp[] = { NULL };
- int error;
-
- /* Skip devices which are not whole disks (partitions) */
-@@ -147,14 +133,33 @@
- if (!strncmp(elevator, "none", 4) && (strlen(elevator) == 4))
- return (0);
-
-- argv[2] = kmem_asprintf(SET_SCHEDULER_CMD, device, elevator);
-- error = call_usermodehelper(argv[0], argv, envp, 1);
-+#ifdef HAVE_ELEVATOR_CHANGE
-+ error = elevator_change(q, elevator);
-+#else
-+ /* For pre-2.6.36 kernels elevator_change() is not available.
-+ * Therefore we fall back to using a usermodehelper to echo the
-+ * elevator into sysfs; This requires /bin/echo and sysfs to be
-+ * mounted which may not be true early in the boot process.
-+ */
-+# define SET_SCHEDULER_CMD \
-+ "exec 0</dev/null " \
-+ " 1>/sys/block/%s/queue/scheduler " \
-+ " 2>/dev/null; " \
-+ "echo %s"
-+
-+ {
-+ char *argv[] = { "/bin/sh", "-c", NULL, NULL };
-+ char *envp[] = { NULL };
-+
-+ argv[2] = kmem_asprintf(SET_SCHEDULER_CMD, device, elevator);
-+ error = call_usermodehelper(argv[0], argv, envp, 1);
-+ strfree(argv[2]);
-+ }
-+#endif /* HAVE_ELEVATOR_CHANGE */
- if (error)
- printk("ZFS: Unable to set \"%s\" scheduler for %s (%s): %d\n",
- elevator, v->vdev_path, device, error);
-
-- strfree(argv[2]);
--
- return (error);
- }
-
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-1.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-1.patch
deleted file mode 100644
index 49dc64e46652..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-1.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From af26c4d4ab545767456d8c21ed48e9e01ce6a3e7 Mon Sep 17 00:00:00 2001
-From: Yuxuan Shui <yshuiv7@gmail.com>
-Date: Sat, 13 Oct 2012 18:44:15 -0700
-Subject: [PATCH] Linux 3.6 compat, sops->write_super() removed
-
-The .write_super callback was removed the the super_operations
-structure by Linux commit f0cd2dbb6cf387c11f87265462e370bb5469299e.
-All file systems are now expected to self manage writing any dirty
-state assoicated with their super block.
-
-ZFS never made use of this callback so it can simply be removed
-from the super_operations structure.
-
-Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Issue #873
----
- module/zfs/zpl_super.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/module/zfs/zpl_super.c b/module/zfs/zpl_super.c
-index 29d7f7d..fd4f691 100644
---- a/module/zfs/zpl_super.c
-+++ b/module/zfs/zpl_super.c
-@@ -316,7 +316,6 @@
- .delete_inode = zpl_inode_delete,
- #endif /* HAVE_EVICT_INODE */
- .put_super = zpl_put_super,
-- .write_super = NULL,
- .sync_fs = zpl_sync_fs,
- .statfs = zpl_statfs,
- .remount_fs = zpl_remount_fs,
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-2.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-2.patch
deleted file mode 100644
index 13b70f90f834..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-2.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 3c203610756f98f275c7c9f731d67a38b1111509 Mon Sep 17 00:00:00 2001
-From: Yuxuan Shui <yshuiv7@gmail.com>
-Date: Fri, 12 Oct 2012 21:40:53 +0800
-Subject: [PATCH] Linux 3.6 compat, sget()
-
-As of Linux commit 9249e17fe094d853d1ef7475dd559a2cc7e23d42 the
-mount flags are now passed to sget() so they can be used when
-initializing a new superblock.
-
-ZFS never uses sget() in this fashion so we can simply pass a
-zero and add a zpl_sget() compatibility wrapper.
-
-Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Issue #873
----
- config/kernel-sget-args.m4 | 23 +++++++++++++++++++++++
- config/kernel.m4 | 1 +
- include/linux/vfs_compat.h | 10 ++++++++++
- module/zfs/zfs_ctldir.c | 4 ++--
- 4 files changed, 36 insertions(+), 2 deletions(-)
- create mode 100644 config/kernel-sget-args.m4
-
-diff --git a/config/kernel-sget-args.m4 b/config/kernel-sget-args.m4
-new file mode 100644
-index 0000000..9d17459
---- /dev/null
-+++ b/config/kernel-sget-args.m4
-@@ -0,0 +1,23 @@
-+dnl #
-+dnl # 3.6 API change,
-+dnl # 'sget' now takes the mount flags as an argument.
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_5ARG_SGET],
-+ [AC_MSG_CHECKING([whether sget() wants 5 args])
-+ ZFS_LINUX_TRY_COMPILE([
-+ #include <linux/fs.h>
-+ ],[
-+ struct file_system_type *type = NULL;
-+ int (*test)(struct super_block *,void *) = NULL;
-+ int (*set)(struct super_block *,void *) = NULL;
-+ int flags = 0;
-+ void *data = NULL;
-+ (void) sget(type, test, set, flags, data);
-+ ],[
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_5ARG_SGET, 1, [sget() wants 5 args])
-+ ],[
-+ AC_MSG_RESULT(no)
-+ ])
-+])
-+
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index 89b0a98..3a144a3 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -68,6 +68,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
- ZFS_AC_KERNEL_BDI_SETUP_AND_REGISTER
- ZFS_AC_KERNEL_SET_NLINK
- ZFS_AC_KERNEL_ELEVATOR_CHANGE
-+ ZFS_AC_KERNEL_5ARG_SGET
-
- AS_IF([test "$LINUX_OBJ" != "$LINUX"], [
- KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
-diff --git a/include/linux/vfs_compat.h b/include/linux/vfs_compat.h
-index 9343f99..7181625 100644
---- a/include/linux/vfs_compat.h
-+++ b/include/linux/vfs_compat.h
-@@ -131,4 +131,14 @@
- #define clear_inode(ip) end_writeback(ip)
- #endif /* HAVE_EVICT_INODE && !HAVE_CLEAR_INODE */
-
-+/*
-+ * 3.6 API change,
-+ * The sget() helper function now takes the mount flags as an argument.
-+ */
-+#ifdef HAVE_5ARG_SGET
-+#define zpl_sget(type, cmp, set, fl, mtd) sget(type, cmp, set, fl, mtd)
-+#else
-+#define zpl_sget(type, cmp, set, fl, mtd) sget(type, cmp, set, mtd)
-+#endif /* HAVE_5ARG_SGET */
-+
- #endif /* _ZFS_VFS_H */
-diff --git a/module/zfs/zfs_ctldir.c b/module/zfs/zfs_ctldir.c
-index c49d717..55d1696 100644
---- a/module/zfs/zfs_ctldir.c
-+++ b/module/zfs/zfs_ctldir.c
-@@ -920,8 +920,8 @@ struct inode *
- * race cannot occur to an expired mount point because
- * we hold the zsb->z_ctldir_lock to prevent the race.
- */
-- sbp = sget(&zpl_fs_type, zfsctl_test_super,
-- zfsctl_set_super, &id);
-+ sbp = zpl_sget(&zpl_fs_type, zfsctl_test_super,
-+ zfsctl_set_super, 0, &id);
- if (IS_ERR(sbp)) {
- error = -PTR_ERR(sbp);
- } else {
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-3.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-3.patch
deleted file mode 100644
index f01e4a6fbdf8..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-3.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 8f195a908ffaa8faf8f4c8a0e701e44ae3859e33 Mon Sep 17 00:00:00 2001
-From: Yuxuan Shui <yshuiv7@gmail.com>
-Date: Fri, 12 Oct 2012 22:41:06 +0800
-Subject: [PATCH] Linux 3.6 compat, iops->lookup()
-
-As of Linux commit 00cd8dd3bf95f2cc8435b4cac01d9995635c6d0b the
-struct nameidata is no longer passed to iops->lookup. Instead
-only the inamedata->flags are passed.
-
-ZFS like almost all Linux fileystems never made use of this so
-only the prototype needs to be wrapped for compatibility.
-
-Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Issue #873
----
- config/kernel-lookup-nameidata.m4 | 21 +++++++++++++++++++++
- config/kernel.m4 | 1 +
- module/zfs/zpl_ctldir.c | 15 +++++++++++++++
- module/zfs/zpl_inode.c | 4 ++++
- 4 files changed, 41 insertions(+)
- create mode 100644 config/kernel-lookup-nameidata.m4
-
-diff --git a/config/kernel-lookup-nameidata.m4 b/config/kernel-lookup-nameidata.m4
-new file mode 100644
-index 0000000..5e30be4
---- /dev/null
-+++ b/config/kernel-lookup-nameidata.m4
-@@ -0,0 +1,21 @@
-+dnl #
-+dnl # 3.6 API change
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_LOOKUP_NAMEIDATA], [
-+ AC_MSG_CHECKING([whether iops->lookup() takes struct nameidata])
-+ ZFS_LINUX_TRY_COMPILE([
-+ #include <linux/fs.h>
-+ ],[
-+ struct dentry * (*inode_lookup) (struct inode *,struct dentry *,
-+ struct nameidata *) = NULL;
-+ struct inode_operations iops __attribute__ ((unused)) = {
-+ .lookup = inode_lookup,
-+ };
-+ ],[
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_LOOKUP_NAMEIDATA, 1,
-+ [iops->lookup() operation takes nameidata])
-+ ],[
-+ AC_MSG_RESULT(no)
-+ ])
-+])
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index 3a144a3..8d8cd6b 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -49,6 +49,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
- ZFS_AC_KERNEL_NR_CACHED_OBJECTS
- ZFS_AC_KERNEL_FREE_CACHED_OBJECTS
- ZFS_AC_KERNEL_FALLOCATE
-+ ZFS_AC_KERNEL_LOOKUP_NAMEIDATA
- ZFS_AC_KERNEL_TRUNCATE_RANGE
- ZFS_AC_KERNEL_CREATE_UMODE_T
- ZFS_AC_KERNEL_AUTOMOUNT
-diff --git a/module/zfs/zpl_ctldir.c b/module/zfs/zpl_ctldir.c
-index c680e54..7dfaf6e 100644
---- a/module/zfs/zpl_ctldir.c
-+++ b/module/zfs/zpl_ctldir.c
-@@ -143,7 +143,11 @@
- }
-
- static struct dentry *
-+#ifdef HAVE_LOOKUP_NAMEIDATA
- zpl_root_lookup(struct inode *dip, struct dentry *dentry, struct nameidata *nd)
-+#else
-+zpl_root_lookup(struct inode *dip, struct dentry *dentry, unsigned int flags)
-+#endif
- {
- cred_t *cr = CRED();
- struct inode *ip;
-@@ -180,8 +184,14 @@
- };
-
- static struct dentry *
-+#ifdef HAVE_LOOKUP_NAMEIDATA
- zpl_snapdir_lookup(struct inode *dip, struct dentry *dentry,
- struct nameidata *nd)
-+#else
-+zpl_snapdir_lookup(struct inode *dip, struct dentry *dentry,
-+ unsigned int flags)
-+#endif
-+
- {
- cred_t *cr = CRED();
- struct inode *ip;
-@@ -410,8 +420,13 @@
- #endif /* HAVE_AUTOMOUNT */
-
- static struct dentry *
-+#ifdef HAVE_LOOKUP_NAMEIDATA
- zpl_shares_lookup(struct inode *dip, struct dentry *dentry,
- struct nameidata *nd)
-+#else
-+zpl_shares_lookup(struct inode *dip, struct dentry *dentry,
-+ unsigned int flags)
-+#endif
- {
- cred_t *cr = CRED();
- struct inode *ip = NULL;
-diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c
-index 0dab82c..5b31c12 100644
---- a/module/zfs/zpl_inode.c
-+++ b/module/zfs/zpl_inode.c
-@@ -31,7 +31,11 @@
-
-
- static struct dentry *
-+#ifdef HAVE_LOOKUP_NAMEIDATA
- zpl_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd)
-+#else
-+zpl_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)
-+#endif
- {
- cred_t *cr = CRED();
- struct inode *ip;
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-4.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-4.patch
deleted file mode 100644
index e3183d0524d0..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-4.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 558ef6d0805457654938dbe56c9a19b0121a712d Mon Sep 17 00:00:00 2001
-From: Yuxuan Shui <yshuiv7@gmail.com>
-Date: Fri, 12 Oct 2012 23:20:58 +0800
-Subject: [PATCH] Linux 3.6 compat, iops->create()
-
-As of Linux commit ebfc3b49a7ac25920cb5be5445f602e51d2ea559 the
-struct nameidata is no longer passed to iops->create. Instead
-only the result of (inamedata->flags & LOOKUP_EXCL) is passed.
-
-ZFS like almost all Linux fileystems never made use of this so
-only the prototype needs to be wrapped for compatibility.
-
-Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Issue #873
----
- config/kernel-create-nameidata.m4 | 26 ++++++++++++++++++++++++++
- config/kernel.m4 | 1 +
- module/zfs/zpl_inode.c | 5 +++++
- 3 files changed, 32 insertions(+)
- create mode 100644 config/kernel-create-nameidata.m4
-
-diff --git a/config/kernel-create-nameidata.m4 b/config/kernel-create-nameidata.m4
-new file mode 100644
-index 0000000..100f077
---- /dev/null
-+++ b/config/kernel-create-nameidata.m4
-@@ -0,0 +1,26 @@
-+dnl #
-+dnl # 3.6 API change
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_CREATE_NAMEIDATA], [
-+ AC_MSG_CHECKING([whether iops->create() takes struct nameidata])
-+ ZFS_LINUX_TRY_COMPILE([
-+ #include <linux/fs.h>
-+ ],[
-+ #ifdef HAVE_MKDIR_UMODE_T
-+ int (*inode_create) (struct inode *,struct dentry *,
-+ umode_t, struct nameidata *) = NULL;
-+ #else
-+ int (*inode_create) (struct inode *,struct dentry *,
-+ int, struct nameidata *) = NULL;
-+ #endif
-+ struct inode_operations iops __attribute__ ((unused)) = {
-+ .create = inode_create,
-+ };
-+ ],[
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_CREATE_NAMEIDATA, 1,
-+ [iops->create() operation takes nameidata])
-+ ],[
-+ AC_MSG_RESULT(no)
-+ ])
-+])
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index 8d8cd6b..dd01fb2 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -50,6 +50,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
- ZFS_AC_KERNEL_FREE_CACHED_OBJECTS
- ZFS_AC_KERNEL_FALLOCATE
- ZFS_AC_KERNEL_LOOKUP_NAMEIDATA
-+ ZFS_AC_KERNEL_CREATE_NAMEIDATA
- ZFS_AC_KERNEL_TRUNCATE_RANGE
- ZFS_AC_KERNEL_CREATE_UMODE_T
- ZFS_AC_KERNEL_AUTOMOUNT
-diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c
-index 5b31c12..bb389f8 100644
---- a/module/zfs/zpl_inode.c
-+++ b/module/zfs/zpl_inode.c
-@@ -75,8 +75,13 @@
- }
-
- static int
-+#ifdef HAVE_CREATE_NAMEIDATA
- zpl_create(struct inode *dir, struct dentry *dentry, zpl_umode_t mode,
- struct nameidata *nd)
-+#else
-+zpl_create(struct inode *dir, struct dentry *dentry, zpl_umode_t mode,
-+ bool flag)
-+#endif
- {
- cred_t *cr = CRED();
- struct inode *ip;
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-5.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-5.patch
deleted file mode 100644
index 296304cb2338..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-linux-3.6-compat-5.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From 95f5c63b47d8f8294b38843f9ba710e97b749b63 Mon Sep 17 00:00:00 2001
-From: Richard Yao <ryao@cs.stonybrook.edu>
-Date: Thu, 16 Aug 2012 19:31:54 -0400
-Subject: [PATCH] Linux 3.6 compat, iops->mkdir()
-
-Use .mkdir instead of .create in 3.3 compatibility check. Linux 3.6
-modifies inode_operations->create's function prototype. This causes
-an autotools Linux 3.3. compatibility check for a function prototype
-change in create, mkdir and mknode to fail. Since mkdir and mknode
-are unchanged, we modify the check to examine it instead.
-
-Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Issue #873
----
- config/kernel-create-umode-t.m4 | 26 --------------------------
- config/kernel-mkdir-umode-t.m4 | 25 +++++++++++++++++++++++++
- config/kernel.m4 | 2 +-
- include/linux/vfs_compat.h | 2 +-
- 4 files changed, 27 insertions(+), 28 deletions(-)
- delete mode 100644 config/kernel-create-umode-t.m4
- create mode 100644 config/kernel-mkdir-umode-t.m4
-
-diff --git a/config/kernel-create-umode-t.m4 b/config/kernel-create-umode-t.m4
-deleted file mode 100644
-index f88113f..0000000
---- a/config/kernel-create-umode-t.m4
-+++ /dev/null
-@@ -1,26 +0,0 @@
--dnl #
--dnl # 3.3 API change
--dnl # The VFS .create, .mkdir and .mknod callbacks were updated to take a
--dnl # umode_t type rather than an int. The expectation is that any backport
--dnl # would also change all three prototypes. However, if it turns out that
--dnl # some distribution doesn't backport the whole thing this could be
--dnl # broken apart in to three seperate checks.
--dnl #
--AC_DEFUN([ZFS_AC_KERNEL_CREATE_UMODE_T], [
-- AC_MSG_CHECKING([whether iops->create()/mkdir()/mknod() take umode_t])
-- ZFS_LINUX_TRY_COMPILE([
-- #include <linux/fs.h>
-- ],[
-- int (*create) (struct inode *, struct dentry *, umode_t,
-- struct nameidata *) = NULL;
-- struct inode_operations iops __attribute__ ((unused)) = {
-- .create = create,
-- };
-- ],[
-- AC_MSG_RESULT(yes)
-- AC_DEFINE(HAVE_CREATE_UMODE_T, 1,
-- [iops->create()/mkdir()/mknod() take umode_t])
-- ],[
-- AC_MSG_RESULT(no)
-- ])
--])
-diff --git a/config/kernel-mkdir-umode-t.m4 b/config/kernel-mkdir-umode-t.m4
-new file mode 100644
-index 0000000..dd5d94b
---- /dev/null
-+++ b/config/kernel-mkdir-umode-t.m4
-@@ -0,0 +1,25 @@
-+dnl #
-+dnl # 3.3 API change
-+dnl # The VFS .create, .mkdir and .mknod callbacks were updated to take a
-+dnl # umode_t type rather than an int. The expectation is that any backport
-+dnl # would also change all three prototypes. However, if it turns out that
-+dnl # some distribution doesn't backport the whole thing this could be
-+dnl # broken apart in to three seperate checks.
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_MKDIR_UMODE_T], [
-+ AC_MSG_CHECKING([whether iops->create()/mkdir()/mknod() take umode_t])
-+ ZFS_LINUX_TRY_COMPILE([
-+ #include <linux/fs.h>
-+ ],[
-+ int (*mkdir) (struct inode *,struct dentry *,umode_t) = NULL;
-+ struct inode_operations iops __attribute__ ((unused)) = {
-+ .mkdir = mkdir,
-+ };
-+ ],[
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_MKDIR_UMODE_T, 1,
-+ [iops->create()/mkdir()/mknod() take umode_t])
-+ ],[
-+ AC_MSG_RESULT(no)
-+ ])
-+])
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index dd01fb2..13238d8 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -49,10 +49,10 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
- ZFS_AC_KERNEL_NR_CACHED_OBJECTS
- ZFS_AC_KERNEL_FREE_CACHED_OBJECTS
- ZFS_AC_KERNEL_FALLOCATE
-+ ZFS_AC_KERNEL_MKDIR_UMODE_T
- ZFS_AC_KERNEL_LOOKUP_NAMEIDATA
- ZFS_AC_KERNEL_CREATE_NAMEIDATA
- ZFS_AC_KERNEL_TRUNCATE_RANGE
-- ZFS_AC_KERNEL_CREATE_UMODE_T
- ZFS_AC_KERNEL_AUTOMOUNT
- ZFS_AC_KERNEL_ENCODE_FH_WITH_INODE
- ZFS_AC_KERNEL_COMMIT_METADATA
-diff --git a/include/linux/vfs_compat.h b/include/linux/vfs_compat.h
-index 7181625..c4e1771 100644
---- a/include/linux/vfs_compat.h
-+++ b/include/linux/vfs_compat.h
-@@ -115,7 +115,7 @@
- * umode_t type rather than an int. To cleanly handle both definitions
- * the zpl_umode_t type is introduced and set accordingly.
- */
--#ifdef HAVE_CREATE_UMODE_T
-+#ifdef HAVE_MKDIR_UMODE_T
- typedef umode_t zpl_umode_t;
- #else
- typedef int zpl_umode_t;
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-return-positive-error.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-return-positive-error.patch
deleted file mode 100644
index 68ed19e764ce..000000000000
--- a/sys-fs/zfs-kmod/files/zfs-kmod-0.6.0_rc11-return-positive-error.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 45ca2d91cb14bcbe7a06eea6e6d24ae71f1c54bf Mon Sep 17 00:00:00 2001
-From: Yuxuan Shui <yshuiv7@gmail.com>
-Date: Sun, 14 Oct 2012 17:01:26 +0800
-Subject: [PATCH] Return positive error number in zfsctl_shares_lookup.
-
-Otherwise it will cause zpl_shares_lookup() to return a invalid
-pointer when an error occurs.
-
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
-Closes #626 #885 #947 #977
----
- module/zfs/zfs_ctldir.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/module/zfs/zfs_ctldir.c b/module/zfs/zfs_ctldir.c
-index 55d1696..41d3365 100644
---- a/module/zfs/zfs_ctldir.c
-+++ b/module/zfs/zfs_ctldir.c
-@@ -952,7 +952,7 @@ struct inode *
-
- if (zsb->z_shares_dir == 0) {
- ZFS_EXIT(zsb);
-- return (-ENOTSUP);
-+ return (ENOTSUP);
- }
-
- error = zfs_zget(zsb, zsb->z_shares_dir, &dzp);
---
-1.7.10
-
diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc10-r2.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc10-r2.ebuild
deleted file mode 100644
index b14a159abb7e..000000000000
--- a/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc10-r2.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc10-r2.ebuild,v 1.4 2013/04/17 13:27:54 ryao Exp $
-
-EAPI="4"
-
-AT_M4DIR="config"
-AUTOTOOLS_AUTORECONF="1"
-AUTOTOOLS_IN_SOURCE_BUILD="1"
-
-inherit bash-completion-r1 flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils
-
-if [ ${PV} == "9999" ] ; then
- inherit git-2
- EGIT_REPO_URI="git://github.com/zfsonlinux/zfs.git"
-else
- inherit eutils versionator
- MY_PV=$(replace_version_separator 3 '-')
- SRC_URI="mirror://github/zfsonlinux/zfs/zfs-${MY_PV}.tar.gz"
- S="${WORKDIR}/zfs-${MY_PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
-HOMEPAGE="http://zfsonlinux.org/"
-
-LICENSE="CDDL debug? ( GPL-2+ )"
-SLOT="0"
-IUSE="custom-cflags debug +rootfs"
-RESTRICT="test"
-
-DEPEND="
- =sys-kernel/spl-${PV}*
- dev-lang/perl
- virtual/awk
-"
-
-RDEPEND="${DEPEND}
- !sys-fs/zfs-fuse
-"
-
-pkg_setup() {
- linux-info_pkg_setup
- CONFIG_CHECK="!DEBUG_LOCK_ALLOC
- !PREEMPT
- BLK_DEV_LOOP
- EFI_PARTITION
- IOSCHED_NOOP
- 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"
-
- [ ${PV} != "9999" ] && \
- { kernel_is le 3 6 || die "Linux 3.6 is the latest supported version."; }
-
- check_extra_config
-}
-
-src_prepare() {
- 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"
-
- # Handle missing name length check in Linux VFS
- epatch "${FILESDIR}/${PN}-0.6.0_rc14-vfs-name-length-compatibility.patch"
-
- # Linux 3.6 Support
- epatch "${FILESDIR}/${PN}-0.6.0_rc11-linux-3.6-compat-0-elevator-change.patch"
- epatch "${FILESDIR}/${PN}-0.6.0_rc11-linux-3.6-compat-1.patch"
- epatch "${FILESDIR}/${PN}-0.6.0_rc11-linux-3.6-compat-2.patch"
- epatch "${FILESDIR}/${PN}-0.6.0_rc11-linux-3.6-compat-3.patch"
- epatch "${FILESDIR}/${PN}-0.6.0_rc11-linux-3.6-compat-4.patch"
- epatch "${FILESDIR}/${PN}-0.6.0_rc11-linux-3.6-compat-5.patch"
-
- # Cast constant for 32-bit compatibility
- epatch "${FILESDIR}/${PN}-0.6.0_rc14-cast-const-for-32bit-compatibility.patch"
-
- # Fix barrier regression on Linux 2.6.37 and later
- epatch "${FILESDIR}/${PN}-0.6.0_rc14-flush-properly.patch"
- fi
-
- # Remove GPLv2-licensed ZPIOS unless we are debugging
- use debug || sed -e 's/^subdir-m += zpios$//' -i "${S}/module/Makefile.in"
-
- autotools-utils_src_prepare
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- set_arch_to_kernel
- local myeconfargs=(
- --bindir="${EPREFIX}/bin"
- --sbindir="${EPREFIX}/sbin"
- dodoc AUTHORS COPYRIGHT DISCLAIMER README.markdown
- --with-config=kernel
- --with-linux="${KV_DIR}"
- --with-linux-obj="${KV_OUT_DIR}"
- $(use_enable debug)
- )
- autotools-utils_src_configure
-}
-
-src_install() {
- autotools-utils_src_install
-}
-
-pkg_postinst() {
- linux-mod_pkg_postinst
-
- use x86 && ewarn "32-bit kernels are unsupported by ZFSOnLinux upstream. Do not file bug reports."
-
-}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc11-r3.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc11-r3.ebuild
deleted file mode 100644
index 01cb2d9e9c08..000000000000
--- a/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc11-r3.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc11-r3.ebuild,v 1.4 2013/04/17 13:27:54 ryao Exp $
-
-EAPI="4"
-
-AT_M4DIR="config"
-AUTOTOOLS_AUTORECONF="1"
-AUTOTOOLS_IN_SOURCE_BUILD="1"
-
-inherit bash-completion-r1 flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils
-
-if [ ${PV} == "9999" ] ; then
- inherit git-2
- EGIT_REPO_URI="git://github.com/zfsonlinux/zfs.git"
-else
- inherit eutils versionator
- MY_PV=$(replace_version_separator 3 '-')
- SRC_URI="mirror://github/zfsonlinux/zfs/zfs-${MY_PV}.tar.gz"
- S="${WORKDIR}/zfs-${MY_PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
-HOMEPAGE="http://zfsonlinux.org/"
-
-LICENSE="CDDL debug? ( GPL-2+ )"
-SLOT="0"
-IUSE="custom-cflags debug +rootfs"
-RESTRICT="test"
-
-DEPEND="
- =sys-kernel/spl-${PV}*
- dev-lang/perl
- virtual/awk
-"
-
-RDEPEND="${DEPEND}
- !sys-fs/zfs-fuse
-"
-
-pkg_setup() {
- linux-info_pkg_setup
- CONFIG_CHECK="!DEBUG_LOCK_ALLOC
- BLK_DEV_LOOP
- EFI_PARTITION
- IOSCHED_NOOP
- 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"
-
- [ ${PV} != "9999" ] && \
- { kernel_is le 3 6 || die "Linux 3.6 is the latest supported version."; }
-
- check_extra_config
-}
-
-src_prepare() {
- if [ ${PV} != "9999" ]
- then
- # Fix various deadlocks
- epatch "${FILESDIR}/${P}-fix-32-bit-integer-size-mismatch.patch"
- epatch "${FILESDIR}/${P}-fix-i386-infinite-loop.patch"
- epatch "${FILESDIR}/${P}-fix-rename-failure.patch"
- epatch "${FILESDIR}/${P}-fix-zvol_probe-null.patch"
- epatch "${FILESDIR}/${P}-return-positive-error.patch"
-
- # Linux 3.6 Support
- epatch "${FILESDIR}/${P}-linux-3.6-compat-0-elevator-change.patch"
-
- epatch "${FILESDIR}/${P}-linux-3.6-compat-1.patch"
- epatch "${FILESDIR}/${P}-linux-3.6-compat-2.patch"
- epatch "${FILESDIR}/${P}-linux-3.6-compat-3.patch"
- epatch "${FILESDIR}/${P}-linux-3.6-compat-4.patch"
- epatch "${FILESDIR}/${P}-linux-3.6-compat-5.patch"
-
- # Cast constant for 32-bit compatibility
- epatch "${FILESDIR}/${PN}-0.6.0_rc14-cast-const-for-32bit-compatibility.patch"
-
- # Handle missing name length check in Linux VFS
- epatch "${FILESDIR}/${PN}-0.6.0_rc14-vfs-name-length-compatibility.patch"
-
- # Fix barrier regression on Linux 2.6.37 and later
- epatch "${FILESDIR}/${PN}-0.6.0_rc14-flush-properly.patch"
- fi
-
- # Remove GPLv2-licensed ZPIOS unless we are debugging
- use debug || sed -e 's/^subdir-m += zpios$//' -i "${S}/module/Makefile.in"
-
- autotools-utils_src_prepare
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- set_arch_to_kernel
- local myeconfargs=(
- --bindir="${EPREFIX}/bin"
- dodoc AUTHORS COPYRIGHT DISCLAIMER README.markdown
- --sbindir="${EPREFIX}/sbin"
- --with-config=kernel
- --with-linux="${KV_DIR}"
- --with-linux-obj="${KV_OUT_DIR}"
- $(use_enable debug)
- )
- autotools-utils_src_configure
-}
-
-src_install() {
- autotools-utils_src_install
-}
-
-pkg_postinst() {
- linux-mod_pkg_postinst
-
- if use x86 || use arm
- then
- ewarn "32-bit kernels will likely require increasing vmalloc to"
- ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
- fi
-
-}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc12-r3.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc12-r3.ebuild
deleted file mode 100644
index e97bc13c1dc5..000000000000
--- a/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc12-r3.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc12-r3.ebuild,v 1.4 2013/04/17 13:27:54 ryao Exp $
-
-EAPI="4"
-
-AT_M4DIR="config"
-AUTOTOOLS_AUTORECONF="1"
-AUTOTOOLS_IN_SOURCE_BUILD="1"
-
-inherit bash-completion-r1 flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils
-
-if [ ${PV} == "9999" ] ; then
- inherit git-2
- EGIT_REPO_URI="git://github.com/zfsonlinux/zfs.git"
-else
- inherit eutils versionator
- MY_PV=$(replace_version_separator 3 '-')
- S="${WORKDIR}/zfs-${MY_PV}"
- SRC_URI="mirror://github/zfsonlinux/zfs/zfs-${MY_PV}.tar.gz
- http://dev.gentoo.org/~ryao/dist/${PN}-${MY_PV}-p0.tar.xz"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
-HOMEPAGE="http://zfsonlinux.org/"
-
-LICENSE="CDDL debug? ( GPL-2+ )"
-SLOT="0"
-IUSE="custom-cflags debug +rootfs"
-RESTRICT="test"
-
-DEPEND="
- =sys-kernel/spl-${PV}*
- dev-lang/perl
- virtual/awk
-"
-
-RDEPEND="${DEPEND}
- !sys-fs/zfs-fuse
-"
-
-pkg_setup() {
- linux-info_pkg_setup
- CONFIG_CHECK="!DEBUG_LOCK_ALLOC
- BLK_DEV_LOOP
- EFI_PARTITION
- IOSCHED_NOOP
- 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"
-
- [ ${PV} != "9999" ] && \
- { kernel_is le 3 8 || die "Linux 3.8 is the latest supported version."; }
-
- check_extra_config
-}
-
-src_prepare() {
- if [ ${PV} != "9999" ]
- then
- # Apply patch set
- EPATCH_SUFFIX="patch" \
- EPATCH_FORCE="yes" \
- epatch "${WORKDIR}/${PN}-${MY_PV}-patches"
-
- # Cast constant for 32-bit compatibility
- epatch "${FILESDIR}/${PN}-0.6.0_rc14-cast-const-for-32bit-compatibility.patch"
-
- # Handle missing name length check in Linux VFS
- epatch "${FILESDIR}/${PN}-0.6.0_rc14-vfs-name-length-compatibility.patch"
-
- # Fix barrier regression on Linux 2.6.37 and later
- epatch "${FILESDIR}/${PN}-0.6.0_rc14-flush-properly.patch"
- fi
-
- # Remove GPLv2-licensed ZPIOS unless we are debugging
- use debug || sed -e 's/^subdir-m += zpios$//' -i "${S}/module/Makefile.in"
-
- 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=kernel
- --with-linux="${KV_DIR}"
- --with-linux-obj="${KV_OUT_DIR}"
- $(use_enable debug)
- )
- autotools-utils_src_configure
-}
-
-src_install() {
- dodoc AUTHORS COPYRIGHT DISCLAIMER README.markdown
- autotools-utils_src_install
-}
-
-pkg_postinst() {
- linux-mod_pkg_postinst
-
- if use x86 || use arm
- then
- ewarn "32-bit kernels will likely require increasing vmalloc to"
- ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
- fi
-
-}