summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesus Alvarez2017-12-13 14:15:06 -0800
committerJesus Alvarez2017-12-13 14:15:06 -0800
commitb80858e1c58bc28ae95edc181d56bd7557a252be (patch)
treeb21e8ffe0e61dcbe7c66f74531f06a3e814e3c5c
parent14f2a5e097608cdc40d8d84638c8b6a5af2f7194 (diff)
downloadaur-b80858e1c58bc28ae95edc181d56bd7557a252be.tar.gz
Semi-automated update for 4.9.68.1-1
-rw-r--r--.SRCINFO18
-rw-r--r--0001-Linux-4.14-compat-vfs_read-vfs_write.patch206
-rw-r--r--PKGBUILD25
-rw-r--r--spl.install2
4 files changed, 20 insertions, 231 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e4b657cba283..46dab555d95e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,21 +1,19 @@
# Generated by mksrcinfo v8
-# Sun Dec 3 23:28:25 UTC 2017
+# Wed Dec 13 20:12:20 UTC 2017
pkgbase = spl-linux-lts-git
- pkgver = 0.7.0.r21.ged19bcc.4.9.66.1
- pkgrel = 2
+ pkgver = 2017.11.15.r1059.ed19bcc.4.9.68.1
+ pkgrel = 1
url = http://zfsonlinux.org/
arch = x86_64
license = GPL
- makedepends = linux-lts-headers=4.9.66-1
+ makedepends = linux-lts-headers=4.9.68-1
makedepends = libelf
makedepends = git
- depends = spl-utils-common-git>=0.7.0.r21.ged19bcc
+ depends = spl-utils-common-git=2017.11.15.r1059.ed19bcc
depends = kmod
- depends = linux-lts=4.9.66-1
- source = git+https://github.com/zfsonlinux/spl.git
- source = 0001-Linux-4.14-compat-vfs_read-vfs_write.patch
+ depends = linux-lts=4.9.68-1
+ source = git+https://github.com/zfsonlinux/spl.git#commit=ed19bccfb651843fa208232b3a2d3d22a4152bc8
sha256sums = SKIP
- sha256sums = d20506fbe6e9ee928005e8a73c03e4b4d207268348f684b9c7a33301067793b8
pkgname = spl-linux-lts-git
pkgdesc = Solaris Porting Layer kernel modules.
@@ -32,6 +30,8 @@ pkgname = spl-linux-lts-git-headers
conflicts = spl-linux-lts-headers
conflicts = spl-linux-headers
conflicts = spl-linux-git-headers
+ conflicts = spl-linux-vfio-headers
+ conflicts = spl-linux-vfio-git-headers
conflicts = spl-linux-zen-headers
conflicts = spl-linux-zen-git-headers
diff --git a/0001-Linux-4.14-compat-vfs_read-vfs_write.patch b/0001-Linux-4.14-compat-vfs_read-vfs_write.patch
deleted file mode 100644
index bf04af065d70..000000000000
--- a/0001-Linux-4.14-compat-vfs_read-vfs_write.patch
+++ /dev/null
@@ -1,206 +0,0 @@
-From ed19bccfb651843fa208232b3a2d3d22a4152bc8 Mon Sep 17 00:00:00 2001
-From: Brian Behlendorf <behlendorf1@llnl.gov>
-Date: Wed, 15 Nov 2017 17:19:23 -0800
-Subject: [PATCH] Linux 4.14 compat: vfs_read & vfs_write
-
-The kernel_read & kernel_write functions have always wrapped the
-vfs_read & vfs_write functions respectively. However, they could
-not be used by vn_rdwr() since the offset wasn't passed as a
-pointer. This prevented us from being able to properly update
-the file offset.
-
-Linux 4.14 unexported vfs_read & vfs_write but also changed the
-signature of kernel_read & kernel_write to provide the needed
-functionality. Use these updated functions when available.
-
-Reviewed-by: Pritam Baral <pritam@pritambaral.com>
-Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Closes #656
-Closes #667
----
- config/spl-build.m4 | 60 +++++++++++++++++++++++++++++++++++++++++++++
- include/linux/file_compat.h | 41 +++++++++++++++++++++++++++++++
- module/spl/spl-vnode.c | 21 +++-------------
- 3 files changed, 105 insertions(+), 17 deletions(-)
-
-diff --git a/config/spl-build.m4 b/config/spl-build.m4
-index 8e9dc99..7b66f2c 100644
---- a/config/spl-build.m4
-+++ b/config/spl-build.m4
-@@ -52,6 +52,8 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
- SPL_AC_KMEM_CACHE_CREATE_USERCOPY
- SPL_AC_WAIT_QUEUE_ENTRY_T
- SPL_AC_WAIT_QUEUE_HEAD_ENTRY
-+ SPL_AC_KERNEL_WRITE
-+ SPL_AC_KERNEL_READ
- ])
-
- AC_DEFUN([SPL_AC_MODULE_SYMVERS], [
-@@ -1594,3 +1596,61 @@ AC_DEFUN([SPL_AC_WAIT_QUEUE_HEAD_ENTRY], [
- AC_MSG_RESULT(no)
- ])
- ])
-+
-+dnl #
-+dnl # 4.14 API change
-+dnl # kernel_write() which was introduced in 3.9 was updated to take
-+dnl # the offset as a pointer which is needed by vn_rdwr().
-+dnl #
-+AC_DEFUN([SPL_AC_KERNEL_WRITE], [
-+ AC_MSG_CHECKING([whether kernel_write() takes loff_t pointer])
-+ tmp_flags="$EXTRA_KCFLAGS"
-+ EXTRA_KCFLAGS="-Werror"
-+ SPL_LINUX_TRY_COMPILE([
-+ #include <linux/fs.h>
-+ ],[
-+ struct file *file = NULL;
-+ const void *buf = NULL;
-+ size_t count = 0;
-+ loff_t *pos = NULL;
-+ ssize_t ret;
-+
-+ ret = kernel_write(file, buf, count, pos);
-+ ],[
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_KERNEL_WRITE_PPOS, 1,
-+ [kernel_write() take loff_t pointer])
-+ ],[
-+ AC_MSG_RESULT(no)
-+ ])
-+ EXTRA_KCFLAGS="$tmp_flags"
-+])
-+
-+dnl #
-+dnl # 4.14 API change
-+dnl # kernel_read() which has existed for forever was updated to take
-+dnl # the offset as a pointer which is needed by vn_rdwr().
-+dnl #
-+AC_DEFUN([SPL_AC_KERNEL_READ], [
-+ AC_MSG_CHECKING([whether kernel_read() takes loff_t pointer])
-+ tmp_flags="$EXTRA_KCFLAGS"
-+ EXTRA_KCFLAGS="-Werror"
-+ SPL_LINUX_TRY_COMPILE([
-+ #include <linux/fs.h>
-+ ],[
-+ struct file *file = NULL;
-+ void *buf = NULL;
-+ size_t count = 0;
-+ loff_t *pos = NULL;
-+ ssize_t ret;
-+
-+ ret = kernel_read(file, buf, count, pos);
-+ ],[
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_KERNEL_READ_PPOS, 1,
-+ [kernel_read() take loff_t pointer])
-+ ],[
-+ AC_MSG_RESULT(no)
-+ ])
-+ EXTRA_KCFLAGS="$tmp_flags"
-+])
-diff --git a/include/linux/file_compat.h b/include/linux/file_compat.h
-index 7d61ba5..55ba2cc 100644
---- a/include/linux/file_compat.h
-+++ b/include/linux/file_compat.h
-@@ -26,6 +26,7 @@
- #define _SPL_FILE_COMPAT_H
-
- #include <linux/fs.h>
-+#include <linux/uaccess.h>
- #ifdef HAVE_FDTABLE_HEADER
- #include <linux/fdtable.h>
- #endif
-@@ -70,6 +71,46 @@ spl_filp_fallocate(struct file *fp, int mode, loff_t offset, loff_t len)
- return (error);
- }
-
-+static inline ssize_t
-+spl_kernel_write(struct file *file, const void *buf, size_t count, loff_t *pos)
-+{
-+#if defined(HAVE_KERNEL_WRITE_PPOS)
-+ return (kernel_write(file, buf, count, pos));
-+#else
-+ mm_segment_t saved_fs;
-+ ssize_t ret;
-+
-+ saved_fs = get_fs();
-+ set_fs(get_ds());
-+
-+ ret = vfs_write(file, (__force const char __user *)buf, count, pos);
-+
-+ set_fs(saved_fs);
-+
-+ return (ret);
-+#endif
-+}
-+
-+static inline ssize_t
-+spl_kernel_read(struct file *file, void *buf, size_t count, loff_t *pos)
-+{
-+#if defined(HAVE_KERNEL_READ_PPOS)
-+ return (kernel_read(file, buf, count, pos));
-+#else
-+ mm_segment_t saved_fs;
-+ ssize_t ret;
-+
-+ saved_fs = get_fs();
-+ set_fs(get_ds());
-+
-+ ret = vfs_read(file, (void __user *)buf, count, pos);
-+
-+ set_fs(saved_fs);
-+
-+ return (ret);
-+#endif
-+}
-+
- #ifdef HAVE_2ARGS_VFS_FSYNC
- #define spl_filp_fsync(fp, sync) vfs_fsync(fp, sync)
- #else
-diff --git a/module/spl/spl-vnode.c b/module/spl/spl-vnode.c
-index 0e4c386..19b3b76 100644
---- a/module/spl/spl-vnode.c
-+++ b/module/spl/spl-vnode.c
-@@ -211,35 +211,22 @@ int
- vn_rdwr(uio_rw_t uio, vnode_t *vp, void *addr, ssize_t len, offset_t off,
- uio_seg_t seg, int ioflag, rlim64_t x2, void *x3, ssize_t *residp)
- {
-- loff_t offset;
-- mm_segment_t saved_fs;
-- struct file *fp;
-+ struct file *fp = vp->v_file;
-+ loff_t offset = off;
- int rc;
-
- ASSERT(uio == UIO_WRITE || uio == UIO_READ);
-- ASSERT(vp);
-- ASSERT(vp->v_file);
- ASSERT(seg == UIO_SYSSPACE);
- ASSERT((ioflag & ~FAPPEND) == 0);
-
-- fp = vp->v_file;
--
-- offset = off;
- if (ioflag & FAPPEND)
- offset = fp->f_pos;
-
-- /* Writable user data segment must be briefly increased for this
-- * process so we can use the user space read call paths to write
-- * in to memory allocated by the kernel. */
-- saved_fs = get_fs();
-- set_fs(get_ds());
--
- if (uio & UIO_WRITE)
-- rc = vfs_write(fp, addr, len, &offset);
-+ rc = spl_kernel_write(fp, addr, len, &offset);
- else
-- rc = vfs_read(fp, addr, len, &offset);
-+ rc = spl_kernel_read(fp, addr, len, &offset);
-
-- set_fs(saved_fs);
- fp->f_pos = offset;
-
- if (rc < 0)
---
-2.15.1
-
diff --git a/PKGBUILD b/PKGBUILD
index e337cae65bf0..fd1cb4c1b8e8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -18,27 +18,22 @@
pkgbase="spl-linux-lts-git"
pkgname=("spl-linux-lts-git" "spl-linux-lts-git-headers")
-pkgver=0.7.0.r21.ged19bcc.4.9.66.1
-pkgrel=2
-makedepends=("linux-lts-headers=4.9.66-1" "libelf" "git")
+pkgver=2017.11.15.r1059.ed19bcc.4.9.68.1
+pkgrel=1
+makedepends=("linux-lts-headers=4.9.68-1" "libelf" "git")
arch=("x86_64")
url="http://zfsonlinux.org/"
-source=("git+https://github.com/zfsonlinux/spl.git" '0001-Linux-4.14-compat-vfs_read-vfs_write.patch')
-sha256sums=("SKIP" 'd20506fbe6e9ee928005e8a73c03e4b4d207268348f684b9c7a33301067793b8')
+source=("git+https://github.com/zfsonlinux/spl.git#commit=ed19bccfb651843fa208232b3a2d3d22a4152bc8")
+sha256sums=("SKIP")
license=("GPL")
-depends=("spl-utils-common-git>=0.7.0.r21.ged19bcc" "kmod" "linux-lts=4.9.66-1")
-
-pkgver() {
- cd "${srcdir}/spl"
- echo $(git describe --long | sed 's/^spl-//;s/\([^-]*-g\)/r\1/;s/-/./g').4.9.66.1
-}
+depends=("spl-utils-common-git=2017.11.15.r1059.ed19bcc" "kmod" "linux-lts=4.9.68-1")
build() {
cd "${srcdir}/spl"
./autogen.sh
./configure --prefix=/usr --libdir=/usr/lib --sbindir=/usr/bin \
- --with-linux=/usr/lib/modules/4.9.66-1-lts/build \
- --with-linux-obj=/usr/lib/modules/4.9.66-1-lts/build \
+ --with-linux=/usr/lib/modules/4.9.68-1-lts/build \
+ --with-linux-obj=/usr/lib/modules/4.9.68-1-lts/build \
--with-config=kernel
make
}
@@ -58,10 +53,10 @@ package_spl-linux-lts-git() {
package_spl-linux-lts-git-headers() {
pkgdesc="Solaris Porting Layer kernel headers."
- conflicts=('spl-archiso-linux-headers' 'spl-linux-hardened-headers' 'spl-linux-hardened-git-headers' 'spl-linux-lts-headers' 'spl-linux-headers' 'spl-linux-git-headers' 'spl-linux-zen-headers' 'spl-linux-zen-git-headers' )
+ conflicts=('spl-archiso-linux-headers' 'spl-linux-hardened-headers' 'spl-linux-hardened-git-headers' 'spl-linux-lts-headers' 'spl-linux-headers' 'spl-linux-git-headers' 'spl-linux-vfio-headers' 'spl-linux-vfio-git-headers' 'spl-linux-zen-headers' 'spl-linux-zen-git-headers' )
cd "${srcdir}/spl"
make DESTDIR="${pkgdir}" install
rm -r "${pkgdir}/lib"
# Remove reference to ${srcdir}
- sed -i "s+${srcdir}++" ${pkgdir}/usr/src/spl-*/4.9.66-1-lts/Module.symvers
+ sed -i "s+${srcdir}++" ${pkgdir}/usr/src/spl-*/4.9.68-1-lts/Module.symvers
}
diff --git a/spl.install b/spl.install
index 763f086bff00..3572dc0f761c 100644
--- a/spl.install
+++ b/spl.install
@@ -12,5 +12,5 @@ post_upgrade() {
run_depmod() {
echo ">>> Updating SPL module dependencies"
- depmod -a 4.9.66-1-lts
+ depmod -a 4.9.68-1-lts
}