summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Laß2024-01-19 18:36:51 +0100
committerMichael Laß2024-01-19 18:36:51 +0100
commit295ad0060c18d91abb448c7440f66b9acef7db49 (patch)
tree2c5ea3abc00476f3488872d2b6e40e8908a9c3a8
parentab54f29066583ec32203f1229efb3c1bedb15ec5 (diff)
downloadaur-295ad0060c18d91abb448c7440f66b9acef7db49.tar.gz
Update to 1.8.11pre1
-rw-r--r--.SRCINFO30
-rw-r--r--0001-Linux-6.5-Replace-generic_file_splice_read.patch67
-rw-r--r--0002-LINUX-Make-sysctl-definitions-more-concise.patch318
-rw-r--r--0003-Linux-6.5-Use-register_sysctl.patch107
-rw-r--r--0004-hcrypto-rename-abort-to-_afscrypto_abort.patch73
-rw-r--r--0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch126
-rw-r--r--0006-dir-Introduce-struct-DirEntryFlex.patch236
-rw-r--r--0007-LINUX-Pass-an-array-of-structs-to-register_sysctl.patch61
-rw-r--r--0008-Linux-6.6-convert-to-ctime-accessor-functions.patch105
-rw-r--r--0009-Linux-6.6-Pass-request_mask-to-generic_fillattr.patch92
-rw-r--r--0010-Linux-6.7-convert-to-inode-a-mtime-accessor-funcs.patch144
-rw-r--r--PKGBUILD50
12 files changed, 12 insertions, 1397 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 77ed5e4d070d..4ba11c839714 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = openafs-modules-dkms
pkgdesc = Kernel module for OpenAFS (dkms)
- pkgver = 1.8.10
- pkgrel = 6
+ pkgver = 1.8.11pre1
+ pkgrel = 1
url = http://www.openafs.org
arch = i686
arch = x86_64
@@ -10,34 +10,14 @@ pkgbase = openafs-modules-dkms
depends = dkms
depends = libelf
depends = openafs
- provides = openafs-modules=1.8.10
+ provides = openafs-modules=1.8.11pre1
conflicts = openafs-features-libafs
conflicts = openafs-modules
conflicts = openafs<1.6.6-2
options = !emptydirs
- source = http://openafs.org/dl/openafs/1.8.10/openafs-1.8.10-src.tar.bz2
+ source = http://openafs.org/dl/openafs/candidate/1.8.11pre1/openafs-1.8.11pre1-src.tar.bz2
source = dkms.conf
- source = 0001-Linux-6.5-Replace-generic_file_splice_read.patch
- source = 0002-LINUX-Make-sysctl-definitions-more-concise.patch
- source = 0003-Linux-6.5-Use-register_sysctl.patch
- 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-DirEntryFlex.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
- source = 0010-Linux-6.7-convert-to-inode-a-mtime-accessor-funcs.patch
- sha256sums = 9fec11364623549e8db7374072f5c8f01b841f6bfe7e85673cbce35ff43ffb07
+ sha256sums = dfdb4bcd79e060180ebfd127d0447eceb716be0fbe07712ee7f9ac1904b42c82
sha256sums = 5ea5e184f9b44f5ed45817d2b5a10149d15c8c54f49e0b5b4b773652673cb9b0
- sha256sums = 91cf2ee76afaacd7f85ec3cc9bcf35920f54e8b11b68b3b3d8036af742a44e4d
- sha256sums = 0779c389864cf514a04734abd318a4e98db88889b04b2fdbe8e2a3816cb872eb
- sha256sums = e22896c9cff526e01336849e2032c235707450cf93f6131a8a7e3c86d84e8e5c
- sha256sums = 5dacbca5a5afa6ff99b2976fcc70fa760a4f5e9286c21a05ec233b09ce37bb11
- sha256sums = 5213e96c818842210736927e9ef5669fb6b35e6755bb71995fadf3c2ba44e04c
- sha256sums = ee60fa3f52a397510eb5c6e2e664eb4e66e9620180a74e54d9c8e9677691f8f0
- sha256sums = 2f2bea9c8a9ea6122af2456725faa41b014687b1681a3c20a0918adf879bfb86
- sha256sums = 12f2f983dd7845758a1d0e6ab1c85358c5660022137dc4f00c3a3d4f8443e7f3
- sha256sums = 37abfa35b2b78956e258137fc66197c118084802f1fb17d4ab9546010c693e6d
- sha256sums = cf47ce835da5015d4b0621223a4edad5b096790a4aecac2f6141b70164598243
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
deleted file mode 100644
index 95b878cecb32..000000000000
--- a/0001-Linux-6.5-Replace-generic_file_splice_read.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-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 01/10] Linux 6.5: Replace generic_file_splice_read
-
-The Linux 6.5 commit:
- 'splice: Remove generic_file_splice_read()' (c6585011bc)
-replaces the function generic_file_splice_read() with the function
-filemap_splice_read().
-
-The Linux function 'filemap_splice_read()' was introduced with the
-Linux 6.3 commits:
-
- 'splice: Add a func to do a splice from a buffered file without
- ITER_PIPE' (07073eb01c)
- 'splice: Export filemap/direct_splice_read()' (7c8e01ebf2)
-
-With updates in Linux 6.5:
- 'splice: Fix filemap_splice_read() to use the correct inode'
- (c37222082f) -- which fixes a problem in the code.
- 'splice: Make filemap_splice_read() check s_maxbytes' (83aeff881e)
-
-Due to the fact that there could be problems with splice support prior
-to Linux 6.5 (where filemap_splice_read()'s use was expanded to
-additional filesystems other than just cifs), we only want to use
-'filemap_splice_read()' in Linux 6.5 and later.
-
-The LINUX/osi_vnodeops.c file is updated to use 'filemap_splice_read()',
-for Linux 6.5 and later, for the splice_read member of the
-file_operations structure.
-
-Reviewed-on: https://gerrit.openafs.org/15486
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Andrew Deason <adeason@sinenomine.net>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit 0e06eb78f293bb295b0fe12da24abd8dc1160149)
-
-Change-Id: I3b5436234d275253a37987dc40a522ae8f3cae1e
-Reviewed-on: https://gerrit.openafs.org/15520
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
-Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
-Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
-(cherry picked from commit fef245769366efe8694ddadd1e1f2ed5ef8608f4)
----
- src/afs/LINUX/osi_vnodeops.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
-index ccec38289..dd8b39d5d 100644
---- a/src/afs/LINUX/osi_vnodeops.c
-+++ b/src/afs/LINUX/osi_vnodeops.c
-@@ -960,7 +960,11 @@ struct file_operations afs_file_fops = {
- # else
- .splice_write = generic_file_splice_write,
- # endif
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(6,5,0)
-+ .splice_read = filemap_splice_read,
-+# else
- .splice_read = generic_file_splice_read,
-+# endif
- #endif
- .release = afs_linux_release,
- .fsync = afs_linux_fsync,
---
-2.43.0
-
diff --git a/0002-LINUX-Make-sysctl-definitions-more-concise.patch b/0002-LINUX-Make-sysctl-definitions-more-concise.patch
deleted file mode 100644
index c206b52788f0..000000000000
--- a/0002-LINUX-Make-sysctl-definitions-more-concise.patch
+++ /dev/null
@@ -1,318 +0,0 @@
-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 02/10] 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
-defining some new preprocessor macros.
-
-Reviewed-on: https://gerrit.openafs.org/13700
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-Tested-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit 1b0bb8a7fcbd69d513ed30bb76fd0693d1bd3319)
-
-Change-Id: Ib656634ed956b845c89656069aa297253acce785
-Reviewed-on: https://gerrit.openafs.org/15521
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Andrew Deason <adeason@sinenomine.net>
-Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
-Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
-Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
-(cherry picked from commit d15c7ab50c92671052cbe9a93b0440c81156d8aa)
----
- src/afs/LINUX/osi_sysctl.c | 252 +++++++------------------------------
- 1 file changed, 45 insertions(+), 207 deletions(-)
-
-diff --git a/src/afs/LINUX/osi_sysctl.c b/src/afs/LINUX/osi_sysctl.c
-index 8e7dd70e1..894c49412 100644
---- a/src/afs/LINUX/osi_sysctl.c
-+++ b/src/afs/LINUX/osi_sysctl.c
-@@ -18,6 +18,8 @@
- #include <linux/config.h>
- #endif
-
-+#ifdef CONFIG_SYSCTL
-+
- /* From afs_util.c */
- extern afs_int32 afs_md5inum;
-
-@@ -31,206 +33,48 @@ extern afs_int32 afs_blocksUsed_2;
- extern afs_int32 afs_pct1;
- extern afs_int32 afs_pct2;
-
--#ifdef CONFIG_SYSCTL
-+# ifdef STRUCT_CTL_TABLE_HAS_CTL_NAME
-+# ifdef CTL_UNNUMBERED
-+# define AFS_SYSCTL_NAME(num) .ctl_name = CTL_UNNUMBERED,
-+# else
-+# define AFS_SYSCTL_NAME(num) .ctl_name = num,
-+# endif
-+# else
-+# define AFS_SYSCTL_NAME(num)
-+# endif
-+
-+# define AFS_SYSCTL_INT2(num, perms, name, var) { \
-+ AFS_SYSCTL_NAME(num) \
-+ .procname = name, \
-+ .data = &var, \
-+ .maxlen = sizeof(var), \
-+ .mode = perms, \
-+ .proc_handler = &proc_dointvec \
-+}
-+# define AFS_SYSCTL_INT(num, perms, var) \
-+ AFS_SYSCTL_INT2(num, perms, #var, var)
-+
- static struct ctl_table_header *afs_sysctl = NULL;
-
- static struct ctl_table afs_sysctl_table[] = {
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 1,
--#endif
--#endif
-- .procname = "hm_retry_RO",
-- .data = &hm_retry_RO,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 2,
--#endif
--#endif
-- .procname = "hm_retry_RW",
-- .data = &hm_retry_RW,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 3,
--#endif
--#endif
-- .procname = "hm_retry_int",
-- .data = &hm_retry_int,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 4,
--#endif
--#endif
-- .procname = "GCPAGs",
-- .data = &afs_gcpags,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 5,
--#endif
--#endif
-- .procname = "rx_deadtime",
-- .data = &afs_rx_deadtime,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 6,
--#endif
--#endif
-- .procname = "bkVolPref",
-- .data = &afs_bkvolpref,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 7,
--#endif
--#endif
-- .procname = "afs_blocksUsed",
-- .data = &afs_blocksUsed,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0444,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 8,
--#endif
--#endif
-- .procname = "afs_blocksUsed_0",
-- .data = &afs_blocksUsed_0,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 9,
--#endif
--#endif
-- .procname = "afs_blocksUsed_1",
-- .data = &afs_blocksUsed_1,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 10,
--#endif
--#endif
-- .procname = "afs_blocksUsed_2",
-- .data = &afs_blocksUsed_2,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 11,
--#endif
--#endif
-- .procname = "afs_pct1",
-- .data = &afs_pct1,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 12,
--#endif
--#endif
-- .procname = "afs_pct2",
-- .data = &afs_pct2,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 13,
--#endif
--#endif
-- .procname = "afs_cacheBlocks",
-- .data = &afs_cacheBlocks,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 14,
--#endif
--#endif
-- .procname = "md5inum",
-- .data = &afs_md5inum,
-- .maxlen = sizeof(afs_int32),
-- .mode = 0644,
-- .proc_handler = &proc_dointvec
-- },
-+ AFS_SYSCTL_INT(1, 0644, hm_retry_RO),
-+ AFS_SYSCTL_INT(2, 0644, hm_retry_RW),
-+ AFS_SYSCTL_INT(3, 0644, hm_retry_int),
-+
-+ AFS_SYSCTL_INT2(4, 0644, "GCPAGs", afs_gcpags),
-+ AFS_SYSCTL_INT2(5, 0644, "rx_deadtime", afs_rx_deadtime),
-+ AFS_SYSCTL_INT2(6, 0644, "bkVolPref", afs_bkvolpref),
-+
-+ AFS_SYSCTL_INT( 7, 0444, afs_blocksUsed),
-+ AFS_SYSCTL_INT( 8, 0644, afs_blocksUsed_0),
-+ AFS_SYSCTL_INT( 9, 0644, afs_blocksUsed_1),
-+ AFS_SYSCTL_INT(10, 0644, afs_blocksUsed_2),
-+
-+ AFS_SYSCTL_INT( 11, 0644, afs_pct1),
-+ AFS_SYSCTL_INT( 12, 0644, afs_pct2),
-+ AFS_SYSCTL_INT( 13, 0644, afs_cacheBlocks),
-+ AFS_SYSCTL_INT2(14, 0644, "md5inum", afs_md5inum),
-+
- {
- .procname = 0
- }
-@@ -238,13 +82,7 @@ static struct ctl_table afs_sysctl_table[] = {
-
- static struct ctl_table fs_sysctl_table[] = {
- {
--#if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
--#if defined(CTL_UNNUMBERED)
-- .ctl_name = CTL_UNNUMBERED,
--#else
-- .ctl_name = 1,
--#endif
--#endif
-+ AFS_SYSCTL_NAME(1)
- .procname = "afs",
- .mode = 0555,
- .child = afs_sysctl_table
-@@ -257,11 +95,11 @@ static struct ctl_table fs_sysctl_table[] = {
- int
- osi_sysctl_init(void)
- {
--#if defined(REGISTER_SYSCTL_TABLE_NOFLAG)
-+# if defined(REGISTER_SYSCTL_TABLE_NOFLAG)
- afs_sysctl = register_sysctl_table(fs_sysctl_table);
--#else
-+# else
- afs_sysctl = register_sysctl_table(fs_sysctl_table, 0);
--#endif
-+# endif
- if (!afs_sysctl)
- return -1;
-
---
-2.43.0
-
diff --git a/0003-Linux-6.5-Use-register_sysctl.patch b/0003-Linux-6.5-Use-register_sysctl.patch
deleted file mode 100644
index ddec4dca84f4..000000000000
--- a/0003-Linux-6.5-Use-register_sysctl.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-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 03/10] Linux 6.5: Use register_sysctl()
-
-The linux 6.5 commit:
- "sysctl: Remove register_sysctl_table" (b8cbc0855a)
-removed the Linux function register_sysctl_table(). The replacement
-function is register_sysctl(), which offers a simpler interface.
-
-Add an autoconf test for the Linux function register_sysctl and add a
-call to register_sysctl when available.
-
-Notes:
-The Linux function register_sysctl was added in Linux 3.3 with the
-commit:
- 'sysctl: Add register_sysctl for normal sysctl users' (fea478d410)
-with a note that it is a simpler interface.
-
-The function register_sysctl_table was marked as deprecated with the
-Linux 6.3 commit:
- 'proc_sysctl: enhance documentation' (1dc8689e4c)
-
-Reviewed-on: https://gerrit.openafs.org/15500
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit fb31d299e6caa015f6288ba9186da6277d3d6a8d)
-
-Change-Id: I60f68f1dd95c32bada7179e98250fd44d7c2ddf3
-Reviewed-on: https://gerrit.openafs.org/15522
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
-Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
-Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
-(cherry picked from commit 63801cfd1fc06ec3259fcfd67229f3a3c70447ed)
----
- src/afs/LINUX/osi_sysctl.c | 8 +++++---
- src/cf/linux-kernel-assorted.m4 | 4 +++-
- src/cf/linux-kernel-func.m4 | 8 ++++++++
- 3 files changed, 16 insertions(+), 4 deletions(-)
-
-diff --git a/src/afs/LINUX/osi_sysctl.c b/src/afs/LINUX/osi_sysctl.c
-index 894c49412..a0a039892 100644
---- a/src/afs/LINUX/osi_sysctl.c
-+++ b/src/afs/LINUX/osi_sysctl.c
-@@ -79,7 +79,7 @@ static struct ctl_table afs_sysctl_table[] = {
- .procname = 0
- }
- };
--
-+# if !defined(HAVE_LINUX_REGISTER_SYSCTL)
- static struct ctl_table fs_sysctl_table[] = {
- {
- AFS_SYSCTL_NAME(1)
-@@ -91,11 +91,13 @@ static struct ctl_table fs_sysctl_table[] = {
- .procname = 0
- }
- };
--
-+# endif
- int
- osi_sysctl_init(void)
- {
--# if defined(REGISTER_SYSCTL_TABLE_NOFLAG)
-+# if defined(HAVE_LINUX_REGISTER_SYSCTL)
-+ afs_sysctl = register_sysctl("afs", afs_sysctl_table);
-+# elif defined(REGISTER_SYSCTL_TABLE_NOFLAG)
- afs_sysctl = register_sysctl_table(fs_sysctl_table);
- # else
- afs_sysctl = register_sysctl_table(fs_sysctl_table, 0);
-diff --git a/src/cf/linux-kernel-assorted.m4 b/src/cf/linux-kernel-assorted.m4
-index 03d5f6583..b3a11bc3a 100644
---- a/src/cf/linux-kernel-assorted.m4
-+++ b/src/cf/linux-kernel-assorted.m4
-@@ -39,7 +39,9 @@ LINUX_LINUX_KEYRING_SUPPORT
- LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK
- LINUX_KEY_ALLOC_NEEDS_CRED
- LINUX_INIT_WORK_HAS_DATA
--LINUX_REGISTER_SYSCTL_TABLE_NOFLAG
-+dnl Don't bother checking register_sysctl_table if using register_sysctl
-+AS_IF([test "x$ac_cv_linux_func_register_sysctl" != "xyes"],
-+ [LINUX_REGISTER_SYSCTL_TABLE_NOFLAG])
- LINUX_HAVE_DCACHE_LOCK
- LINUX_D_COUNT_IS_INT
- LINUX_IOP_GETATTR_TAKES_PATH_STRUCT
-diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4
-index ee22158db..811954915 100644
---- a/src/cf/linux-kernel-func.m4
-+++ b/src/cf/linux-kernel-func.m4
-@@ -217,6 +217,14 @@ AC_CHECK_LINUX_FUNC([block_dirty_folio],
- #include <linux/buffer_head.h>],
- [block_dirty_folio(NULL, NULL);])
-
-+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
-+AC_CHECK_LINUX_FUNC([register_sysctl],
-+ [#include <linux/kernel.h>
-+ #include <linux/sysctl.h>],
-+ [(void)register_sysctl(NULL, NULL);])
-+
- 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.43.0
-
diff --git a/0004-hcrypto-rename-abort-to-_afscrypto_abort.patch b/0004-hcrypto-rename-abort-to-_afscrypto_abort.patch
deleted file mode 100644
index 6306fadf74dd..000000000000
--- a/0004-hcrypto-rename-abort-to-_afscrypto_abort.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-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 04/10] hcrypto: rename abort to _afscrypto_abort
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The Linux 6.5 commit:
- panic: make function declarations visible (d9cdb43189)
-added a declaration for abort into panic.h.
-
-When building the Linux kernel module, the build fails with the
-following:
-
- src/crypto/hcrypto/kernel/config.h:95:20: error: static declaration of
- ‘abort’ follows non-static declaration
- 95 | static_inline void abort(void) {osi_Panic("hckernel aborting\n"
- );}
- | ^~~~~
- ...
- from ./include/linux/wait.h:9,
- from /openafs/src/afs/sysincludes.h:118,
- from /openafs/src/crypto/hcrypto/kernel/config.h:30:
- ./include/linux/panic.h:36:6: note: previous declaration of ‘abort’
- with type ‘void(void)’
- 36 | void abort(void);
- | ^~~~~
-
-Update the declaration in hcrypto/kernel/config.h to change the function
-name from abort to _afscrypto_abort and use a preprocessor define to
-map abort to _afscrypto_abort.
-
-Reviewed-on: https://gerrit.openafs.org/15501
-Reviewed-by: Andrew Deason <adeason@sinenomine.net>
-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 c4c16890d9d2829f6bef1ef58feafb30b1d59da3)
-
-Change-Id: I54cc9156b98320d04fe6f7bb595a150d5ba87b49
-Reviewed-on: https://gerrit.openafs.org/15523
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
-Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
-Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
-(cherry picked from commit 538f450033a67e251b473ff92238b3124b85fc72)
----
- src/crypto/hcrypto/kernel/config.h | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/crypto/hcrypto/kernel/config.h b/src/crypto/hcrypto/kernel/config.h
-index 9623fa9e7..ea0f60b64 100644
---- a/src/crypto/hcrypto/kernel/config.h
-+++ b/src/crypto/hcrypto/kernel/config.h
-@@ -91,7 +91,13 @@ extern int osi_readRandom(void *, afs_size_t);
- static_inline pid_t getpid(void) {return 1;};
- #endif
- static_inline int open(const char *path, int flags, ...) {return -1;}
--static_inline void abort(void) {osi_Panic("hckernel aborting\n");}
-+
-+#ifdef abort
-+# undef abort
-+#endif
-+#define abort _afscrypto_abort
-+static_inline void _afscrypto_abort(void) {osi_Panic("hckernel aborting\n");}
-+
- static_inline void rk_cloexec(int fd) {}
- static_inline ssize_t read(int d, void *buf, size_t nbytes) {return -1;}
- static_inline int close(int d) {return -1;}
---
-2.43.0
-
diff --git a/0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch b/0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch
deleted file mode 100644
index 4793e9632d40..000000000000
--- a/0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-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 05/10] linux: Replace fop iterate with fop iterate_shared
-
-The Linux 6.5 commit:
- 'vfs: get rid of old '->iterate' directory operation' (3e32715496)
-removed the filesystem_operations iterate method. The replacement
-method, iterate_shared, was introduced with the Linux 4.6 commit:
- 'introduce a parallel variant of ->iterate()' (6192269444)
-
-The above commits indicate that the iterate_shared is an "almost"
-drop-in replacement for iterate. The vfs documentation for
-iterate_shared has caveats on the implementation (serializing in-core
-per-inode or per-dentry modifications and using d_alloc_parallel if
-doing dcache pre-seeding). A wrapper is provided to assist filesystems
-with the migration from iterate to iterate_shared. Until it can be
-verified that afs_linux_readdir meets the above requirements, we will
-use the wrapper (ref 3e32715496 commit)
-
-Add configure tests for the iterate_shared file_operations member and
-for the wrap_directory_iterator function.
-
-Update osi_vnodeops.c to use iterate_shared and the wrapper if they are
-both available.
-
-Reviewed-on: https://gerrit.openafs.org/15528
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-Reviewed-by: Andrew Deason <adeason@sinenomine.net>
-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 ++++++++++
- src/cf/linux-kernel-struct.m4 | 1 +
- 3 files changed, 26 insertions(+), 4 deletions(-)
-
-diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
-index dd8b39d5d..fb62752e6 100644
---- a/src/afs/LINUX/osi_vnodeops.c
-+++ b/src/afs/LINUX/osi_vnodeops.c
-@@ -54,14 +54,16 @@
- # define D_SPLICE_ALIAS_RACE
- #endif
-
-+#if defined(STRUCT_FILE_OPERATIONS_HAS_ITERATE_SHARED) && defined(HAVE_LINUX_WRAP_DIRECTORY_ITERATOR)
-+# define USE_FOP_ITERATE 1
-+#elif defined(STRUCT_FILE_OPERATIONS_HAS_ITERATE) && !defined(FMODE_KABI_ITERATE)
- /* Workaround for RH 7.5 which introduced file operation iterate() but requires
- * each file->f_mode to be marked with FMODE_KABI_ITERATE. Instead OpenAFS will
- * continue to use file opearation readdir() in this case.
- */
--#if defined(STRUCT_FILE_OPERATIONS_HAS_ITERATE) && !defined(FMODE_KABI_ITERATE)
--#define USE_FOP_ITERATE 1
-+# define USE_FOP_ITERATE 1
- #else
--#undef USE_FOP_ITERATE
-+# undef USE_FOP_ITERATE
- #endif
-
- /* Kernels from before 2.6.19 may not be able to return errors from
-@@ -909,10 +911,19 @@ out:
- crfree(credp);
- return afs_convert_code(code);
- }
-+#if defined(STRUCT_FILE_OPERATIONS_HAS_ITERATE_SHARED) && defined(HAVE_LINUX_WRAP_DIRECTORY_ITERATOR)
-+# if defined(WRAP_DIR_ITER)
-+WRAP_DIR_ITER(afs_linux_readdir) /* Adds necessary locking for iterate_shared */
-+# else
-+# error the Linux provided macro WRAP_DIR_ITER is not available
-+# endif
-+#endif
-
- struct file_operations afs_dir_fops = {
- .read = generic_read_dir,
--#if defined(USE_FOP_ITERATE)
-+#if defined(STRUCT_FILE_OPERATIONS_HAS_ITERATE_SHARED) && defined(HAVE_LINUX_WRAP_DIRECTORY_ITERATOR)
-+ .iterate_shared = shared_afs_linux_readdir,
-+#elif defined(USE_FOP_ITERATE)
- .iterate = afs_linux_readdir,
- #else
- .readdir = afs_linux_readdir,
-diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4
-index 811954915..145725575 100644
---- a/src/cf/linux-kernel-func.m4
-+++ b/src/cf/linux-kernel-func.m4
-@@ -225,6 +225,16 @@ AC_CHECK_LINUX_FUNC([register_sysctl],
- #include <linux/sysctl.h>],
- [(void)register_sysctl(NULL, NULL);])
-
-+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
-+dnl provides a wrapper that can be used for filesystems that haven't fully
-+dnl converted to meet the iterate_shared requirements.
-+
-+AC_CHECK_LINUX_FUNC([wrap_directory_iterator],
-+ [#include <linux/kernel.h>
-+ #include <linux/fs.h>],
-+ [(void)wrap_directory_iterator(NULL, NULL, NULL);])
-+
- 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"],
-diff --git a/src/cf/linux-kernel-struct.m4 b/src/cf/linux-kernel-struct.m4
-index 8082308e8..52e10acb8 100644
---- a/src/cf/linux-kernel-struct.m4
-+++ b/src/cf/linux-kernel-struct.m4
-@@ -23,6 +23,7 @@ AC_CHECK_LINUX_STRUCT([inode], [i_mutex], [fs.h])
- AC_CHECK_LINUX_STRUCT([inode], [i_security], [fs.h])
- AC_CHECK_LINUX_STRUCT([file], [f_path], [fs.h])
- AC_CHECK_LINUX_STRUCT([file_operations], [flock], [fs.h])
-+AC_CHECK_LINUX_STRUCT([file_operations], [iterate_shared], [fs.h])
- AC_CHECK_LINUX_STRUCT([file_operations], [iterate], [fs.h])
- AC_CHECK_LINUX_STRUCT([file_operations], [read_iter], [fs.h])
- AC_CHECK_LINUX_STRUCT([file_operations], [sendfile], [fs.h])
---
-2.43.0
-
diff --git a/0006-dir-Introduce-struct-DirEntryFlex.patch b/0006-dir-Introduce-struct-DirEntryFlex.patch
deleted file mode 100644
index 1f1c52dac5b7..000000000000
--- a/0006-dir-Introduce-struct-DirEntryFlex.patch
+++ /dev/null
@@ -1,236 +0,0 @@
-From d8d6ce951cc2f937cfe9369ab940c278909c26d2 Mon Sep 17 00:00:00 2001
-From: Mark Vitale <mvitale@sinenomine.net>
-Date: Fri, 15 Sep 2023 15:01:56 -0400
-Subject: [PATCH 06/10] dir: Introduce struct DirEntryFlex
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The directory package as implemented in AFS-2 allocates space for each
-directory entry as a DirEntry struct followed by 0-8 contiguous
-DirXEntry structs, as needed. This is implemented by:
-
- - afs_dir_NameBlobs calculates the number of blocks needed
- - FindBlobs allocates and returns index of entry
- - afs_dir_GetBlob returns pointer to 1st DirEntry struct
-
-After this, we populate DirEntry (and any contiguous DirXEntry blocks)
-with open code. Most existing code writes the entry's name via a string
-copy operation to DirEntry->name, which is only 16 bytes long.
-Therefore, for dir entry names that are 16 bytes or longer, OpenAFS
-routinely does string copies that look like buffer overruns. This has
-not previously caused problems because the OpenAFS code has arranged for
-a sufficiently large amount of contiguous memory to be available.
-However, this remains undefined behavior in the C abstract virtual
-machine; thus compilers are not required to produce safe operation.
-
-Recent changes in the OpenAFS build chain have made this approach no
-longer viable:
-
-1) Linux 6.5 commit df8fc4e934c12b 'kbuild: Enable
--fstrict-flex-arrays=3' modified the hardening of several kernel
-string operations when running with CONFIG_FORTIFY_SOURCE=y.
-
-2) gcc 13 commit 79a89108dd352cd9288f5de35481b1280c7588a5
-'__builtin_dynamic_object_size: Recognize builtin' provides some
-enhancements to _builtin_object_size. The Linux commit above will now
-use these when the kernel is built with gcc 13.
-
-When OpenAFS is built under Linux 6.5 or higher and gcc 13 or higher,
-the hardened strlcpy will BUG for directory entry names longer than 16
-characters.
-
-Since there are multiple places where OpenAFS writes directory names,
-there are several symptoms that may manifest. However, the first one is
-usually a kernel BUG at cache manager initialization if running with
-afsd -dynroot _and_ there are any cell names 15 characters or longer in
-the client CellServDB. (A 15-character cellname reaches the 16
-character limit when -dyrnoot adds the RW mountpoint ".<cellname>".)
-
-Address this by using flexible arrays (standardized with C99). A
-flexible array is a variable-length array that is declared with no size
-at all, e.g., name[].
-
-Create an autoconf test to determine whether the compiler supports
-flexible arrays.
-
-Create a new struct DirEntryFlex. If the compiler supports
-flexible arrays, define name[]; otherwise retain the name[16]
-definition.
-
-Whenever we write a directory name, use DirEntryFlex so that any
-hardening will be satisfied that there is sufficient space for the name.
-
-However, the actual guarantee that this is true is still provided by the
-OpenAFS directory routines mentioned above - all of these remain
-unchanged.
-
-The DirEntry struct remains unchanged for continued use in OpenAFS, as
-well as for any out-of-tree users of the directory package.
-
-Reviewed-on: https://gerrit.openafs.org/15573
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
-(cherry picked from commit e2ec16cf941b0aadfbd54fc2f52edd58b62e232d)
-
-Change-Id: Ibf6d3549ba1e941c957e98ef4875152d865c9358
-Reviewed-on: https://gerrit.openafs.org/15599
-Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
-Reviewed-by: Andrew Deason <adeason@sinenomine.net>
-Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
-Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit fd527549c2d2b29a955f8c0427ac67c5d49ef38c)
----
- acinclude.m4 | 1 +
- src/afs/LINUX/osi_vnodeops.c | 4 ++--
- src/afs/afs_dynroot.c | 4 ++--
- src/cf/c-flexible-array.m4 | 16 ++++++++++++++++
- src/dir/dir.c | 4 ++--
- src/dir/dir.h | 26 ++++++++++++++++++++++++++
- 6 files changed, 49 insertions(+), 6 deletions(-)
- create mode 100644 src/cf/c-flexible-array.m4
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 16339682d..812bece98 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -56,6 +56,7 @@ OPENAFS_HCRYPTO
- OPENAFS_CURSES
- OPENAFS_C_ATTRIBUTE
- OPENAFS_C_PRAGMA
-+OPENAFS_C_FLEXIBLE_ARRAY
- OPENAFS_MORE_ROKEN_CHECKS
- OPENAFS_NETDB_CHECKS
- OPENAFS_ROKEN_HEADERS
-diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
-index fb62752e6..dc1e32f98 100644
---- a/src/afs/LINUX/osi_vnodeops.c
-+++ b/src/afs/LINUX/osi_vnodeops.c
-@@ -426,7 +426,7 @@ afs_linux_readdir(struct file *fp, void *dirbuf, filldir_t filldir)
- int code;
- int offset;
- afs_int32 dirpos;
-- struct DirEntry *de;
-+ struct DirEntryFlex *de;
- struct DirBuffer entry;
- ino_t ino;
- int len;
-@@ -531,7 +531,7 @@ afs_linux_readdir(struct file *fp, void *dirbuf, filldir_t filldir)
- goto unlock_out;
- }
-
-- de = (struct DirEntry *)entry.data;
-+ de = entry.data;
- ino = afs_calc_inum (avc->f.fid.Cell, avc->f.fid.Fid.Volume,
- ntohl(de->fid.vnode));
- len = strlen(de->name);
-diff --git a/src/afs/afs_dynroot.c b/src/afs/afs_dynroot.c
-index 281b168eb..37200abc1 100644
---- a/src/afs/afs_dynroot.c
-+++ b/src/afs/afs_dynroot.c
-@@ -228,7 +228,7 @@ afs_dynroot_addDirEnt(struct DirHeader *dirHeader, int *curPageP,
- {
- char *dirBase = (char *)dirHeader;
- struct PageHeader *pageHeader;
-- struct DirEntry *dirEntry;
-+ struct DirEntryFlex *dirEntry;
- int sizeOfEntry, i, t1, t2;
- int curPage = *curPageP;
- int curChunk = *curChunkP;
-@@ -257,7 +257,7 @@ afs_dynroot_addDirEnt(struct DirHeader *dirHeader, int *curPageP,
- dirHeader->alloMap[curPage] = EPP - 1;
- }
-
-- dirEntry = (struct DirEntry *)(pageHeader + curChunk);
-+ dirEntry = (struct DirEntryFlex *)(pageHeader + curChunk);
- dirEntry->flag = 1;
- dirEntry->length = 0;
- dirEntry->next = 0;
-diff --git a/src/cf/c-flexible-array.m4 b/src/cf/c-flexible-array.m4
-new file mode 100644
-index 000000000..e281166f8
---- /dev/null
-+++ b/src/cf/c-flexible-array.m4
-@@ -0,0 +1,16 @@
-+AC_DEFUN([OPENAFS_C_FLEXIBLE_ARRAY],[
-+ dnl Check to see if the compiler support C99 flexible arrays, e.g., var[]
-+ AC_MSG_CHECKING([for C99 flexible arrays])
-+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-+ struct flexarraytest {
-+ int flag;
-+ int numbers[];
-+ };
-+ ]], [[]])
-+ ],
-+ [AC_MSG_RESULT([yes])
-+ AC_DEFINE([HAVE_FLEXIBLE_ARRAY], [1],
-+ [Define to 1 if your compiler supports C99 flexible arrays.])
-+ ],[AC_MSG_RESULT([no])]
-+ )
-+])
-diff --git a/src/dir/dir.c b/src/dir/dir.c
-index bc5bb046d..5e8aff7db 100644
---- a/src/dir/dir.c
-+++ b/src/dir/dir.c
-@@ -99,7 +99,7 @@ afs_dir_Create(dir_file_t dir, char *entry, void *voidfid)
- int blobs, firstelt;
- int i;
- struct DirBuffer entrybuf, prevbuf, headerbuf;
-- struct DirEntry *ep;
-+ struct DirEntryFlex *ep;
- struct DirHeader *dhp;
- int code;
- size_t rlen;
-@@ -127,7 +127,7 @@ afs_dir_Create(dir_file_t dir, char *entry, void *voidfid)
- /* First, we fill in the directory entry. */
- if (afs_dir_GetBlob(dir, firstelt, &entrybuf) != 0)
- return EIO;
-- ep = (struct DirEntry *)entrybuf.data;
-+ ep = entrybuf.data;
-
- ep->flag = FFIRST;
- ep->fid.vnode = htonl(vfid[1]);
-diff --git a/src/dir/dir.h b/src/dir/dir.h
-index f5c8eef42..ad6db07e6 100644
---- a/src/dir/dir.h
-+++ b/src/dir/dir.h
-@@ -51,6 +51,32 @@ struct DirHeader {
- unsigned short hashTable[NHASHENT];
- };
-
-+/*
-+ * This struct is just a copy of DirEntry, but with name defined as a flexible
-+ * array if possible.
-+ *
-+ * Using this helps us convince safety-minded string functions (e.g.
-+ * _FORTIFY_SOURCE) that an OpenAFS directory entry name really does fit
-+ * in the allotted space, and thus avoid undefined behavior.
-+ */
-+struct DirEntryFlex {
-+ char flag;
-+ char length; /* currently unused */
-+ unsigned short next;
-+ struct MKFid fid;
-+#ifdef HAVE_FLEXIBLE_ARRAY
-+ char name[];
-+#else
-+ char name[16];
-+#endif
-+};
-+
-+/*
-+ * This struct was the original format for directory entries in very early
-+ * versions of AFS. But now it just represents the minimum possible on-disk
-+ * representation of a directory entry. The 16-character limit was relieved by
-+ * the introduction of extension struct DirXEntry in AFS-2.
-+*/
- struct DirEntry {
- /* A directory entry */
- char flag;
---
-2.43.0
-
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
deleted file mode 100644
index 2d4ff432a702..000000000000
--- a/0007-LINUX-Pass-an-array-of-structs-to-register_sysctl.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From c90ef42fcbe39270e8bfc3089e2cf1ce7ecbce16 Mon Sep 17 00:00:00 2001
-From: Cheyenne Wills <cwills@sinenomine.net>
-Date: Wed, 6 Sep 2023 11:41:55 -0600
-Subject: [PATCH 07/10] 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.43.0
-
diff --git a/0008-Linux-6.6-convert-to-ctime-accessor-functions.patch b/0008-Linux-6.6-convert-to-ctime-accessor-functions.patch
deleted file mode 100644
index f6611f8c0a76..000000000000
--- a/0008-Linux-6.6-convert-to-ctime-accessor-functions.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 767e4924190a6db61a98a633894c25c74af39fd5 Mon Sep 17 00:00:00 2001
-From: Cheyenne Wills <cwills@sinenomine.net>
-Date: Thu, 5 Oct 2023 14:44:49 -0600
-Subject: [PATCH 08/10] 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 dc1e32f98..903b5dd5c 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.43.0
-
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
deleted file mode 100644
index 4d81dcaf80c6..000000000000
--- a/0009-Linux-6.6-Pass-request_mask-to-generic_fillattr.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 75ada815f0177b2e90ee8e2f8b08124eb9abf604 Mon Sep 17 00:00:00 2001
-From: Cheyenne Wills <cwills@sinenomine.net>
-Date: Mon, 18 Sep 2023 12:23:01 -0600
-Subject: [PATCH 09/10] 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 903b5dd5c..86dd7b473 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.43.0
-
diff --git a/0010-Linux-6.7-convert-to-inode-a-mtime-accessor-funcs.patch b/0010-Linux-6.7-convert-to-inode-a-mtime-accessor-funcs.patch
deleted file mode 100644
index f410dd938ee1..000000000000
--- a/0010-Linux-6.7-convert-to-inode-a-mtime-accessor-funcs.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From 99d55938f14c517c1c81e5d91fed38ac2ad8a4b9 Mon Sep 17 00:00:00 2001
-From: Cheyenne Wills <cwills@sinenomine.net>
-Date: Thu, 9 Nov 2023 10:38:29 -0700
-Subject: [PATCH 10/10] Linux 6.7: convert to inode a/mtime accessor funcs
-
-The Linux 6.7 commit "fs: new accessor methods for atime and mtime"
-(077c212f03) is a follow up to the Linux 6.6 commit "fs: add ctime
-accessors infrastructure" (9b6304c1d5)
-
-With the above 6.7 commit, the inode's i_atime and i_mtime are renamed
-to __i_atime and __i_mtime and accessing these members should use the
-new accessor functions.
-
-This commit is similar to the OpenAFS commit "Linux 6.6: convert to
-ctime accessor functions" (072c7934cd1)
-
-Add autoconf tests to detect when we need to use the new accessors and
-introduce new wrapper functions to get and set an inode's atime and
-mtime.
-
-Note, unlike the (072c7934cd1) commit, we need to add support for
-reading an inode's atime and mtime, so this commit has the getters for
-the atime and mtime members.
-
-Reviewed-on: https://gerrit.openafs.org/15597
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Andrew Deason <adeason@sinenomine.net>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit 8962767a7e27f8db9dc9001999edf573be706d66)
-
-Change-Id: If5f58df74f37749b7dfdc52172a8e9573d849ecd
-Reviewed-on: https://gerrit.openafs.org/15600
-Reviewed-by: Andrew Deason <adeason@sinenomine.net>
-Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
-Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
-(cherry picked from commit 6edf9d350c6ffd9d5e51fb8106701c1bc2f6a4d9)
----
- src/afs/LINUX/osi_file.c | 5 ++---
- src/afs/LINUX/osi_machdep.h | 29 +++++++++++++++++++++++++++++
- src/afs/LINUX/osi_vnodeops.c | 6 ++----
- src/cf/linux-kernel-func.m4 | 8 ++++++++
- 4 files changed, 41 insertions(+), 7 deletions(-)
-
-diff --git a/src/afs/LINUX/osi_file.c b/src/afs/LINUX/osi_file.c
-index b8bdce7e7..6dbfc155f 100644
---- a/src/afs/LINUX/osi_file.c
-+++ b/src/afs/LINUX/osi_file.c
-@@ -175,9 +175,8 @@ afs_osi_Stat(struct osi_file *afile, struct osi_stat *astat)
- {
- AFS_STATCNT(osi_Stat);
- astat->size = i_size_read(OSIFILE_INODE(afile));
-- astat->mtime = OSIFILE_INODE(afile)->i_mtime.tv_sec;
-- astat->atime = OSIFILE_INODE(afile)->i_atime.tv_sec;
--
-+ astat->mtime = afs_inode_get_mtime_sec(OSIFILE_INODE(afile));
-+ astat->atime = afs_inode_get_atime_sec(OSIFILE_INODE(afile));
- return 0;
- }
-
-diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h
-index f9ceb359e..f08ae8223 100644
---- a/src/afs/LINUX/osi_machdep.h
-+++ b/src/afs/LINUX/osi_machdep.h
-@@ -128,6 +128,35 @@ afs_inode_set_ctime(struct inode *inode, time64_t sec, long nsec)
- inode->i_ctime.tv_nsec = nsec;
- }
- #endif
-+#if defined(HAVE_LINUX_INODE_ATIME_MTIME_ACCESSORS)
-+# define afs_inode_set_atime(inode, sec, nsec) inode_set_atime((inode), (sec), (nsec))
-+# define afs_inode_get_atime_sec(inode) inode_get_atime_sec((inode))
-+# define afs_inode_set_mtime(inode, sec, nsec) inode_set_mtime((inode), (sec), (nsec))
-+# define afs_inode_get_mtime_sec(inode) inode_get_mtime_sec((inode))
-+#else
-+static inline void
-+afs_inode_set_atime(struct inode *inode, time_t sec, long nsec)
-+{
-+ inode->i_atime.tv_sec = sec;
-+ inode->i_atime.tv_nsec = nsec;
-+}
-+static inline time_t
-+afs_inode_get_atime_sec(struct inode *inode)
-+{
-+ return inode->i_atime.tv_sec;
-+}
-+static inline void
-+afs_inode_set_mtime(struct inode *inode, time_t sec, long nsec)
-+{
-+ inode->i_mtime.tv_sec = sec;
-+ inode->i_mtime.tv_nsec = nsec;
-+}
-+static inline time_t
-+afs_inode_get_mtime_sec(struct inode *inode)
-+{
-+ return inode->i_mtime.tv_sec;
-+}
-+#endif /* HAVE_LINUX_INODE_ATIME_MTIME_ACCESSORS */
-
- #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 86dd7b473..7e85aa552 100644
---- a/src/afs/LINUX/osi_vnodeops.c
-+++ b/src/afs/LINUX/osi_vnodeops.c
-@@ -1136,14 +1136,12 @@ vattr2inode(struct inode *ip, struct vattr *vp)
- ip->i_uid = afs_make_kuid(vp->va_uid);
- ip->i_gid = afs_make_kgid(vp->va_gid);
- i_size_write(ip, vp->va_size);
-- ip->i_atime.tv_sec = vp->va_atime.tv_sec;
-- ip->i_atime.tv_nsec = 0;
-- ip->i_mtime.tv_sec = vp->va_mtime.tv_sec;
-+ afs_inode_set_atime(ip, vp->va_atime.tv_sec, 0);
- /* Set the mtime nanoseconds to the sysname generation number.
- * This convinces NFS clients that all directories have changed
- * any time the sysname list changes.
- */
-- ip->i_mtime.tv_nsec = afs_sysnamegen;
-+ afs_inode_set_mtime(ip, vp->va_mtime.tv_sec, afs_sysnamegen);
- afs_inode_set_ctime(ip, vp->va_ctime.tv_sec, 0);
- }
-
-diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4
-index dc26b6056..7f3000fc1 100644
---- a/src/cf/linux-kernel-func.m4
-+++ b/src/cf/linux-kernel-func.m4
-@@ -244,6 +244,14 @@ AC_CHECK_LINUX_FUNC([inode_set_ctime],
- [#include <linux/fs.h>],
- [inode_set_ctime(NULL, 0, 0);])
-
-+dnl Linux 6.7 requires the use of a getter/setter for accessing a inode's
-+dnl atime and mtime members. Test for the setters. Assummes that the
-+dnl getters are present if the setters are.
-+AC_CHECK_LINUX_FUNC([inode_atime_mtime_accessors],
-+ [#include <linux/fs.h>],
-+ [inode_set_atime(NULL, 0, 0);
-+ inode_set_mtime(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.43.0
-
diff --git a/PKGBUILD b/PKGBUILD
index 70ac7e2da530..e7590859a838 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,8 +6,8 @@
pkgname=openafs-modules-dkms
_srcname=openafs
-pkgver=1.8.10
-pkgrel=6
+pkgver=1.8.11pre1
+pkgrel=1
pkgdesc="Kernel module for OpenAFS (dkms)"
arch=('i686' 'x86_64' 'armv7h')
url="http://www.openafs.org"
@@ -16,52 +16,16 @@ depends=('dkms' 'libelf' 'openafs')
provides=("openafs-modules=$pkgver")
conflicts=('openafs-features-libafs' 'openafs-modules' 'openafs<1.6.6-2')
options=(!emptydirs)
-source=(http://openafs.org/dl/openafs/${pkgver}/${_srcname}-${pkgver}-src.tar.bz2
- dkms.conf
- 0001-Linux-6.5-Replace-generic_file_splice_read.patch
- 0002-LINUX-Make-sysctl-definitions-more-concise.patch
- 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-DirEntryFlex.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
- 0010-Linux-6.7-convert-to-inode-a-mtime-accessor-funcs.patch)
-sha256sums=('9fec11364623549e8db7374072f5c8f01b841f6bfe7e85673cbce35ff43ffb07'
- '5ea5e184f9b44f5ed45817d2b5a10149d15c8c54f49e0b5b4b773652673cb9b0'
- '91cf2ee76afaacd7f85ec3cc9bcf35920f54e8b11b68b3b3d8036af742a44e4d'
- '0779c389864cf514a04734abd318a4e98db88889b04b2fdbe8e2a3816cb872eb'
- 'e22896c9cff526e01336849e2032c235707450cf93f6131a8a7e3c86d84e8e5c'
- '5dacbca5a5afa6ff99b2976fcc70fa760a4f5e9286c21a05ec233b09ce37bb11'
- '5213e96c818842210736927e9ef5669fb6b35e6755bb71995fadf3c2ba44e04c'
- 'ee60fa3f52a397510eb5c6e2e664eb4e66e9620180a74e54d9c8e9677691f8f0'
- '2f2bea9c8a9ea6122af2456725faa41b014687b1681a3c20a0918adf879bfb86'
- '12f2f983dd7845758a1d0e6ab1c85358c5660022137dc4f00c3a3d4f8443e7f3'
- '37abfa35b2b78956e258137fc66197c118084802f1fb17d4ab9546010c693e6d'
- 'cf47ce835da5015d4b0621223a4edad5b096790a4aecac2f6141b70164598243')
+source=(http://openafs.org/dl/openafs/candidate/${pkgver}/${_srcname}-${pkgver}-src.tar.bz2
+ dkms.conf)
+sha256sums=('dfdb4bcd79e060180ebfd127d0447eceb716be0fbe07712ee7f9ac1904b42c82'
+ '5ea5e184f9b44f5ed45817d2b5a10149d15c8c54f49e0b5b4b773652673cb9b0')
prepare() {
cd "${srcdir}/${_srcname}-${pkgver}"
- # Patches for Linux 6.5
- patch -p1 < "${srcdir}"/0001-Linux-6.5-Replace-generic_file_splice_read.patch
- patch -p1 < "${srcdir}"/0002-LINUX-Make-sysctl-definitions-more-concise.patch
- patch -p1 < "${srcdir}"/0003-Linux-6.5-Use-register_sysctl.patch
- patch -p1 < "${srcdir}"/0004-hcrypto-rename-abort-to-_afscrypto_abort.patch
- patch -p1 < "${srcdir}"/0005-linux-Replace-fop-iterate-with-fop-iterate_shared.patch
- patch -p1 < "${srcdir}"/0006-dir-Introduce-struct-DirEntryFlex.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
-
- # Patches for Linux 6.7
- patch -p1 < "${srcdir}"/0010-Linux-6.7-convert-to-inode-a-mtime-accessor-funcs.patch
-
# Only needed when changes to configure were made
- ./regen.sh -q
+ #./regen.sh -q
}
build() {