diff options
author | Michael Lass | 2016-06-22 19:58:53 +0200 |
---|---|---|
committer | Michael Lass | 2016-06-22 19:58:53 +0200 |
commit | c5acf766db9fb9131c487f8423a6086cb3978ed9 (patch) | |
tree | 1ea110523d174b40776923d91fc96585124a0d98 | |
parent | c9c05bf7e86786cc60d07c8f6582cc16b9bda0ef (diff) | |
download | aur-c5acf766db9fb9131c487f8423a6086cb3978ed9.tar.gz |
Update to 1.6.18.1
This release includes patches for Linux 4.5
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | 0001-Linux-3.13-Check-return-value-from-bdi_init.patch | 66 | ||||
-rw-r--r-- | 0001-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch (renamed from 0005-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch) | 6 | ||||
-rw-r--r-- | 0002-Linux-4.5-no-highmem-in-symlink-ops.patch | 45 | ||||
-rw-r--r-- | 0003-Linux-4.5-get_link-instead-of-follow_link-put_link.patch | 80 | ||||
-rw-r--r-- | 0004-Linux-4.5-don-t-access-i_mutex-directly.patch | 88 | ||||
-rw-r--r-- | PKGBUILD | 26 |
7 files changed, 17 insertions, 318 deletions
@@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Thu Jun 9 19:52:01 UTC 2016 +# Wed Jun 22 17:58:20 UTC 2016 pkgbase = openafs-modules-dkms pkgdesc = Kernel module for OpenAFS (dkms) - pkgver = 1.6.18 - pkgrel = 3 + pkgver = 1.6.18.1 + pkgrel = 1 url = http://www.openafs.org arch = i686 arch = x86_64 @@ -11,25 +11,17 @@ pkgbase = openafs-modules-dkms license = custom:"IBM Public License Version 1.0" depends = dkms depends = openafs - provides = openafs-modules=1.6.18 + provides = openafs-modules=1.6.18.1 conflicts = openafs-features-libafs conflicts = openafs-modules conflicts = openafs<1.6.6-2 options = !emptydirs - source = http://openafs.org/dl/1.6.18/openafs-1.6.18-src.tar.bz2 + source = http://openafs.org/dl/1.6.18.1/openafs-1.6.18.1-src.tar.bz2 source = dkms.conf - source = 0001-Linux-3.13-Check-return-value-from-bdi_init.patch - source = 0002-Linux-4.5-no-highmem-in-symlink-ops.patch - source = 0003-Linux-4.5-get_link-instead-of-follow_link-put_link.patch - source = 0004-Linux-4.5-don-t-access-i_mutex-directly.patch - source = 0005-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch - sha256sums = b3c35e7be6b6c86b91e7c699fd015f53c87bc19d1ae8ec3ec9cda6b97327d3b6 + source = 0001-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch + sha256sums = 503b22ebb57af6af5aec87801ace54209b21f34f0d19843b16c336b66efd48ad sha256sums = ea7d1e6dfb5006016e25738be722c8793765f52ad55c0bbf588dd7fdf2bdd2bf - sha256sums = abac60b5ae85a8d9311a13f35d723c63de2049033058736db7b3ef39439c2811 - sha256sums = 0ae7f199e5e4031beef55c93087c34505701ef8f41fce4c255239bb8b48e9888 - sha256sums = c7403d943f4bd5bb61e47b79c8d5c1258ced77800b2c20a603a4676ae9ee6f8c - sha256sums = 88d7ab67b730eeeaef991cb0db8dabf12d1773a922fbba5c6ac99731a6e87fea - sha256sums = 76d83389674da6fcb3ce0635308cd47a949f13361cd29ae2c513847fa5dced1f + sha256sums = e8c1b1ddb49c198d19a29f2b80294084bede252a34768a26da441cbb6173f350 pkgname = openafs-modules-dkms diff --git a/0001-Linux-3.13-Check-return-value-from-bdi_init.patch b/0001-Linux-3.13-Check-return-value-from-bdi_init.patch deleted file mode 100644 index ee1f6ec81407..000000000000 --- a/0001-Linux-3.13-Check-return-value-from-bdi_init.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 87377a9547443ae41aa6e393129389a765573aa3 Mon Sep 17 00:00:00 2001 -From: Marc Dionne <marc.dionne@your-file-system.com> -Date: Tue, 3 Dec 2013 14:10:00 -0500 -Subject: [PATCH 1/5] Linux 3.13: Check return value from bdi_init - -The use of the bdi_init function now gets a warning because the -return value is unused and the function is now defined with -the warn_unused_result attribute. - -Assign and check the return value. - -Reviewed-on: http://gerrit.openafs.org/10530 -Tested-by: BuildBot <buildbot@rampaginggeek.com> -Reviewed-by: Andrew Deason <adeason@sinenomine.net> -Reviewed-by: Derrick Brashear <shadow@your-file-system.com> -(cherry picked from commit ccc5d3f7adceda4d8cf41f04fe02d5cfe376befd) - -Change-Id: I2ccd9bbdce396a003030e3e09f9f6d75a1c4fa7c ---- - src/afs/LINUX/osi_vfsops.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c -index 3936d4d..c222668 100644 ---- a/src/afs/LINUX/osi_vfsops.c -+++ b/src/afs/LINUX/osi_vfsops.c -@@ -87,6 +87,9 @@ int - afs_fill_super(struct super_block *sb, void *data, int silent) - { - int code = 0; -+#if defined(HAVE_LINUX_BDI_INIT) -+ int bdi_init_done = 0; -+#endif - - AFS_GLOCK(); - if (afs_was_mounted) { -@@ -115,7 +118,10 @@ afs_fill_super(struct super_block *sb, void *data, int silent) - afs_backing_dev_info = kmalloc(sizeof(struct backing_dev_info), GFP_NOFS); - memset(afs_backing_dev_info, 0, sizeof(struct backing_dev_info)); - #if defined(HAVE_LINUX_BDI_INIT) -- bdi_init(afs_backing_dev_info); -+ code = bdi_init(afs_backing_dev_info); -+ if (code) -+ goto out; -+ bdi_init_done = 1; - #endif - #if defined(STRUCT_BACKING_DEV_INFO_HAS_NAME) - afs_backing_dev_info->name = "openafs"; -@@ -144,11 +150,13 @@ afs_fill_super(struct super_block *sb, void *data, int silent) - #endif - #endif - code = afs_root(sb); -+out: - if (code) { - afs_globalVFS = NULL; - afs_FlushAllVCaches(); - #if defined(HAVE_LINUX_BDI_INIT) -- bdi_destroy(afs_backing_dev_info); -+ if (bdi_init_done) -+ bdi_destroy(afs_backing_dev_info); - #endif - kfree(afs_backing_dev_info); - module_put(THIS_MODULE); --- -2.8.3 - diff --git a/0005-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch b/0001-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch index fe9657df2a27..ba949fcf789b 100644 --- a/0005-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch +++ b/0001-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch @@ -1,7 +1,7 @@ -From b9af471c9ffa2cd8b537c4f391f5b198d7812599 Mon Sep 17 00:00:00 2001 +From 720556bcbc9d51e2d1b4b0fd1f3c399836b67971 Mon Sep 17 00:00:00 2001 From: Joe Gorse <jhgorse@gmail.com> Date: Thu, 9 Jun 2016 14:11:23 -0400 -Subject: [PATCH 5/5] Linux 4.6: rm PAGE_CACHE_* and page_cache_{get,release} +Subject: [PATCH] Linux 4.6: rm PAGE_CACHE_* and page_cache_{get,release} macros This is an automatic patch generated by Coccinelle (spatch) from: @@ -292,5 +292,5 @@ index 2696b48..86a9668 100644 return code; -- -2.8.3 +2.9.0 diff --git a/0002-Linux-4.5-no-highmem-in-symlink-ops.patch b/0002-Linux-4.5-no-highmem-in-symlink-ops.patch deleted file mode 100644 index e3f3cf6d2025..000000000000 --- a/0002-Linux-4.5-no-highmem-in-symlink-ops.patch +++ /dev/null @@ -1,45 +0,0 @@ -From fc08da3fd6a93a6de215fc6cb9f3a858dea3bfc0 Mon Sep 17 00:00:00 2001 -From: Benjamin Kaduk <kaduk@mit.edu> -Date: Sun, 1 May 2016 19:04:45 -0400 -Subject: [PATCH 2/5] Linux 4.5: no highmem in symlink ops - -Symlink bodies in the pagecache should not be in highmem, as -upstream converted in commit 21fc61c73. - -Change-Id: I1e4c3c51308df096cdfa4d5e7b16279e275e7f41 ---- - acinclude.m4 | 3 +++ - src/afs/LINUX/osi_vnodeops.c | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git a/acinclude.m4 b/acinclude.m4 -index 4f8e2c0..c8a7ceb 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -1034,6 +1034,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) - [#include <linux/kernel.h> - #include <linux/kthread.h>], - [kthread_run(NULL, NULL, "test");]) -+ AC_CHECK_LINUX_FUNC([inode_nohighmem], -+ [#include <linux/fs.h>], -+ [inode_nohighmem(NULL);]) - - dnl Consequences - things which get set as a result of the - dnl above tests -diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c -index 1b99c94..2f753dd 100644 ---- a/src/afs/LINUX/osi_vnodeops.c -+++ b/src/afs/LINUX/osi_vnodeops.c -@@ -3143,6 +3143,9 @@ afs_fill_inode(struct inode *ip, struct vattr *vattr) - - } else if (S_ISLNK(ip->i_mode)) { - ip->i_op = &afs_symlink_iops; -+#if defined(HAVE_LINUX_INODE_NOHIGHMEM) -+ inode_nohighmem(ip); -+#endif - #if defined(USABLE_KERNEL_PAGE_SYMLINK_CACHE) - ip->i_data.a_ops = &afs_symlink_aops; - ip->i_mapping = &ip->i_data; --- -2.8.3 - diff --git a/0003-Linux-4.5-get_link-instead-of-follow_link-put_link.patch b/0003-Linux-4.5-get_link-instead-of-follow_link-put_link.patch deleted file mode 100644 index cf8f4b88ecfa..000000000000 --- a/0003-Linux-4.5-get_link-instead-of-follow_link-put_link.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 97591edd99583f460d61cece34f9e2173ea637fb Mon Sep 17 00:00:00 2001 -From: Chaskiel Grundman <cg2v@andrew.cmu.edu> -Date: Thu, 5 May 2016 12:35:08 -0400 -Subject: [PATCH 3/5] Linux 4.5: get_link instead of follow_link+put_link - -In linux commit 6b255391, the follow_link inode operation was -replaced by the get_link operation, which is basically the same -but takes the inode and dentry separately, allowing for the -possibility of staying in RCU mode. - -For now, only support this if page_get_link is available and we are -using the USABLE_KERNEL_PAGE_SYMLINK_CACHE - -The previous test for USABLE_KERNEL_PAGE_SYMLINK_CACHE used a bogus, -undefined configure variable (ac_cv_linux_kernel_page_follow_link). -Remove it, as it was not needed - -Change-Id: I2d7851d31dd4b1b944b16fad611addb804930eca ---- - acinclude.m4 | 10 +++++++++- - src/afs/LINUX/osi_vnodeops.c | 4 +++- - 2 files changed, 12 insertions(+), 2 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index c8a7ceb..aca1316 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -890,6 +890,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) - AC_CHECK_LINUX_STRUCT([file_operations], [sendfile], [fs.h]) - AC_CHECK_LINUX_STRUCT([file_system_type], [mount], [fs.h]) - AC_CHECK_LINUX_STRUCT([inode_operations], [truncate], [fs.h]) -+ AC_CHECK_LINUX_STRUCT([inode_operations], [get_link], [fs.h]) - AC_CHECK_LINUX_STRUCT([key], [payload.value], [key.h]) - AC_CHECK_LINUX_STRUCT([key_type], [instantiate_prep], [key-type.h]) - AC_CHECK_LINUX_STRUCT([key_type], [match_preparse], [key-type.h]) -@@ -990,6 +991,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) - AC_CHECK_LINUX_FUNC([page_follow_link], - [#include <linux/fs.h>], - [page_follow_link(0,0);]) -+ AC_CHECK_LINUX_FUNC([page_get_link], -+ [#include <linux/fs.h>], -+ [page_get_link(0,0,0);]) - AC_CHECK_LINUX_FUNC([page_offset], - [#include <linux/pagemap.h>], - [page_offset(NULL);]) -@@ -1168,11 +1172,15 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) - if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then - AC_DEFINE(HAVE_MM_INLINE_H, 1, [define if you have mm_inline.h header file]) - fi -- if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then -+ if test "x$ac_cv_linux_func_page_get_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then - AC_DEFINE(USABLE_KERNEL_PAGE_SYMLINK_CACHE, 1, [define if your kernel has a usable symlink cache API]) - else - AC_MSG_WARN([your kernel does not have a usable symlink cache API]) - fi -+ if test "x$ac_cv_linux_func_page_get_link" != "xyes" -a "x$ac_cv_linux_struct_inode_operations_has_get_link" = "xyes"; then -+ AC_MSG_ERROR([Your kernel does not use follow_link - not supported without symlink cache API]) -+ exit 1 -+ fi - : - fi - if test "x$enable_linux_d_splice_alias_extra_iput" = xyes; then -diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c -index 2f753dd..00b41ef 100644 ---- a/src/afs/LINUX/osi_vnodeops.c -+++ b/src/afs/LINUX/osi_vnodeops.c -@@ -3108,7 +3108,9 @@ static struct address_space_operations afs_symlink_aops = { - static struct inode_operations afs_symlink_iops = { - #if defined(USABLE_KERNEL_PAGE_SYMLINK_CACHE) - .readlink = page_readlink, --# if defined(HAVE_LINUX_PAGE_FOLLOW_LINK) -+# if defined(HAVE_LINUX_PAGE_GET_LINK) -+ .get_link = page_get_link, -+# elif defined(HAVE_LINUX_PAGE_FOLLOW_LINK) - .follow_link = page_follow_link, - # else - .follow_link = page_follow_link_light, --- -2.8.3 - diff --git a/0004-Linux-4.5-don-t-access-i_mutex-directly.patch b/0004-Linux-4.5-don-t-access-i_mutex-directly.patch deleted file mode 100644 index 906ba54a9b4d..000000000000 --- a/0004-Linux-4.5-don-t-access-i_mutex-directly.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 60b36c98188a786f1ba71f0e2b0a1b8f7ff0ba2c Mon Sep 17 00:00:00 2001 -From: Benjamin Kaduk <kaduk@mit.edu> -Date: Sun, 1 May 2016 19:48:40 -0400 -Subject: [PATCH 4/5] Linux 4.5: don't access i_mutex directly - -Linux commit 5955102c, in preparation for future work, introduced -wrapper functions to lock/unlock inode mutexes. This is to -prepare for converting it to a read-write semaphore, so that -lookup can be done with only the shared lock held. - -Adopt the afs_linux_*lock_inode() functions accordingly, and -convert afs_linux_fsync() to using those wrappers, since the -FOP_FSYNC_TAKES_RANGE case appears to be the current case. - -Amusingly, afs_linux_*lock_inode() already have a branch to -handle the case when inode serialization is protected by a -semaphore; it seems that this is going to come full-circle. - -Change-Id: Ia5a194acc559de21808655ef066151a0a3826364 ---- - acinclude.m4 | 3 +++ - src/afs/LINUX/osi_compat.h | 8 ++++++-- - src/afs/LINUX/osi_vnodeops.c | 4 ++-- - 3 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index aca1316..aa682ea 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -1041,6 +1041,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) - AC_CHECK_LINUX_FUNC([inode_nohighmem], - [#include <linux/fs.h>], - [inode_nohighmem(NULL);]) -+ AC_CHECK_LINUX_FUNC([inode_lock], -+ [#include <linux/fs.h>], -+ [inode_lock(NULL);]) - - dnl Consequences - things which get set as a result of the - dnl above tests -diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h -index 4d484c1..5268e7e 100644 ---- a/src/afs/LINUX/osi_compat.h -+++ b/src/afs/LINUX/osi_compat.h -@@ -427,7 +427,9 @@ afs_init_sb_export_ops(struct super_block *sb) { - - static inline void - afs_linux_lock_inode(struct inode *ip) { --#ifdef STRUCT_INODE_HAS_I_MUTEX -+#if defined(HAVE_LINUX_INODE_LOCK) -+ inode_lock(ip); -+#elif defined(STRUCT_INODE_HAS_I_MUTEX) - mutex_lock(&ip->i_mutex); - #else - down(&ip->i_sem); -@@ -436,7 +438,9 @@ afs_linux_lock_inode(struct inode *ip) { - - static inline void - afs_linux_unlock_inode(struct inode *ip) { --#ifdef STRUCT_INODE_HAS_I_MUTEX -+#if defined(HAVE_LINUX_INODE_LOCK) -+ inode_unlock(ip); -+#elif defined(STRUCT_INODE_HAS_I_MUTEX) - mutex_unlock(&ip->i_mutex); - #else - up(&ip->i_sem); -diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c -index 00b41ef..2696b48 100644 ---- a/src/afs/LINUX/osi_vnodeops.c -+++ b/src/afs/LINUX/osi_vnodeops.c -@@ -571,13 +571,13 @@ afs_linux_fsync(struct file *fp, int datasync) - cred_t *credp = crref(); - - #if defined(FOP_FSYNC_TAKES_RANGE) -- mutex_lock(&ip->i_mutex); -+ afs_linux_lock_inode(ip); - #endif - AFS_GLOCK(); - code = afs_fsync(VTOAFS(ip), credp); - AFS_GUNLOCK(); - #if defined(FOP_FSYNC_TAKES_RANGE) -- mutex_unlock(&ip->i_mutex); -+ afs_linux_unlock_inode(ip); - #endif - crfree(credp); - return afs_convert_code(code); --- -2.8.3 - @@ -5,8 +5,8 @@ pkgname=openafs-modules-dkms _srcname=openafs -pkgver=1.6.18 -pkgrel=3 +pkgver=1.6.18.1 +pkgrel=1 pkgdesc="Kernel module for OpenAFS (dkms)" arch=('i686' 'x86_64' 'armv7h') url="http://www.openafs.org" @@ -17,30 +17,16 @@ conflicts=('openafs-features-libafs' 'openafs-modules' 'openafs<1.6.6-2') options=(!emptydirs) source=(http://openafs.org/dl/${pkgver}/${_srcname}-${pkgver}-src.tar.bz2 dkms.conf - 0001-Linux-3.13-Check-return-value-from-bdi_init.patch - 0002-Linux-4.5-no-highmem-in-symlink-ops.patch - 0003-Linux-4.5-get_link-instead-of-follow_link-put_link.patch - 0004-Linux-4.5-don-t-access-i_mutex-directly.patch - 0005-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch) -sha256sums=('b3c35e7be6b6c86b91e7c699fd015f53c87bc19d1ae8ec3ec9cda6b97327d3b6' + 0001-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch) +sha256sums=('503b22ebb57af6af5aec87801ace54209b21f34f0d19843b16c336b66efd48ad' 'ea7d1e6dfb5006016e25738be722c8793765f52ad55c0bbf588dd7fdf2bdd2bf' - 'abac60b5ae85a8d9311a13f35d723c63de2049033058736db7b3ef39439c2811' - '0ae7f199e5e4031beef55c93087c34505701ef8f41fce4c255239bb8b48e9888' - 'c7403d943f4bd5bb61e47b79c8d5c1258ced77800b2c20a603a4676ae9ee6f8c' - '88d7ab67b730eeeaef991cb0db8dabf12d1773a922fbba5c6ac99731a6e87fea' - '76d83389674da6fcb3ce0635308cd47a949f13361cd29ae2c513847fa5dced1f') + 'e8c1b1ddb49c198d19a29f2b80294084bede252a34768a26da441cbb6173f350') prepare() { cd ${srcdir}/${_srcname}-${pkgver} - # Patches required to build against Linux 4.5 - patch -p1 < ${srcdir}/0001-Linux-3.13-Check-return-value-from-bdi_init.patch - patch -p1 < ${srcdir}/0002-Linux-4.5-no-highmem-in-symlink-ops.patch - patch -p1 < ${srcdir}/0003-Linux-4.5-get_link-instead-of-follow_link-put_link.patch - patch -p1 < ${srcdir}/0004-Linux-4.5-don-t-access-i_mutex-directly.patch - # Patch required to build against Linux 4.6 - patch -p1 < ${srcdir}/0005-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch + patch -p1 < ${srcdir}/0001-Linux-4.6-rm-PAGE_CACHE_-and-page_cache_-get-release.patch # Only needed when changes to configure were made ./regen.sh -q |