diff options
author | Jesus Alvarez | 2017-12-13 14:15:06 -0800 |
---|---|---|
committer | Jesus Alvarez | 2017-12-13 14:15:06 -0800 |
commit | b80858e1c58bc28ae95edc181d56bd7557a252be (patch) | |
tree | b21e8ffe0e61dcbe7c66f74531f06a3e814e3c5c | |
parent | 14f2a5e097608cdc40d8d84638c8b6a5af2f7194 (diff) | |
download | aur-b80858e1c58bc28ae95edc181d56bd7557a252be.tar.gz |
Semi-automated update for 4.9.68.1-1
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | 0001-Linux-4.14-compat-vfs_read-vfs_write.patch | 206 | ||||
-rw-r--r-- | PKGBUILD | 25 | ||||
-rw-r--r-- | spl.install | 2 |
4 files changed, 20 insertions, 231 deletions
@@ -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 - @@ -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 } |