Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=kernelbump.git;a=commitdiff;h=9484dda6992ee6c82911d4b5a20e918bb7e63e1e

commit 9484dda6992ee6c82911d4b5a20e918bb7e63e1e
Author: DeX77 <[email protected]>
Date:   Tue Nov 3 10:38:41 2015 +0100

zfs-0.6.5.3-1-x86_64

version bump / rebuild with kernel 4.3

diff --git 
a/source/base-extra/zfs/0005-Linux-4.2-compat-bdi_setup_and_register.patch 
b/source/base-extra/zfs/0005-Linux-4.2-compat-bdi_setup_and_register.patch
deleted file mode 100644
index ef228bf..0000000
--- a/source/base-extra/zfs/0005-Linux-4.2-compat-bdi_setup_and_register.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e80da86447174b583e4b6cebedae2956fac926ee Mon Sep 17 00:00:00 2001
-From: Brian Behlendorf <[email protected]>
-Date: Tue, 14 Jul 2015 14:15:13 -0700
-Subject: [PATCH] Linux 4.2 compat: bdi_setup_and_register()
-
-The vfs_compat.h header should include the linux/backing-dev.h header
-because it depends on the bdi_* functions defined there.  In previous
-kernels this header was being indirectly included which prevented a
-build failure.
-
-Signed-off-by: Brian Behlendorf <[email protected]>
-Signed-off-by: Richard Yao <[email protected]>
-Closes #3596
----
- include/linux/vfs_compat.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/linux/vfs_compat.h b/include/linux/vfs_compat.h
-index e8f8448..40832d9 100644
---- a/include/linux/vfs_compat.h
-+++ b/include/linux/vfs_compat.h
-@@ -28,6 +28,7 @@
- #define       _ZFS_VFS_H
-
- #include <sys/taskq.h>
-+#include <linux/backing-dev.h>
-
- /*
-  * 2.6.28 API change,
---
-2.5.0
-
diff --git 
a/source/base-extra/zfs/0006-Linux-4.2-compat-remove-bio-bi_cnt-access.patch 
b/source/base-extra/zfs/0006-Linux-4.2-compat-remove-bio-bi_cnt-access.patch
deleted file mode 100644
index d5b5f18..0000000
--- a/source/base-extra/zfs/0006-Linux-4.2-compat-remove-bio-bi_cnt-access.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 7eb333fbdde32dbebdcc88c35610159e207237c9 Mon Sep 17 00:00:00 2001
-From: Brian Behlendorf <[email protected]>
-Date: Tue, 14 Jul 2015 14:57:55 -0700
-Subject: [PATCH] Linux 4.2 compat: remove bio->bi_cnt access
-
-Linux 4.2 commit torvalds/linux@dac5621 renamed bio->bi_cnt to
-bio->__bi_cnt.  Because this value is only used once in a block of
-debug code it simplest just to remove the PANIC.  To my knowledge
-this debugging has never been hit or proved useful so this is no
-great loss.
-
-Signed-off-by: Brian Behlendorf <[email protected]>
-Signed-off-by: Richard Yao <[email protected]>
-Closes #3596
----
- module/zfs/vdev_disk.c | 9 ---------
- 1 file changed, 9 deletions(-)
-
-diff --git a/module/zfs/vdev_disk.c b/module/zfs/vdev_disk.c
-index 9cfc080..eb77c26 100644
---- a/module/zfs/vdev_disk.c
-+++ b/module/zfs/vdev_disk.c
-@@ -426,15 +426,6 @@ BIO_END_IO_PROTO(vdev_disk_physio_completion, bio, size, 
error)
-       dio_request_t *dr = bio->bi_private;
-       int rc;
-
--      /* Fatal error but print some useful debugging before asserting */
--      if (dr == NULL)
--              PANIC("dr == NULL, bio->bi_private == NULL\n"
--                  "bi_next: %p, bi_flags: %lx, bi_rw: %lu, bi_vcnt: %d\n"
--                  "bi_idx: %d, bi_size: %d, bi_end_io: %p, bi_cnt: %d\n",
--                  bio->bi_next, bio->bi_flags, bio->bi_rw, bio->bi_vcnt,
--                  BIO_BI_IDX(bio), BIO_BI_SIZE(bio), bio->bi_end_io,
--                  atomic_read(&bio->bi_cnt));
--
- #ifndef HAVE_2ARGS_BIO_END_IO_T
-       if (BIO_BI_SIZE(bio))
-               return (1);
---
-2.5.0
-
diff --git 
a/source/base-extra/zfs/0007-Linux-4.2-compat-follow_link-put_link.patch 
b/source/base-extra/zfs/0007-Linux-4.2-compat-follow_link-put_link.patch
deleted file mode 100644
index e48b190..0000000
--- a/source/base-extra/zfs/0007-Linux-4.2-compat-follow_link-put_link.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-From bd29109f1ac5be68f7f7c8bcb49e1b706fe899f0 Mon Sep 17 00:00:00 2001
-From: Brian Behlendorf <[email protected]>
-Date: Wed, 15 Jul 2015 10:54:26 -0700
-Subject: [PATCH] Linux 4.2 compat: follow_link() / put_link()
-
-As of Linux 4.2 the kernel has completely retired the nameidata
-structure.  One of the few remaining consumers of this interface
-were the follow_link() and put_link() callbacks.
-
-This patch adds the required checks to configure to detect the
-interface change and updates the functions accordingly.  Migrating
-to the simple_follow_link() interface was considered but was decided
-against ironically due to the increased complexity.
-
-It also should be noted that the kernel follow_link() and put_link()
-interfaces changes several times after 4.1 and but before 4.2.  This
-means there is a narrow range of kernel commits which never appear
-in an official tag of the Linux kernel which ZoL will not build.
-
-Signed-off-by: Brian Behlendorf <[email protected]>
-Signed-off-by: Richard Yao <[email protected]>
-Issue #3596
----
- config/kernel-create-nameidata.m4      |  4 ++--
- config/kernel-follow-link-nameidata.m4 | 24 ++++++++++++++++++++++++
- config/kernel-lookup-nameidata.m4      |  4 ++--
- config/kernel-put-link-nameidata.m4    | 23 +++++++++++++++++++++++
- config/kernel.m4                       |  2 ++
- module/zfs/zpl_inode.c                 | 31 +++++++++++++++++++++++++++----
- 6 files changed, 80 insertions(+), 8 deletions(-)
- create mode 100644 config/kernel-follow-link-nameidata.m4
- create mode 100644 config/kernel-put-link-nameidata.m4
-
-diff --git a/config/kernel-create-nameidata.m4 
b/config/kernel-create-nameidata.m4
-index 9aad46f..a71490a 100644
---- a/config/kernel-create-nameidata.m4
-+++ b/config/kernel-create-nameidata.m4
-@@ -2,7 +2,7 @@ dnl #
- dnl # 3.6 API change
- dnl #
- AC_DEFUN([ZFS_AC_KERNEL_CREATE_NAMEIDATA], [
--      AC_MSG_CHECKING([whether iops->create() takes struct nameidata])
-+      AC_MSG_CHECKING([whether iops->create() passes nameidata])
-       ZFS_LINUX_TRY_COMPILE([
-               #include <linux/fs.h>
-
-@@ -22,7 +22,7 @@ AC_DEFUN([ZFS_AC_KERNEL_CREATE_NAMEIDATA], [
-       ],[
-               AC_MSG_RESULT(yes)
-               AC_DEFINE(HAVE_CREATE_NAMEIDATA, 1,
--                        [iops->create() operation takes nameidata])
-+                        [iops->create() passes nameidata])
-       ],[
-               AC_MSG_RESULT(no)
-       ])
-diff --git a/config/kernel-follow-link-nameidata.m4 
b/config/kernel-follow-link-nameidata.m4
-new file mode 100644
-index 0000000..88c85ac
---- /dev/null
-+++ b/config/kernel-follow-link-nameidata.m4
-@@ -0,0 +1,24 @@
-+dnl #
-+dnl # 4.2 API change
-+dnl # This kernel retired the nameidata structure which forced the
-+dnl # restructuring of the follow_link() prototype and how it is called.
-+dnl # We check for the new interface rather than detecting the old one.
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_FOLLOW_LINK], [
-+      AC_MSG_CHECKING([whether iops->follow_link() passes nameidata])
-+      ZFS_LINUX_TRY_COMPILE([
-+              #include <linux/fs.h>
-+              const char *follow_link(struct dentry *de, void **cookie)
-+                  { return "symlink"; }
-+              static struct inode_operations iops __attribute__ ((unused)) = {
-+                      .follow_link = follow_link,
-+              };
-+      ],[
-+      ],[
-+              AC_MSG_RESULT(no)
-+      ],[
-+              AC_MSG_RESULT(yes)
-+              AC_DEFINE(HAVE_FOLLOW_LINK_NAMEIDATA, 1,
-+                        [iops->follow_link() nameidata])
-+      ])
-+])
-diff --git a/config/kernel-lookup-nameidata.m4 
b/config/kernel-lookup-nameidata.m4
-index 6455603..43f5fb4 100644
---- a/config/kernel-lookup-nameidata.m4
-+++ b/config/kernel-lookup-nameidata.m4
-@@ -2,7 +2,7 @@ dnl #
- dnl # 3.6 API change
- dnl #
- AC_DEFUN([ZFS_AC_KERNEL_LOOKUP_NAMEIDATA], [
--      AC_MSG_CHECKING([whether iops->lookup() takes struct nameidata])
-+      AC_MSG_CHECKING([whether iops->lookup() passes nameidata])
-       ZFS_LINUX_TRY_COMPILE([
-               #include <linux/fs.h>
-
-@@ -18,7 +18,7 @@ AC_DEFUN([ZFS_AC_KERNEL_LOOKUP_NAMEIDATA], [
-       ],[
-               AC_MSG_RESULT(yes)
-               AC_DEFINE(HAVE_LOOKUP_NAMEIDATA, 1,
--                        [iops->lookup() operation takes nameidata])
-+                        [iops->lookup() passes nameidata])
-       ],[
-               AC_MSG_RESULT(no)
-       ])
-diff --git a/config/kernel-put-link-nameidata.m4 
b/config/kernel-put-link-nameidata.m4
-new file mode 100644
-index 0000000..0181ae5
---- /dev/null
-+++ b/config/kernel-put-link-nameidata.m4
-@@ -0,0 +1,23 @@
-+dnl #
-+dnl # 4.2 API change
-+dnl # This kernel retired the nameidata structure which forced the
-+dnl # restructuring of the put_link() prototype and how it is called.
-+dnl # We check for the new interface rather than detecting the old one.
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_PUT_LINK], [
-+      AC_MSG_CHECKING([whether iops->put_link() passes nameidata])
-+      ZFS_LINUX_TRY_COMPILE([
-+              #include <linux/fs.h>
-+              void put_link(struct inode *ip, void *cookie) { return; }
-+              static struct inode_operations iops __attribute__ ((unused)) = {
-+                      .put_link = put_link,
-+              };
-+      ],[
-+      ],[
-+              AC_MSG_RESULT(no)
-+      ],[
-+              AC_MSG_RESULT(yes)
-+              AC_DEFINE(HAVE_PUT_LINK_NAMEIDATA, 1,
-+                        [iops->put_link() nameidata])
-+      ])
-+])
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index 806c574..5c97659 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -70,6 +70,8 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
-       ZFS_AC_KERNEL_MKDIR_UMODE_T
-       ZFS_AC_KERNEL_LOOKUP_NAMEIDATA
-       ZFS_AC_KERNEL_CREATE_NAMEIDATA
-+      ZFS_AC_KERNEL_FOLLOW_LINK
-+      ZFS_AC_KERNEL_PUT_LINK
-       ZFS_AC_KERNEL_TRUNCATE_RANGE
-       ZFS_AC_KERNEL_AUTOMOUNT
-       ZFS_AC_KERNEL_ENCODE_FH_WITH_INODE
-diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c
-index 31251e7..70b5e12 100644
---- a/module/zfs/zpl_inode.c
-+++ b/module/zfs/zpl_inode.c
-@@ -348,8 +348,13 @@ zpl_symlink(struct inode *dir, struct dentry *dentry, 
const char *name)
-       return (error);
- }
-
-+#ifdef HAVE_FOLLOW_LINK_NAMEIDATA
- static void *
- zpl_follow_link(struct dentry *dentry, struct nameidata *nd)
-+#else
-+const char *
-+zpl_follow_link(struct dentry *dentry, void **symlink_cookie)
-+#endif
- {
-       cred_t *cr = CRED();
-       struct inode *ip = dentry->d_inode;
-@@ -372,17 +377,28 @@ zpl_follow_link(struct dentry *dentry, struct nameidata 
*nd)
-       cookie = spl_fstrans_mark();
-       error = -zfs_readlink(ip, &uio, cr);
-       spl_fstrans_unmark(cookie);
--      if (error) {
-+
-+      if (error)
-               kmem_free(link, MAXPATHLEN);
-+
-+      crfree(cr);
-+
-+#ifdef HAVE_FOLLOW_LINK_NAMEIDATA
-+      if (error)
-               nd_set_link(nd, ERR_PTR(error));
--      } else {
-+      else
-               nd_set_link(nd, link);
--      }
-
--      crfree(cr);
-       return (NULL);
-+#else
-+      if (error)
-+              return (ERR_PTR(error));
-+      else
-+              return (*symlink_cookie = link);
-+#endif
- }
-
-+#ifdef HAVE_PUT_LINK_NAMEIDATA
- static void
- zpl_put_link(struct dentry *dentry, struct nameidata *nd, void *ptr)
- {
-@@ -391,6 +407,13 @@ zpl_put_link(struct dentry *dentry, struct nameidata *nd, 
void *ptr)
-       if (!IS_ERR(link))
-               kmem_free(link, MAXPATHLEN);
- }
-+#else
-+static void
-+zpl_put_link(struct inode *unused, void *symlink_cookie)
-+{
-+      kmem_free(symlink_cookie, MAXPATHLEN);
-+}
-+#endif
-
- static int
- zpl_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry)
---
-2.5.0
-
diff --git a/source/base-extra/zfs/0008-Linux-4.2-compat-vfs_rename.patch 
b/source/base-extra/zfs/0008-Linux-4.2-compat-vfs_rename.patch
deleted file mode 100644
index 2f8f1f3..0000000
--- a/source/base-extra/zfs/0008-Linux-4.2-compat-vfs_rename.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From efc412b645cbb209e42983a9dcb9d3c9427c5495 Mon Sep 17 00:00:00 2001
-From: Brian Behlendorf <[email protected]>
-Date: Tue, 28 Jul 2015 16:45:17 -0700
-Subject: [PATCH] Linux 4.2 compat: vfs_rename()
-
-The spa_config_write() function relies on the classic method of
-making sure updates to the /etc/zfs/zpool.cache file are atomic.
-It writes out a temporary version of the file and then uses
-vn_rename() to switch it in to place.  This way there can never
-exist a partial version of the file, it's all or nothing.
-
-Conceptually this is a good strategy and it makes good sense
-for platforms where it's easy to do a rename within the kernel.
-Unfortunately, Linux is not one of those platforms.  Even doing
-basic I/O to a file system from within the kernel is strongly
-discouraged.  In order to support this at all the vn_rename()
-implementation ends up being complex and fragile.  So fragile
-that recent Linux 4.2 changes have broken it.
-
-While it is possible to update vn_rename() to work with the
-latest kernels a better long term strategy is to stop using
-vn_rename() entirely.  Then all this complex, fragile code can
-be removed.  Achieving this is straight forward because
-config_write() is the only consumer of vn_rename().
-
-This patch reworks spa_config_write() to update the cache file
-in place.  The file will be truncated, written out, and then
-synced to disk.  If an error is encountered the file will be
-unlinked leaving the system in a consistent state.
-
-This does expose a tiny tiny tiny window where a system could
-crash at exactly the wrong moment could leave a partially written
-cache file.  However, this is highly unlikely because the cache
-file is 1) infrequently updated, 2) only a few kilobytes in size,
-and 3) written with a single vn_rdwr() call.
-
-If this were to somehow happen it poses no risk to pool.  Simply
-removing the cache file will allow the pool to be imported cleanly.
-Going forward this will be even less of an issue as we intend to
-disable the use of a cache file by default.
-
-Bottom line not using vn_rename() allows us to make ZoL more
-robust against upstream kernel changes.
-
-Signed-off-by: Brian Behlendorf <[email protected]>
-Closes #3653
----
- module/zfs/spa_config.c | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/module/zfs/spa_config.c b/module/zfs/spa_config.c
-index e846ec9..929f181 100644
---- a/module/zfs/spa_config.c
-+++ b/module/zfs/spa_config.c
-@@ -152,6 +152,7 @@ spa_config_write(spa_config_dirent_t *dp, nvlist_t *nvl)
-       char *buf;
-       vnode_t *vp;
-       int oflags = FWRITE | FTRUNC | FCREAT | FOFFMAX;
-+      int error;
-       char *temp;
-
-       /*
-@@ -173,6 +174,26 @@ spa_config_write(spa_config_dirent_t *dp, nvlist_t *nvl)
-       VERIFY(nvlist_pack(nvl, &buf, &buflen, NV_ENCODE_XDR,
-           KM_SLEEP) == 0);
-
-+#ifdef __linux__
-+      /*
-+       * Write the configuration to disk.  Due to the complexity involved
-+       * in performing a rename from within the kernel the file is truncated
-+       * and overwritten in place.  In the event of an error the file is
-+       * unlinked to make sure we always have a consistent view of the data.
-+       */
-+      error = vn_open(dp->scd_path, UIO_SYSSPACE, oflags, 0644, &vp, 0, 0);
-+      if (error == 0) {
-+              error = vn_rdwr(UIO_WRITE, vp, buf, buflen, 0,
-+                  UIO_SYSSPACE, 0, RLIM64_INFINITY, kcred, NULL);
-+              if (error == 0)
-+                      error = VOP_FSYNC(vp, FSYNC, kcred, NULL);
-+
-+              (void) VOP_CLOSE(vp, oflags, 1, 0, kcred, NULL);
-+
-+              if (error)
-+                      (void) vn_remove(dp->scd_path, UIO_SYSSPACE, RMFILE);
-+      }
-+#else
-       /*
-        * Write the configuration to disk.  We need to do the traditional
-        * 'write to temporary file, sync, move over original' to make sure we
-@@ -190,6 +211,7 @@ spa_config_write(spa_config_dirent_t *dp, nvlist_t *nvl)
-       }
-
-       (void) vn_remove(temp, UIO_SYSSPACE, RMFILE);
-+#endif
-
-       vmem_free(buf, buflen);
-       kmem_free(temp, MAXPATHLEN);
---
-2.5.0
-
diff --git a/source/base-extra/zfs/0009-Linux-4.2-compat-misc_deregister.patch 
b/source/base-extra/zfs/0009-Linux-4.2-compat-misc_deregister.patch
deleted file mode 100644
index 53f8640..0000000
--- a/source/base-extra/zfs/0009-Linux-4.2-compat-misc_deregister.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 324dcd373371fbc2855406444c1c106722970c18 Mon Sep 17 00:00:00 2001
-From: Brian Behlendorf <[email protected]>
-Date: Tue, 1 Sep 2015 09:23:02 -0700
-Subject: [PATCH] Linux 4.2 compat: misc_deregister()
-
-The misc_deregister() function was changed to a void return type.
-Rather than add compatibility code to detect this change simply
-ignore the return code on all kernels.  It was only used to log
-an informational error message of no real value.
-
-Signed-off-by: Brian Behlendorf <[email protected]>
----
- module/zfs/zfs_ioctl.c | 6 +-----
- module/zpios/pios.c    | 6 +-----
- 2 files changed, 2 insertions(+), 10 deletions(-)
-
-diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c
-index ba695dd..61bc4b8 100644
---- a/module/zfs/zfs_ioctl.c
-+++ b/module/zfs/zfs_ioctl.c
-@@ -6028,13 +6028,9 @@ zfs_attach(void)
- static void
- zfs_detach(void)
- {
--      int error;
-       zfsdev_state_t *zs, *zsprev = NULL;
-
--      error = misc_deregister(&zfs_misc);
--      if (error != 0)
--              printk(KERN_INFO "ZFS: misc_deregister() failed %d\n", error);
--
-+      misc_deregister(&zfs_misc);
-       mutex_destroy(&zfsdev_state_lock);
-
-       for (zs = zfsdev_state_list; zs != NULL; zs = zs->zs_next) {
-diff --git a/module/zpios/pios.c b/module/zpios/pios.c
-index 8e5077d..e3a85c1 100644
---- a/module/zpios/pios.c
-+++ b/module/zpios/pios.c
-@@ -1310,11 +1310,7 @@ zpios_init(void)
- static void __exit
- zpios_fini(void)
- {
--      int error;
--
--      error = misc_deregister(&zpios_misc);
--      if (error)
--              printk(KERN_INFO "ZPIOS: misc_deregister() failed %d\n", error);
-+      misc_deregister(&zpios_misc);
-
-       printk(KERN_INFO "ZPIOS: Unloaded module v%s-%s%s\n",
-           ZFS_META_VERSION, ZFS_META_RELEASE, ZFS_DEBUG_STR);
---
-2.5.0
-
diff --git a/source/base-extra/zfs/FrugalBuild 
b/source/base-extra/zfs/FrugalBuild
index 600bf5e..a69870b 100644
--- a/source/base-extra/zfs/FrugalBuild
+++ b/source/base-extra/zfs/FrugalBuild
@@ -2,31 +2,21 @@
# Maintainer: James Buren <[email protected]>

pkgname=zfs
-pkgver=0.6.4.2
-pkgrel=5
+pkgver=0.6.5.3
+pkgrel=1
pkgdesc="ZFS"
url="http://zfsonlinux.org";
-rodepends=('spl')
-makedepends=('spl-source')
+rodepends=("spl>=$pkgver")
+makedepends=("spl-source>=$pkgver")
groups=('base-extra')
archs=('!i686' 'x86_64')
up2date="Flasttar $url"
backup=(etc/zfs/vdev_id.conf etc/zfs/zed.d/zed.rc)
source=(http://archive.zfsonlinux.org/downloads/zfsonlinux/$pkgname/$pkgname-$pkgver.tar.gz
 \
-       fixes.patch \
-       0005-Linux-4.2-compat-bdi_setup_and_register.patch \
-       0006-Linux-4.2-compat-remove-bio-bi_cnt-access.patch \
-       0007-Linux-4.2-compat-follow_link-put_link.patch \
-       0008-Linux-4.2-compat-vfs_rename.patch \
-       0009-Linux-4.2-compat-misc_deregister.patch )
+       fixes.patch)

-sha1sums=('e4e25a594db919ff1c6a332fa89a9ea7657dccf8' \
-          '3bfa05d3bf2e72de3ee1da65a68b5634caa3f562' \
-          '96e2f0e373c40f381f0e83824f2959b8204f6061' \
-          'c0d5547402eb5af53d6dfcc5fd1d536b55338850' \
-          '72fb37db4c546fbe093f5867f2b8ee28e34d1502' \
-          '5ce21bfce8b6bfc765a6f12b74244dbad38bc586' \
-          '7d909dff13b059d617157eca92cdaa77b0217460')
+sha1sums=('736177ce61e3749208549c0c1ecca8a7f12f9e3d' \
+          '3bfa05d3bf2e72de3ee1da65a68b5634caa3f562')
options=('nobuild')
Finclude kernel-module
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to