diff options
author | Michael Laß | 2023-11-08 19:04:30 +0100 |
---|---|---|
committer | Michael Laß | 2023-11-08 19:04:30 +0100 |
commit | dbb99b863d647fd0204638a69e15944afe5b3f82 (patch) | |
tree | 72a5f81ba79aeea44ffba745c406a675a7f79348 | |
parent | 08ff9654623509538494965a846119ebc4ca7028 (diff) | |
download | aur-dbb99b863d647fd0204638a69e15944afe5b3f82.tar.gz |
Prepare for Linux 6.6
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | 0001-Linux-6.5-Replace-generic_file_splice_read.patch | 6 | ||||
-rw-r--r-- | 0002-LINUX-Make-sysctl-definitions-more-concise.patch | 6 | ||||
-rw-r--r-- | 0003-Linux-6.5-Use-register_sysctl.patch | 6 | ||||
-rw-r--r-- | 0004-hcrypto-rename-abort-to-_afscrypto_abort.patch | 6 | ||||
-rw-r--r-- | 0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch | 12 | ||||
-rw-r--r-- | 0006-dir-Introduce-struct-DirEntryMax.patch | 6 | ||||
-rw-r--r-- | 0007-LINUX-Pass-an-array-of-structs-to-register_sysctl.patch | 61 | ||||
-rw-r--r-- | 0008-Linux-6.6-convert-to-ctime-accessor-functions.patch | 105 | ||||
-rw-r--r-- | 0009-Linux-6.6-Pass-request_mask-to-generic_fillattr.patch | 92 | ||||
-rw-r--r-- | PKGBUILD | 27 |
11 files changed, 314 insertions, 33 deletions
@@ -1,7 +1,7 @@ pkgbase = openafs-modules-dkms pkgdesc = Kernel module for OpenAFS (dkms) pkgver = 1.8.10 - pkgrel = 4 + pkgrel = 5 url = http://www.openafs.org arch = i686 arch = x86_64 @@ -23,13 +23,19 @@ pkgbase = openafs-modules-dkms source = 0004-hcrypto-rename-abort-to-_afscrypto_abort.patch source = 0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch source = 0006-dir-Introduce-struct-DirEntryMax.patch + source = 0007-LINUX-Pass-an-array-of-structs-to-register_sysctl.patch + source = 0008-Linux-6.6-convert-to-ctime-accessor-functions.patch + source = 0009-Linux-6.6-Pass-request_mask-to-generic_fillattr.patch sha256sums = 9fec11364623549e8db7374072f5c8f01b841f6bfe7e85673cbce35ff43ffb07 sha256sums = 5ea5e184f9b44f5ed45817d2b5a10149d15c8c54f49e0b5b4b773652673cb9b0 - sha256sums = e27ff48ca676ac8d4dc95209bd3b84fe13bb14861aa4a0e0776f3dfe7559ffab - sha256sums = 4e71ad2009125187632cdb48b2d5eccc9bcaa8ab0733751fed432cfe661ea86e - sha256sums = daaa1361d5db967bd8b72fff4038cfc933a7027e3c70d10ef6ff673a5d176cb6 - sha256sums = 40e50688a2d4d85eb9b971aaa8563e577db15550aa56c44eab8fe2a688d3f013 - sha256sums = c0792690ed273ce464966b22e36ca431196a913ded6f0def4a46154076fd0eff - sha256sums = be7e1b0304ff61ed899286fdd18ebdbe71cbbe3eb20f6ac38c5799083b339a4a + sha256sums = 9a726876e8a3f99db09cf16df994d01d31673df1953796c6fcd0bc95e3ecafa1 + sha256sums = 7ef226084bc37dd9298ff39c9bc903796ea07841efedc3906bcc4a744e96e57d + sha256sums = b1fa6425438478c79dd97dab6e32e3a8e6ed706f96c9f67c53ede367f9d1ee63 + sha256sums = 34312040d7139dd34341f567cf57e5c3ac4e1622b8a7289146f0a1204479b8a0 + sha256sums = 71ed1aee8d0b8a47ae3c1bceb82121666d8ac4b575475032e0342c45b2d380fc + sha256sums = 9422f8950311a5b2aba2a7b9b429bfe0652b2f41aaa4519a39c7b92a35513c3f + sha256sums = 8ab1ce60ef99c0a3538842f3b8e376c377ec4ca6867d1ccef7379edbb73e102d + sha256sums = 0dd8946890016f3a87869eeb79e1eedf34892d1d00903cb044b70a2e43dd81d8 + sha256sums = ae67a9390f7c9d22cc4fd06964ee5010d90fd5e4cc64ed5137aaf0b36ecfbd32 pkgname = openafs-modules-dkms diff --git a/0001-Linux-6.5-Replace-generic_file_splice_read.patch b/0001-Linux-6.5-Replace-generic_file_splice_read.patch index 53f352b403e6..4844e6280103 100644 --- a/0001-Linux-6.5-Replace-generic_file_splice_read.patch +++ b/0001-Linux-6.5-Replace-generic_file_splice_read.patch @@ -1,7 +1,7 @@ -From 04083bc9a31156e34782b689993737f7c9def427 Mon Sep 17 00:00:00 2001 +From c971e62f522699a0785d7cd028d93dbf203e793c Mon Sep 17 00:00:00 2001 From: Cheyenne Wills <cwills@sinenomine.net> Date: Sun, 9 Jul 2023 18:52:23 -0600 -Subject: [PATCH 1/6] Linux 6.5: Replace generic_file_splice_read +Subject: [PATCH 1/9] Linux 6.5: Replace generic_file_splice_read The Linux 6.5 commit: 'splice: Remove generic_file_splice_read()' (c6585011bc) @@ -63,5 +63,5 @@ index ccec38289..dd8b39d5d 100644 .release = afs_linux_release, .fsync = afs_linux_fsync, -- -2.42.0 +2.42.1 diff --git a/0002-LINUX-Make-sysctl-definitions-more-concise.patch b/0002-LINUX-Make-sysctl-definitions-more-concise.patch index 926818ad8fbb..bd28eb585ae4 100644 --- a/0002-LINUX-Make-sysctl-definitions-more-concise.patch +++ b/0002-LINUX-Make-sysctl-definitions-more-concise.patch @@ -1,7 +1,7 @@ -From 48e0bd7d929fac0cd415c7e8f7886782dcd324ef Mon Sep 17 00:00:00 2001 +From 17e481aa89cdc480d700cf9741331e12e5944049 Mon Sep 17 00:00:00 2001 From: Andrew Deason <adeason@sinenomine.net> Date: Thu, 18 Jul 2019 22:56:48 -0500 -Subject: [PATCH 2/6] LINUX: Make sysctl definitions more concise +Subject: [PATCH 2/9] LINUX: Make sysctl definitions more concise Our sysctl definitions are quite verbose, and adding new ones involves copying a bunch of lines. Make these a little easier to specify, by @@ -314,5 +314,5 @@ index 8e7dd70e1..894c49412 100644 return -1; -- -2.42.0 +2.42.1 diff --git a/0003-Linux-6.5-Use-register_sysctl.patch b/0003-Linux-6.5-Use-register_sysctl.patch index aa269d22a9f3..ae34a129e344 100644 --- a/0003-Linux-6.5-Use-register_sysctl.patch +++ b/0003-Linux-6.5-Use-register_sysctl.patch @@ -1,7 +1,7 @@ -From aef0016df74fcd3da0f6cb6622d73cd9ceb77358 Mon Sep 17 00:00:00 2001 +From c96d401d9e044e412ea162d530273476de34211a Mon Sep 17 00:00:00 2001 From: Cheyenne Wills <cwills@sinenomine.net> Date: Thu, 13 Jul 2023 10:54:22 -0600 -Subject: [PATCH 3/6] Linux 6.5: Use register_sysctl() +Subject: [PATCH 3/9] Linux 6.5: Use register_sysctl() The linux 6.5 commit: "sysctl: Remove register_sysctl_table" (b8cbc0855a) @@ -103,5 +103,5 @@ index ee22158db..811954915 100644 dnl above tests AS_IF([test "x$ac_cv_linux_func_d_alloc_anon" = "xno"], -- -2.42.0 +2.42.1 diff --git a/0004-hcrypto-rename-abort-to-_afscrypto_abort.patch b/0004-hcrypto-rename-abort-to-_afscrypto_abort.patch index 02be188f3b30..8362bf2389b6 100644 --- a/0004-hcrypto-rename-abort-to-_afscrypto_abort.patch +++ b/0004-hcrypto-rename-abort-to-_afscrypto_abort.patch @@ -1,7 +1,7 @@ -From 01d7316f6773591186f606de5e3b12de28bb0cd9 Mon Sep 17 00:00:00 2001 +From 25bebacfd7bf4461cb49bae9cae2a1e97b9cd1c5 Mon Sep 17 00:00:00 2001 From: Cheyenne Wills <cwills@sinenomine.net> Date: Sun, 9 Jul 2023 18:45:15 -0600 -Subject: [PATCH 4/6] hcrypto: rename abort to _afscrypto_abort +Subject: [PATCH 4/9] hcrypto: rename abort to _afscrypto_abort MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69,5 +69,5 @@ index 9623fa9e7..ea0f60b64 100644 static_inline ssize_t read(int d, void *buf, size_t nbytes) {return -1;} static_inline int close(int d) {return -1;} -- -2.42.0 +2.42.1 diff --git a/0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch b/0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch index 07350c17a2e2..bd4981819d21 100644 --- a/0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch +++ b/0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch @@ -1,7 +1,7 @@ -From fea2bd506b40543d6d9ec862acafb6622fb97ff8 Mon Sep 17 00:00:00 2001 +From bb5b276d6036735cfacad9b27e8d0e50eb2ef819 Mon Sep 17 00:00:00 2001 From: Cheyenne Wills <cwills@sinenomine.net> Date: Tue, 29 Aug 2023 14:58:10 -0600 -Subject: [PATCH 5/6] linux: Replace fop iterate with fop iterate_shared +Subject: [PATCH 5/9] linux: Replace fop iterate with fop iterate_shared The Linux 6.5 commit: 'vfs: get rid of old '->iterate' directory operation' (3e32715496) @@ -31,6 +31,12 @@ Tested-by: BuildBot <buildbot@rampaginggeek.com> (cherry picked from commit 7437f4d37719ea53711e06ac9675dad1abd6769e) Change-Id: Id00cfab2c0b51c2167fe19cd9cf7f136450ff174 +Reviewed-on: https://gerrit.openafs.org/15558 +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Mark Vitale <mvitale@sinenomine.net> +Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> +Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> +(cherry picked from commit 6de0a646036283266e1d4aeb583e426005ca5ad4) --- src/afs/LINUX/osi_vnodeops.c | 19 +++++++++++++++---- src/cf/linux-kernel-func.m4 | 10 ++++++++++ @@ -116,5 +122,5 @@ index 8082308e8..52e10acb8 100644 AC_CHECK_LINUX_STRUCT([file_operations], [read_iter], [fs.h]) AC_CHECK_LINUX_STRUCT([file_operations], [sendfile], [fs.h]) -- -2.42.0 +2.42.1 diff --git a/0006-dir-Introduce-struct-DirEntryMax.patch b/0006-dir-Introduce-struct-DirEntryMax.patch index 3f989fedeef7..b33a97dfb55c 100644 --- a/0006-dir-Introduce-struct-DirEntryMax.patch +++ b/0006-dir-Introduce-struct-DirEntryMax.patch @@ -1,7 +1,7 @@ -From ffd16089036e05a9db4065eb4d5ae8a217811a78 Mon Sep 17 00:00:00 2001 +From 6578eb24b6f71d3f6e5b489658d47ad2f18ff2ac Mon Sep 17 00:00:00 2001 From: Mark Vitale <mvitale@sinenomine.net> Date: Fri, 15 Sep 2023 15:01:56 -0400 -Subject: [PATCH 6/6] dir: Introduce struct DirEntryMax +Subject: [PATCH 6/9] dir: Introduce struct DirEntryMax Since the introduction of AFS3, the directory package has allocated space for each directory entry by allocating a DirEntry struct followed @@ -180,5 +180,5 @@ index f5c8eef42..a26dab0c0 100644 char flag; char length; /* currently unused */ -- -2.42.0 +2.42.1 diff --git a/0007-LINUX-Pass-an-array-of-structs-to-register_sysctl.patch b/0007-LINUX-Pass-an-array-of-structs-to-register_sysctl.patch new file mode 100644 index 000000000000..e608d56d1004 --- /dev/null +++ b/0007-LINUX-Pass-an-array-of-structs-to-register_sysctl.patch @@ -0,0 +1,61 @@ +From 3ea74b4e38a47c8dd3b2cde5445c5db7021267b1 Mon Sep 17 00:00:00 2001 +From: Cheyenne Wills <cwills@sinenomine.net> +Date: Wed, 6 Sep 2023 11:41:55 -0600 +Subject: [PATCH 7/9] LINUX: Pass an array of structs to register_sysctl + +The Linux 6.6 commit "sysctl: Add size to register_sysctl" (9edbfe92a0) +renamed the Linux function register_sysctl() to register_sysctl_sz() and +added a size parameter. For backward compatibility, a macro, +register_sysctl, is provided. The macro calculates the size of the +ctl_table being registered and passes the size to register_sysctl_sz. +However, in order to perform the size calculation, an array of ctl_table +structures must be passed as the 2nd parameter. + +This change only affects the autoconf test used to determine if Linux +provides register_sysctl. + +Update the autoconf test for register_sysctl to use an actual ctl_table +structure for the 2nd parameter instead of a NULL. + +Reviewed-on: https://gerrit.openafs.org/15559 +Reviewed-by: Andrew Deason <adeason@sinenomine.net> +Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> +Tested-by: BuildBot <buildbot@rampaginggeek.com> +(cherry picked from commit 76879b28798840fa0df441c328ada9667f06b154) + +Change-Id: I9209d9fbc4514ab658f373510decfc2e81a5dc5f +Reviewed-on: https://gerrit.openafs.org/15575 +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> +Reviewed-by: Andrew Deason <adeason@sinenomine.net> +Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> +Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> +(cherry picked from commit 5b647bf17a878271e1ce9882e41663770ee73528) +--- + src/cf/linux-kernel-func.m4 | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4 +index 145725575..105e58cce 100644 +--- a/src/cf/linux-kernel-func.m4 ++++ b/src/cf/linux-kernel-func.m4 +@@ -220,10 +220,13 @@ AC_CHECK_LINUX_FUNC([block_dirty_folio], + dnl Linux 6.5 removed the Linux function register_sysctl_table(), which + dnl was deprecated in Linux 6.3 in favor of register_sysctl() which was + dnl introduced in Linux 3.3 ++dnl Linux 6.6 changed the function register_sysctl to a macro that requires ++dnl an array of ctl_table structures as its 2nd parameter + AC_CHECK_LINUX_FUNC([register_sysctl], +- [#include <linux/kernel.h> +- #include <linux/sysctl.h>], +- [(void)register_sysctl(NULL, NULL);]) ++ [#include <linux/kernel.h> ++ #include <linux/sysctl.h>], ++ [[static struct ctl_table cf_sysctl_table[1]; ++ (void)register_sysctl(NULL, cf_sysctl_table);]]) + + dnl Linux 6.5 removed the file_operations method 'iterate'. Filesystems should + dnl using the iterate_shared method (introduced in linux 4.6). Linux 6.4 +-- +2.42.1 + diff --git a/0008-Linux-6.6-convert-to-ctime-accessor-functions.patch b/0008-Linux-6.6-convert-to-ctime-accessor-functions.patch new file mode 100644 index 000000000000..482fe7f2bb97 --- /dev/null +++ b/0008-Linux-6.6-convert-to-ctime-accessor-functions.patch @@ -0,0 +1,105 @@ +From 381607a5840eac886bbc6737e19acf5b942fe671 Mon Sep 17 00:00:00 2001 +From: Cheyenne Wills <cwills@sinenomine.net> +Date: Thu, 5 Oct 2023 14:44:49 -0600 +Subject: [PATCH 8/9] Linux 6.6: convert to ctime accessor functions + +The Linux 6.6 commit "fs: add ctime accessors infrastructure" +(9b6304c1d5) added accessor functions for an inode's ctime member. +A follow on commit "fs: rename i_ctime field to __i_ctime" (13bc244578) +changed the name of the inode member ctime to __i_ctime to indicate it's +a private member. + +Add an autoconf test for the ctime accessor function +'inode_set_ctime()'. + +Add an afs_inode_set_ctime to LINUX/osi_machdep.h that is either defined +as a macro to Linux's inode_set_ctime, or implements a static inline +function to set a inode's ctime. + +Convert the setting of an inode's ctime to use afs_inode_set_ctime(). + +For more information behind the Linux change, see the commit message +for: + "Merge tag 'v6.6-vfs.ctime' + of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs" (615e95831) + +Reviewed-on: https://gerrit.openafs.org/15560 +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Andrew Deason <adeason@sinenomine.net> +Reviewed-by: Mark Vitale <mvitale@sinenomine.net> +Tested-by: Mark Vitale <mvitale@sinenomine.net> +Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> +(cherry picked from commit 072c7934cd1b99052882f02294f7036d422b6cf1) + + Conflicts: + src/cf/linux-kernel-func.m4 (context) + +Change-Id: I729408d12a7946f5778b036ca7e2c14299f3ce8e +Reviewed-on: https://gerrit.openafs.org/15589 +Reviewed-by: Andrew Deason <adeason@sinenomine.net> +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> +Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> +(cherry picked from commit 6413fdbc913834f2884989e5811841f4ccea2b5f) +--- + src/afs/LINUX/osi_machdep.h | 11 +++++++++++ + src/afs/LINUX/osi_vnodeops.c | 3 +-- + src/cf/linux-kernel-func.m4 | 6 ++++++ + 3 files changed, 18 insertions(+), 2 deletions(-) + +diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h +index 2220e0530..f9ceb359e 100644 +--- a/src/afs/LINUX/osi_machdep.h ++++ b/src/afs/LINUX/osi_machdep.h +@@ -118,6 +118,17 @@ osi_GetTime(osi_timeval32_t *atv) + } + #endif + ++#if defined(HAVE_LINUX_INODE_SET_CTIME) ++# define afs_inode_set_ctime(inode, sec, nsec) inode_set_ctime((inode), (sec), (nsec)) ++#else ++static inline void ++afs_inode_set_ctime(struct inode *inode, time64_t sec, long nsec) ++{ ++ inode->i_ctime.tv_sec = sec; ++ inode->i_ctime.tv_nsec = nsec; ++} ++#endif ++ + #undef gop_lookupname + #define gop_lookupname osi_lookupname + +diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c +index 4e33a189e..1eb99d1d4 100644 +--- a/src/afs/LINUX/osi_vnodeops.c ++++ b/src/afs/LINUX/osi_vnodeops.c +@@ -1144,8 +1144,7 @@ vattr2inode(struct inode *ip, struct vattr *vp) + * any time the sysname list changes. + */ + ip->i_mtime.tv_nsec = afs_sysnamegen; +- ip->i_ctime.tv_sec = vp->va_ctime.tv_sec; +- ip->i_ctime.tv_nsec = 0; ++ afs_inode_set_ctime(ip, vp->va_ctime.tv_sec, 0); + } + + /* afs_notify_change +diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4 +index 105e58cce..dc26b6056 100644 +--- a/src/cf/linux-kernel-func.m4 ++++ b/src/cf/linux-kernel-func.m4 +@@ -238,6 +238,12 @@ AC_CHECK_LINUX_FUNC([wrap_directory_iterator], + #include <linux/fs.h>], + [(void)wrap_directory_iterator(NULL, NULL, NULL);]) + ++dnl Linux 6.6 requires the use of a getter/setter for accessing a inode's ++dnl ctime member. Test for the setter inode_set_ctime ++AC_CHECK_LINUX_FUNC([inode_set_ctime], ++ [#include <linux/fs.h>], ++ [inode_set_ctime(NULL, 0, 0);]) ++ + dnl Consequences - things which get set as a result of the + dnl above tests + AS_IF([test "x$ac_cv_linux_func_d_alloc_anon" = "xno"], +-- +2.42.1 + diff --git a/0009-Linux-6.6-Pass-request_mask-to-generic_fillattr.patch b/0009-Linux-6.6-Pass-request_mask-to-generic_fillattr.patch new file mode 100644 index 000000000000..1a961517969f --- /dev/null +++ b/0009-Linux-6.6-Pass-request_mask-to-generic_fillattr.patch @@ -0,0 +1,92 @@ +From 0f36a779b39e7b020f2ea841b59bfe06ddf9773f Mon Sep 17 00:00:00 2001 +From: Cheyenne Wills <cwills@sinenomine.net> +Date: Mon, 18 Sep 2023 12:23:01 -0600 +Subject: [PATCH 9/9] Linux 6.6: Pass request_mask to generic_fillattr + +The Linux 6.6 commit: "fs: pass the request_mask to generic_fillattr" +(0d72b92883) added an additional parameter to Linux's +generic_fillattr() function. + +For openafs, generic_fillattr() is called from the inode_operations +method "getattr", which is implemented in afs_linux_getattr(). The value +for the request_mask parameter is an existing parameter that is passed +to the inode_operations "getattr" method. + +Add an autoconf test for 4 parameters to the generic_fillattr function +and update afs_linux_getattr() to pass the request_mask to +generic_fillattr(). + +Reviewed-on: https://gerrit.openafs.org/15561 +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Mark Vitale <mvitale@sinenomine.net> +Tested-by: Mark Vitale <mvitale@sinenomine.net> +Reviewed-by: Andrew Deason <adeason@sinenomine.net> +Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com> +Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> +(cherry picked from commit 4fed232b80fb1ad6c0e1dfb42ed8d8e1e6821dd7) + +Change-Id: I5cddc56c5e605a6c5e4f7f3691eafec8ca589d2c +Reviewed-on: https://gerrit.openafs.org/15590 +Reviewed-by: Andrew Deason <adeason@sinenomine.net> +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> +Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> +(cherry picked from commit 4f1d8104d17d2b4e95c7abaf5498db6b80aefa8f) +--- + src/afs/LINUX/osi_vnodeops.c | 4 ++++ + src/cf/linux-kernel-assorted.m4 | 1 + + src/cf/linux-test4.m4 | 13 +++++++++++++ + 3 files changed, 18 insertions(+) + +diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c +index 1eb99d1d4..8a49781b9 100644 +--- a/src/afs/LINUX/osi_vnodeops.c ++++ b/src/afs/LINUX/osi_vnodeops.c +@@ -1195,7 +1195,11 @@ afs_linux_getattr(struct mnt_idmap *idmap, const struct path *path, struct kstat + { + int err = afs_linux_revalidate(path->dentry); + if (!err) { ++# if defined(GENERIC_FILLATTR_TAKES_REQUEST_MASK) ++ generic_fillattr(afs_mnt_idmap, request_mask, path->dentry->d_inode, stat); ++# else + generic_fillattr(afs_mnt_idmap, path->dentry->d_inode, stat); ++# endif + } + return err; + } +diff --git a/src/cf/linux-kernel-assorted.m4 b/src/cf/linux-kernel-assorted.m4 +index b3a11bc3a..49827d5be 100644 +--- a/src/cf/linux-kernel-assorted.m4 ++++ b/src/cf/linux-kernel-assorted.m4 +@@ -58,6 +58,7 @@ LINUX_IOP_LOOKUP_TAKES_UNSIGNED + LINUX_D_INVALIDATE_IS_VOID + LINUX_KERNEL_READ_OFFSET_IS_LAST + LINUX_KEYRING_SEARCH_TAKES_RECURSE ++LINUX_GENERIC_FILLATTR_TAKES_REQUEST_MASK + ]) + + +diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4 +index 0d6b645f4..f15c6b94d 100644 +--- a/src/cf/linux-test4.m4 ++++ b/src/cf/linux-test4.m4 +@@ -853,3 +853,16 @@ AC_DEFUN([LINUX_KEYRING_SEARCH_TAKES_RECURSE], [ + [define if your keyring_search has the recurse parameter], + []) + ]) ++ ++dnl Linux 6.6 added the 'request_mask' parameter to generic_fillattr. ++AC_DEFUN([LINUX_GENERIC_FILLATTR_TAKES_REQUEST_MASK], [ ++ AC_CHECK_LINUX_BUILD([whether generic_fillattr has the request_mask parameter], ++ [ac_cv_linux_func_generic_fillattr_takes_request_mask], ++ [#include <linux/fs.h>], ++ [ ++ generic_fillattr(NULL, 0, NULL, NULL); ++ ], ++ [GENERIC_FILLATTR_TAKES_REQUEST_MASK], ++ [define if your generic_fillattr has the request_mask_parameter], ++ []) ++]) +-- +2.42.1 + @@ -7,7 +7,7 @@ pkgname=openafs-modules-dkms _srcname=openafs pkgver=1.8.10 -pkgrel=4 +pkgrel=5 pkgdesc="Kernel module for OpenAFS (dkms)" arch=('i686' 'x86_64' 'armv7h') url="http://www.openafs.org" @@ -23,15 +23,21 @@ source=(http://openafs.org/dl/openafs/${pkgver}/${_srcname}-${pkgver}-src.tar.bz 0003-Linux-6.5-Use-register_sysctl.patch 0004-hcrypto-rename-abort-to-_afscrypto_abort.patch 0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch - 0006-dir-Introduce-struct-DirEntryMax.patch) + 0006-dir-Introduce-struct-DirEntryMax.patch + 0007-LINUX-Pass-an-array-of-structs-to-register_sysctl.patch + 0008-Linux-6.6-convert-to-ctime-accessor-functions.patch + 0009-Linux-6.6-Pass-request_mask-to-generic_fillattr.patch) sha256sums=('9fec11364623549e8db7374072f5c8f01b841f6bfe7e85673cbce35ff43ffb07' '5ea5e184f9b44f5ed45817d2b5a10149d15c8c54f49e0b5b4b773652673cb9b0' - 'e27ff48ca676ac8d4dc95209bd3b84fe13bb14861aa4a0e0776f3dfe7559ffab' - '4e71ad2009125187632cdb48b2d5eccc9bcaa8ab0733751fed432cfe661ea86e' - 'daaa1361d5db967bd8b72fff4038cfc933a7027e3c70d10ef6ff673a5d176cb6' - '40e50688a2d4d85eb9b971aaa8563e577db15550aa56c44eab8fe2a688d3f013' - 'c0792690ed273ce464966b22e36ca431196a913ded6f0def4a46154076fd0eff' - 'be7e1b0304ff61ed899286fdd18ebdbe71cbbe3eb20f6ac38c5799083b339a4a') + '9a726876e8a3f99db09cf16df994d01d31673df1953796c6fcd0bc95e3ecafa1' + '7ef226084bc37dd9298ff39c9bc903796ea07841efedc3906bcc4a744e96e57d' + 'b1fa6425438478c79dd97dab6e32e3a8e6ed706f96c9f67c53ede367f9d1ee63' + '34312040d7139dd34341f567cf57e5c3ac4e1622b8a7289146f0a1204479b8a0' + '71ed1aee8d0b8a47ae3c1bceb82121666d8ac4b575475032e0342c45b2d380fc' + '9422f8950311a5b2aba2a7b9b429bfe0652b2f41aaa4519a39c7b92a35513c3f' + '8ab1ce60ef99c0a3538842f3b8e376c377ec4ca6867d1ccef7379edbb73e102d' + '0dd8946890016f3a87869eeb79e1eedf34892d1d00903cb044b70a2e43dd81d8' + 'ae67a9390f7c9d22cc4fd06964ee5010d90fd5e4cc64ed5137aaf0b36ecfbd32') prepare() { cd "${srcdir}/${_srcname}-${pkgver}" @@ -44,6 +50,11 @@ prepare() { patch -p1 < "${srcdir}"/0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch patch -p1 < "${srcdir}"/0006-dir-Introduce-struct-DirEntryMax.patch + # Patches for Linux 6.6 + patch -p1 < "${srcdir}"/0007-LINUX-Pass-an-array-of-structs-to-register_sysctl.patch + patch -p1 < "${srcdir}"/0008-Linux-6.6-convert-to-ctime-accessor-functions.patch + patch -p1 < "${srcdir}"/0009-Linux-6.6-Pass-request_mask-to-generic_fillattr.patch + # Only needed when changes to configure were made ./regen.sh -q } |