summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO15
-rw-r--r--0001-Correct-m4-conditionals-in-curses.m4.patch67
-rw-r--r--0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch99
-rw-r--r--0003-Linux-Use-kernel_read-kernel_write-when-__vfs-varian.patch142
-rw-r--r--PKGBUILD23
5 files changed, 10 insertions, 336 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d1cb9b579ab4..5b4664dd1c99 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Tue Dec 5 17:35:55 UTC 2017
+# Fri Dec 22 13:20:49 UTC 2017
pkgbase = openafs-modules
pkgdesc = Kernel module for OpenAFS
- pkgver = 1.6.22
+ pkgver = 1.6.22.1
pkgrel = 1
url = http://www.openafs.org
install = openafs-modules.install
@@ -10,19 +10,14 @@ pkgbase = openafs-modules
arch = x86_64
arch = armv7h
license = custom:"IBM Public License Version 1.0"
+ makedepends = libelf
makedepends = linux-headers
depends = openafs
conflicts = openafs-features-libafs
conflicts = openafs<1.6.6-2
options = !emptydirs
- source = http://openafs.org/dl/1.6.22/openafs-1.6.22-src.tar.bz2
- source = 0001-Correct-m4-conditionals-in-curses.m4.patch
- source = 0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch
- source = 0003-Linux-Use-kernel_read-kernel_write-when-__vfs-varian.patch
- sha256sums = 835410b75d14aec1ac6a1138d8194897f1badeffa3a0c282963ad51996712347
- sha256sums = 7d4b9bd370ae00aad978db7ad82950598817c205727e6fa2062c0e0c2ace289a
- sha256sums = 9472094ff5f35ca2cc50dcad26f40274a6b409ecc49b80668cf06081e6bf71d9
- sha256sums = b713e7cf5c295254d8e9abe277fd686a89e5e48f27f128761585320a3088ff27
+ source = http://openafs.org/dl/1.6.22.1/openafs-1.6.22.1-src.tar.bz2
+ sha256sums = 5c617948b6bf5a079c14fb7ee86b99e97d23fe6267ca5e079364acc3f55ccea6
pkgname = openafs-modules
diff --git a/0001-Correct-m4-conditionals-in-curses.m4.patch b/0001-Correct-m4-conditionals-in-curses.m4.patch
deleted file mode 100644
index b3f8c5edbfd8..000000000000
--- a/0001-Correct-m4-conditionals-in-curses.m4.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 50a6e61096a5064ee49185b25cb721377fdec7d9 Mon Sep 17 00:00:00 2001
-From: Benjamin Kaduk <kaduk@mit.edu>
-Date: Mon, 16 Oct 2017 16:53:22 -0500
-Subject: [PATCH 1/3] Correct m4 conditionals in curses.m4
-
-AS_IF does not invoke the test(1) shell builtin for us, so we must
-take care to consistently use it ourself.
-
-While here, sprinkle some missing double-quotes around variable
-expansions in AS_IF statements in this file.
-
-Submitted by Bastian Beischer.
-
-FIXES 134414
-
-Change-Id: Iccfe311011f17de6317cf64abdc58b0812b81b8c
-Reviewed-on: https://gerrit.openafs.org/12738
-Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-Tested-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit e0c5ada214596d5adb6798682d5e280cc99f447c)
-Reviewed-on: https://gerrit.openafs.org/12739
-(cherry picked from commit bc384b7d5e4818c567a64fe4a935f021d936444f)
----
- src/cf/curses.m4 | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/cf/curses.m4 b/src/cf/curses.m4
-index a0cdc60f1..dc01469f5 100644
---- a/src/cf/curses.m4
-+++ b/src/cf/curses.m4
-@@ -55,7 +55,7 @@ AC_DEFUN([_OPENAFS_CURSES_GETMAXYX_BSD43],
- dnl possibly this may need to be done as above in some cases?
- AC_CHECK_FUNCS([getmaxx getmaxy], [], [_openafs_curses_bsd43=no])
- LIBS="$save_LIBS"
-- AS_IF([$_openafs_curses_bsd43 = yes], [$1], [$2])])
-+ AS_IF([test "$_openafs_curses_bsd43" = yes], [$1], [$2])])
-
- dnl _OPENAFS_CURSES_GETMAXYX_BSDVI([ACTION-IF-SUCCESS], [ACTION_IF_FAILURE])
- dnl test for getmaxx() and getmaxy() as from BSD curses as bodily ripped
-@@ -68,7 +68,7 @@ AC_DEFUN([_OPENAFS_CURSES_GETMAXYX_BSDVI],
- AC_CHECK_MEMBERS([WINDOW._maxx WINDOW._maxy], [], [_openafs_curses_bsdvi=no],
- _OPENAFS_CURSES_HEADERS)
- LIBS="$save_LIBS"
-- AS_IF([$_openafs_curses_bsdvi = yes], [$1], [$2])])
-+ AS_IF([test "$_openafs_curses_bsdvi" = yes], [$1], [$2])])
-
- dnl OPENAFS_CURSES_WINDOW_EXTENTS([ACTION-IF-SUCCESS], [ACTION_IF_FAILURE])
- dnl check for standard getmaxyx macro. failing that, try the
-@@ -78,11 +78,11 @@ AC_DEFUN([OPENAFS_CURSES_WINDOW_EXTENTS],
- [OPENAFS_CURSES_LIB
- openafs_curses_extent=none
- _OPENAFS_CURSES_GETMAXYX_XTI([openafs_curses_extent=xti])
-- AS_IF([test $openafs_curses_extent = none],
-+ AS_IF([test "$openafs_curses_extent" = none],
- [_OPENAFS_CURSES_GETMAXYX_BSD43([openafs_curses_extent=bsd])])
-- AS_IF([test $openafs_curses_extent = none],
-+ AS_IF([test "$openafs_curses_extent" = none],
- [_OPENAFS_CURSES_GETMAXYX_BSDVI([openafs_curses_extent=vi])],)
-- AS_IF([test $openafs_curses_extent != none], [$1], [$2])])
-+ AS_IF([test "$openafs_curses_extent" != none], [$1], [$2])])
-
- dnl The top level curses group
- AC_DEFUN([OPENAFS_CURSES],
---
-2.15.1
-
diff --git a/0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch b/0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch
deleted file mode 100644
index 1e47d68b857d..000000000000
--- a/0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From d1e45fa924711f904c256f5055d6ebae6cc18a88 Mon Sep 17 00:00:00 2001
-From: Damien Diederen <ddiederen@sinenomine.net>
-Date: Mon, 18 Sep 2017 11:59:40 +0200
-Subject: [PATCH 2/3] Linux: Test for __vfs_write rather than __vfs_read
-
-The following commit:
-
- commit eb031849d52e61d24ba54e9d27553189ff328174
- Author: Christoph Hellwig <hch@lst.de>
- Date: Fri Sep 1 17:39:23 2017 +0200
-
- fs: unexport __vfs_read/__vfs_write
-
-unexports both __vfs_read and __vfs_write, but keeps the former in
-fs.h--as it is is still being used by another part of the tree.
-
-This situation results in a false positive in our Autoconf check,
-which does not see the export statements, and ends up marking the
-corresponding API as available.
-
-That, in turn, causes some code which assumes symmetry with
-__vfs_write to fail to compile.
-
-Switch to testing for __vfs_write, which correctly marks the API as
-unavailable.
-
-Reviewed-on: https://gerrit.openafs.org/12728
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit 929e77a886fc9853ee292ba1aa52a920c454e94b)
-
-Reviewed-on: https://gerrit.openafs.org/12736
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
-Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit c42a25d28fbcc76fdcac2b5f29704f8f1b353b45)
-
-Change-Id: I27c1c67bed6ebb922389ebb70cbb7fc238378b58
----
- acinclude.m4 | 4 ++--
- src/afs/LINUX/osi_compat.h | 4 ++--
- src/afs/LINUX/osi_vnodeops.c | 2 +-
- 3 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index d80cacd78..8353ca597 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -939,9 +939,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
-
- dnl Function existence checks
-
-- AC_CHECK_LINUX_FUNC([__vfs_read],
-+ AC_CHECK_LINUX_FUNC([__vfs_write],
- [#include <linux/fs.h>],
-- [__vfs_read(NULL, NULL, 0, NULL);])
-+ [__vfs_write(NULL, NULL, 0, NULL);])
- AC_CHECK_LINUX_FUNC([bdi_init],
- [#include <linux/backing-dev.h>],
- [bdi_init(NULL);])
-diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h
-index 8e72161bf..9ebe9c178 100644
---- a/src/afs/LINUX/osi_compat.h
-+++ b/src/afs/LINUX/osi_compat.h
-@@ -595,7 +595,7 @@ afs_d_invalidate(struct dentry *dp)
- static inline int
- afs_file_read(struct file *filp, char __user *buf, size_t len, loff_t *pos)
- {
--#if defined(HAVE_LINUX___VFS_READ)
-+#if defined(HAVE_LINUX___VFS_WRITE)
- return __vfs_read(filp, buf, len, pos);
- #else
- return filp->f_op->read(filp, buf, len, pos);
-@@ -605,7 +605,7 @@ afs_file_read(struct file *filp, char __user *buf, size_t len, loff_t *pos)
- static inline int
- afs_file_write(struct file *filp, char __user *buf, size_t len, loff_t *pos)
- {
--#if defined(HAVE_LINUX___VFS_READ)
-+#if defined(HAVE_LINUX___VFS_WRITE)
- return __vfs_write(filp, buf, len, pos);
- #else
- return filp->f_op->write(filp, buf, len, pos);
-diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
-index f46d8dda8..3d9d71791 100644
---- a/src/afs/LINUX/osi_vnodeops.c
-+++ b/src/afs/LINUX/osi_vnodeops.c
-@@ -807,7 +807,7 @@ struct file_operations afs_file_fops = {
- #ifdef STRUCT_FILE_OPERATIONS_HAS_READ_ITER
- .read_iter = afs_linux_read_iter,
- .write_iter = afs_linux_write_iter,
--# if !defined(HAVE_LINUX___VFS_READ)
-+# if !defined(HAVE_LINUX___VFS_WRITE)
- .read = new_sync_read,
- .write = new_sync_write,
- # endif
---
-2.15.1
-
diff --git a/0003-Linux-Use-kernel_read-kernel_write-when-__vfs-varian.patch b/0003-Linux-Use-kernel_read-kernel_write-when-__vfs-varian.patch
deleted file mode 100644
index ec26c99fb220..000000000000
--- a/0003-Linux-Use-kernel_read-kernel_write-when-__vfs-varian.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From 8bcc735dac68eab9fa4c3f95348c0d2c64aa569b Mon Sep 17 00:00:00 2001
-From: Damien Diederen <ddiederen@sinenomine.net>
-Date: Mon, 18 Sep 2017 12:18:39 +0200
-Subject: [PATCH 3/3] Linux: Use kernel_read/kernel_write when __vfs variants
- are unavailable
-
-We hide the uses of set_fs/get_fs behind a macro, as those functions
-are likely to soon become unavailable:
-
-> Christoph Hellwig suggested removing all calls outside of the core
-> filesystem and architecture code; Andy Lutomirski went one step
-> further and said they should all go.
-
- https://lwn.net/Articles/722267/
-
-Reviewed-on: https://gerrit.openafs.org/12729
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit 5ee516b3789d3545f3d78fb3aba2480308359945)
-
-Reviewed-on: https://gerrit.openafs.org/12737
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
-Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit d93f80622370f50d7bce5c5b00cd062f15ee9eba)
-
-Change-Id: Ib4515c858d0a06d3706ec7de212c35551d3e7240
----
- acinclude.m4 | 3 +++
- src/afs/LINUX/osi_compat.h | 12 ++++++++++++
- src/afs/LINUX/osi_file.c | 6 ++++++
- src/afs/LINUX/osi_vnodeops.c | 2 +-
- 4 files changed, 22 insertions(+), 1 deletion(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 8353ca597..94b943622 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -942,6 +942,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
- AC_CHECK_LINUX_FUNC([__vfs_write],
- [#include <linux/fs.h>],
- [__vfs_write(NULL, NULL, 0, NULL);])
-+ AC_CHECK_LINUX_FUNC([kernel_write],
-+ [#include <linux/fs.h>],
-+ [kernel_write(NULL, NULL, 0, NULL);])
- AC_CHECK_LINUX_FUNC([bdi_init],
- [#include <linux/backing-dev.h>],
- [bdi_init(NULL);])
-diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h
-index 9ebe9c178..9871535f0 100644
---- a/src/afs/LINUX/osi_compat.h
-+++ b/src/afs/LINUX/osi_compat.h
-@@ -592,11 +592,21 @@ afs_d_invalidate(struct dentry *dp)
- #endif
- }
-
-+#if defined(HAVE_LINUX___VFS_WRITE)
-+# define AFS_FILE_NEEDS_SET_FS 1
-+#elif defined(HAVE_LINUX_KERNEL_WRITE)
-+/* #undef AFS_FILE_NEEDS_SET_FS */
-+#else
-+# define AFS_FILE_NEEDS_SET_FS 1
-+#endif
-+
- static inline int
- afs_file_read(struct file *filp, char __user *buf, size_t len, loff_t *pos)
- {
- #if defined(HAVE_LINUX___VFS_WRITE)
- return __vfs_read(filp, buf, len, pos);
-+#elif defined(HAVE_LINUX_KERNEL_WRITE)
-+ return kernel_read(filp, buf, len, pos);
- #else
- return filp->f_op->read(filp, buf, len, pos);
- #endif
-@@ -607,6 +617,8 @@ afs_file_write(struct file *filp, char __user *buf, size_t len, loff_t *pos)
- {
- #if defined(HAVE_LINUX___VFS_WRITE)
- return __vfs_write(filp, buf, len, pos);
-+#elif defined(HAVE_LINUX_KERNEL_WRITE)
-+ return kernel_write(filp, buf, len, pos);
- #else
- return filp->f_op->write(filp, buf, len, pos);
- #endif
-diff --git a/src/afs/LINUX/osi_file.c b/src/afs/LINUX/osi_file.c
-index f889fd16b..a028ee740 100644
---- a/src/afs/LINUX/osi_file.c
-+++ b/src/afs/LINUX/osi_file.c
-@@ -357,7 +357,9 @@ int
- osi_rdwr(struct osi_file *osifile, struct uio *uiop, int rw)
- {
- struct file *filp = osifile->filp;
-+#ifdef AFS_FILE_NEEDS_SET_FS
- mm_segment_t old_fs = {0};
-+#endif /* AFS_FILE_NEEDS_SET_FS */
- int code = 0;
- struct iovec *iov;
- size_t count;
-@@ -367,11 +369,13 @@ osi_rdwr(struct osi_file *osifile, struct uio *uiop, int rw)
- savelim = current->TASK_STRUCT_RLIM[RLIMIT_FSIZE].rlim_cur;
- current->TASK_STRUCT_RLIM[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY;
-
-+#ifdef AFS_FILE_NEEDS_SET_FS
- if (uiop->uio_seg == AFS_UIOSYS) {
- /* Switch into user space */
- old_fs = get_fs();
- set_fs(get_ds());
- }
-+#endif /* AFS_FILE_NEEDS_SET_FS */
-
- while (code == 0 && uiop->uio_resid > 0 && uiop->uio_iovcnt > 0) {
- iov = uiop->uio_iov;
-@@ -408,10 +412,12 @@ osi_rdwr(struct osi_file *osifile, struct uio *uiop, int rw)
- code = 0;
- }
-
-+#ifdef AFS_FILE_NEEDS_SET_FS
- if (uiop->uio_seg == AFS_UIOSYS) {
- /* Switch back into kernel space */
- set_fs(old_fs);
- }
-+#endif /* AFS_FILE_NEEDS_SET_FS */
-
- current->TASK_STRUCT_RLIM[RLIMIT_FSIZE].rlim_cur = savelim;
-
-diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
-index 3d9d71791..051452b34 100644
---- a/src/afs/LINUX/osi_vnodeops.c
-+++ b/src/afs/LINUX/osi_vnodeops.c
-@@ -807,7 +807,7 @@ struct file_operations afs_file_fops = {
- #ifdef STRUCT_FILE_OPERATIONS_HAS_READ_ITER
- .read_iter = afs_linux_read_iter,
- .write_iter = afs_linux_write_iter,
--# if !defined(HAVE_LINUX___VFS_WRITE)
-+# if !defined(HAVE_LINUX___VFS_WRITE) && !defined(HAVE_LINUX_KERNEL_WRITE)
- .read = new_sync_read,
- .write = new_sync_write,
- # endif
---
-2.15.1
-
diff --git a/PKGBUILD b/PKGBUILD
index 17aa79ce8fe3..be79926da9f2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,25 +5,19 @@
pkgname=openafs-modules
_srcname=openafs
-pkgver=1.6.22
+pkgver=1.6.22.1
pkgrel=1
pkgdesc="Kernel module for OpenAFS"
arch=('i686' 'x86_64' 'armv7h')
url="http://www.openafs.org"
license=('custom:"IBM Public License Version 1.0"')
depends=('openafs')
-makedepends=('linux-headers')
+makedepends=('libelf' 'linux-headers')
conflicts=('openafs-features-libafs' 'openafs<1.6.6-2')
options=(!emptydirs)
-source=(http://openafs.org/dl/${pkgver}/${_srcname}-${pkgver}-src.tar.bz2
- 0001-Correct-m4-conditionals-in-curses.m4.patch
- 0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch
- 0003-Linux-Use-kernel_read-kernel_write-when-__vfs-varian.patch)
+source=(http://openafs.org/dl/${pkgver}/${_srcname}-${pkgver}-src.tar.bz2)
install=openafs-modules.install
-sha256sums=('835410b75d14aec1ac6a1138d8194897f1badeffa3a0c282963ad51996712347'
- '7d4b9bd370ae00aad978db7ad82950598817c205727e6fa2062c0e0c2ace289a'
- '9472094ff5f35ca2cc50dcad26f40274a6b409ecc49b80668cf06081e6bf71d9'
- 'b713e7cf5c295254d8e9abe277fd686a89e5e48f27f128761585320a3088ff27')
+sha256sums=('5c617948b6bf5a079c14fb7ee86b99e97d23fe6267ca5e079364acc3f55ccea6')
# Heuristic to determine version of installed kernel
# You can modify this if the heuristic fails
@@ -33,15 +27,8 @@ _kernelver=$(cat ${_extramodules}/version)
prepare() {
cd ${srcdir}/${_srcname}-${pkgver}
- # Fix curses checks during configure (https://gerrit.openafs.org/12740/)
- patch -p1 < ${srcdir}/0001-Correct-m4-conditionals-in-curses.m4.patch
-
- # Fix compatibility with Linux 4.14
- patch -p1 < ${srcdir}/0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch
- patch -p1 < ${srcdir}/0003-Linux-Use-kernel_read-kernel_write-when-__vfs-varian.patch
-
# Only needed when changes to configure were made
- ./regen.sh -q
+ # ./regen.sh -q
}
build() {