commit d7141e7dbb07864b5a5529a7cd798d6be3cc5d9595072ca6bd7591f4c2de8fe4 Author: Christof Hanke Date: Wed Aug 14 09:50:41 2024 +0000 - update to latest git branch stable-1_8_x - change version to openafs-1.8.12-g... since the new stable release is 1.8.12 - apply intermediate patches for kernel 6.10 * 03b280649f5e22ed74c217d7c98c3416a2fa9052: Linux-6.10: remove includes for asm/ia32_unistd.h * 0f6a3a402f4a66114da9231032bd68cdc4dee7bc: Linux-6.10: Use filemap_alloc_folio when avail * 658942f2791fad5e33ec7542158c16dfc66eed39: Linux-6.10: define a wrapper for vmalloc * d8b56f21994ce66d8daebb7d69e792f34c1a19ed: afs: avoid empty-body warning * 7097eec17bc01bcfc12c4d299136b2d3b94ec3d7: Linux 6.10: Move 'inline' before func return type OBS-URL: https://build.opensuse.org/package/show/filesystems/openafs?expand=0&rev=127 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/03b280649f5e22ed74c217d7c98c3416a2fa9052 b/03b280649f5e22ed74c217d7c98c3416a2fa9052 new file mode 100644 index 0000000..0ade45a --- /dev/null +++ b/03b280649f5e22ed74c217d7c98c3416a2fa9052 @@ -0,0 +1,111 @@ +commit 03b280649f5e22ed74c217d7c98c3416a2fa9052 +Author: Cheyenne Wills +Date: Wed Jun 12 13:56:44 2024 -0600 + + Linux-6.10: remove includes for asm/ia32_unistd.h + + The Linux 6.10 commit: + "x86/syscall/compat: Remove ia32_unistd.h" (e2d168328e) + + Removed the header ia32_unistd.h since it was just a wrapper for the + unistd_32_ia32.h. + + The commit: + "linux-afs-translator-xen-20060731" (29dd792381) + added an ia32_unistd.h include to several files; all were not needed + (as they didn't reference any of the contents from the header file, e.g + _NR_ia32_*). + + The commit: + "amd64-hook-ia32-table-20030519" (831e172463) + added an include for ia32_unistd.h to osi_module.c. + + A later commit: + "osi-probe-syscall-20050129" (f126dbdbe2) + removed many of the references to defines from ia32_unistd.h, but did + not remove the include for the header. + + Currently the only remaining files (linux-kernel-syscall-probe.m4, + LINUX/osi_probe.c and LINUX/osi_syscall.c) continue to reference the + items from ia32_unistd.h, but only when building older kernels that + either don't have LINUX_KEYRING_SUPPORT or when + ENABLE_LINUX_SYSCALL_PROBING is enabled (in both cases, these are only + applicable for older kernels where the asm/ia32_unistd.h file would be + present). + + For the files that don't have references (i.e. _NR_ia32_*), we can + simply remove the include for asm/ia32_unistd.h. For the remaining set + of files, we can leave the include for asm/ia32_unistd.h since the code + already has preprocessor conditionals so it's only included for older + Linux kernels where the header file will be present. + + We noted above, the include for asm/ia32_unistd.h is already conditional + on the checks for LINUX_KEYRING_SUPPORT and ENABLE_LINUX_SYSCALL_PROBING + so we do not need to add any additional configure checks. + + Change-Id: I901b5c0f0ff86272b02f898f3951325533d22f4f + Reviewed-on: https://gerrit.openafs.org/15763 + Reviewed-by: Michael Meffie + Tested-by: BuildBot + Reviewed-by: Andrew Deason + +diff --git a/src/afs/LINUX/osi_ioctl.c b/src/afs/LINUX/osi_ioctl.c +index 3e797745c..d964d8103 100644 +--- a/src/afs/LINUX/osi_ioctl.c ++++ b/src/afs/LINUX/osi_ioctl.c +@@ -21,10 +21,6 @@ + #include /* For syscall numbers. */ + #include + +-#ifdef AFS_AMD64_LINUX_ENV +-#include +-#endif +- + #include + #include + #include +diff --git a/src/afs/LINUX/osi_module.c b/src/afs/LINUX/osi_module.c +index 8ace127f4..499810cc6 100644 +--- a/src/afs/LINUX/osi_module.c ++++ b/src/afs/LINUX/osi_module.c +@@ -21,10 +21,6 @@ + #include /* For syscall numbers. */ + #include + +-#ifdef AFS_AMD64_LINUX_ENV +-#include +-#endif +- + #include + #include + #include +diff --git a/src/afs/LINUX/osi_pag_module.c b/src/afs/LINUX/osi_pag_module.c +index ea3d1bd2c..346108489 100644 +--- a/src/afs/LINUX/osi_pag_module.c ++++ b/src/afs/LINUX/osi_pag_module.c +@@ -20,10 +20,6 @@ + #include /* For syscall numbers. */ + #include + +-#ifdef AFS_AMD64_LINUX_ENV +-#include +-#endif +- + #include + #include + #include +diff --git a/src/afs/LINUX/osi_proc.c b/src/afs/LINUX/osi_proc.c +index 9c5a080f0..ad7c695b9 100644 +--- a/src/afs/LINUX/osi_proc.c ++++ b/src/afs/LINUX/osi_proc.c +@@ -25,10 +25,6 @@ + #include /* For syscall numbers. */ + #include + +-#ifdef AFS_AMD64_LINUX_ENV +-# include +-#endif +- + #include + #include + #include diff --git a/0f6a3a402f4a66114da9231032bd68cdc4dee7bc b/0f6a3a402f4a66114da9231032bd68cdc4dee7bc new file mode 100644 index 0000000..cf55c23 --- /dev/null +++ b/0f6a3a402f4a66114da9231032bd68cdc4dee7bc @@ -0,0 +1,96 @@ +commit 0f6a3a402f4a66114da9231032bd68cdc4dee7bc +Author: Cheyenne Wills +Date: Wed Jun 12 14:13:59 2024 -0600 + + Linux-6.10: Use filemap_alloc_folio when avail + + The Linux 6.10 commit: + "mm: remove page_cache_alloc()" (3f2ae4ebd5) + removed the page_cache_alloc(), with a note that callers would be using + filemap_alloc_folio instead. + + The function filemap_alloc_folio() was introduced in Linux 5.15 commit: + "mm/filemap: Add filemap_alloc_folio" (bb3c579e25) + + Add a configure check for filemap_alloc_folio and update the function + afs_linux_read_cache() to use a wrapper that calls filemap_alloc_folio() + if available otherwise calls page_cache_alloc(). + + Minor whitespace/style cleanup + + Note: The function filemap_alloc_folio() was introduced in Linux 5.15, + so this change affects builds using the Linux kernel 5.15 and later. + + Change-Id: Ia17aefc38fe9787e54b315c864da726d610b8bb9 + Reviewed-on: https://gerrit.openafs.org/15764 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + +diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c +index 511b0838f..18809c89f 100644 +--- a/src/afs/LINUX/osi_vnodeops.c ++++ b/src/afs/LINUX/osi_vnodeops.c +@@ -2320,6 +2320,24 @@ mapping_read_page(struct address_space *mapping, struct page *page) + #endif + } + ++/* ++ * small compat wrapper for filemap_alloc_folio/page_cache_alloc ++ */ ++static struct page * ++afs_page_cache_alloc(struct address_space *cachemapping) ++{ ++#if defined(HAVE_LINUX_FILEMAP_ALLOC_FOLIO) ++ struct folio *folio; ++ folio = filemap_alloc_folio(mapping_gfp_mask(cachemapping), 0); ++ if (folio == NULL) { ++ return NULL; ++ } ++ return &folio->page; ++#else ++ return page_cache_alloc(cachemapping); ++#endif ++} ++ + /* Populate a page by filling it from the cache file pointed at by cachefp + * (which contains indicated chunk) + * If task is NULL, the page copy occurs syncronously, and the routine +@@ -2358,11 +2376,12 @@ afs_linux_read_cache(struct file *cachefp, struct page *page, + pageindex = (offset - AFS_CHUNKTOBASE(chunk)) >> PAGE_SHIFT; + + while (cachepage == NULL) { +- cachepage = find_get_page(cachemapping, pageindex); ++ cachepage = find_get_page(cachemapping, pageindex); + if (!cachepage) { +- if (!newpage) +- newpage = page_cache_alloc(cachemapping); +- if (!newpage) { ++ if (newpage == NULL) { ++ newpage = afs_page_cache_alloc(cachemapping); ++ } ++ if (newpage == NULL) { + code = -ENOMEM; + goto out; + } +diff --git a/src/cf/linux-kernel-func.m4 b/src/cf/linux-kernel-func.m4 +index 93f96f5ad..83ea354b0 100644 +--- a/src/cf/linux-kernel-func.m4 ++++ b/src/cf/linux-kernel-func.m4 +@@ -253,6 +253,16 @@ AC_CHECK_LINUX_FUNC([no_strlcpy], + size_t s; + s = strlcpy(buff);]]) + ++dnl Linux 5.15 introduced filemap_alloc_folio() as a replacement for ++dnl page_cache_alloc(). page_cache_alloc() was updated to become just a ++dnl wrapper for filemap_alloc_folio(). ++dnl Linux 6.10 removed page_cache_alloc(). ++AC_CHECK_LINUX_FUNC([filemap_alloc_folio], ++ [#include ++ #include ], ++ [[static struct folio *folio; ++ folio = filemap_alloc_folio(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"], diff --git a/658942f2791fad5e33ec7542158c16dfc66eed39 b/658942f2791fad5e33ec7542158c16dfc66eed39 new file mode 100644 index 0000000..0753ecc --- /dev/null +++ b/658942f2791fad5e33ec7542158c16dfc66eed39 @@ -0,0 +1,66 @@ +commit 658942f2791fad5e33ec7542158c16dfc66eed39 +Author: Cheyenne Wills +Date: Wed Jun 12 14:16:43 2024 -0600 + + Linux-6.10: define a wrapper for vmalloc + + The Linux 6.10 commit: + "mm: vmalloc: enable memory allocation profiling" (88ae5fb755) + changed vmalloc from a function to a wrapper macro. + + This change results in build errors: + "error: implicit declaration of function ‘vmalloc’; did you mean + ‘kmalloc’? [-Werror=implicit-function-declaration]" + + when vmalloc is passed as a parameter to the afs_atomlist_create() and + afs_lhash_create() functions. + + Add a little wrapper function around vmalloc() to use for the parameter + to afs_atomlist_create() and afs_lhash_create(). + + Note: A configure test was not needed for this change since the name + and functionality of Linux's vmalloc did not change. + + Change-Id: I69c1da9eea5d1de11c1628bbcef427f81f5c01e1 + Reviewed-on: https://gerrit.openafs.org/15765 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + +diff --git a/src/afs/LINUX/osi_alloc.c b/src/afs/LINUX/osi_alloc.c +index 86cd0e571..7c4b4a1ca 100644 +--- a/src/afs/LINUX/osi_alloc.c ++++ b/src/afs/LINUX/osi_alloc.c +@@ -196,6 +196,15 @@ local_free(void *p, size_t n) + vfree(p); + } + ++/* ++ * wrapper for vmalloc(), since vmalloc() may be a macro ++ */ ++static void * ++local_vmalloc(size_t size) ++{ ++ return vmalloc(size); ++} ++ + /* linux_alloc_init(): Initializes the kernel memory allocator. As part + * of this process, it also initializes a pool of osi_linux_mem + * structures as well as the hash table itself. +@@ -209,14 +218,14 @@ linux_alloc_init(void) + /* initiate our pool of osi_linux_mem structs */ + al_mem_pool = + afs_atomlist_create(sizeof(struct osi_linux_mem), sizeof(long) * 1024, +- (void *)vmalloc, local_free); ++ local_vmalloc, local_free); + if (!al_mem_pool) { + printf("afs_osi_Alloc: Error in initialization(atomlist_create)\n"); + return 0; + } + + /* initialize the hash table to hold references to alloc'ed chunks */ +- lh_mem_htab = afs_lhash_create(hash_equal, (void *)vmalloc, local_free); ++ lh_mem_htab = afs_lhash_create(hash_equal, local_vmalloc, local_free); + if (!lh_mem_htab) { + printf("afs_osi_Alloc: Error in initialization(lhash_create)\n"); + return 0; diff --git a/7097eec17bc01bcfc12c4d299136b2d3b94ec3d7 b/7097eec17bc01bcfc12c4d299136b2d3b94ec3d7 new file mode 100644 index 0000000..85b61e0 --- /dev/null +++ b/7097eec17bc01bcfc12c4d299136b2d3b94ec3d7 @@ -0,0 +1,51 @@ +commit 7097eec17bc01bcfc12c4d299136b2d3b94ec3d7 +Author: Cheyenne Wills +Date: Thu Jun 6 10:42:57 2024 -0600 + + Linux 6.10: Move 'inline' before func return type + + With Linux 6.10 commit: + "kbuild: turn on -Wextra by default" (f5982cceb3) + there are additional compiler warnings that can turn + into build errors when --enable-checking is used. + + "error: ‘inline’ is not at beginning of declaration + [-Werror=old-style-declaration]" + + The error is due to the return type preceding the "inline" keyword + in function declarations. + + Fix the declarations for file_can_read_pages() and + afs_linux_readpage_fastpath() to have the proper ordering of the + static/inline keywords attributes so they precede the return type. + + Just a note that the `static` and `inline` keywords must precede a + function's return type. + + Change-Id: I3ff9d45c119e70a90faf18fbf6d49fb6b9adcf33 + Reviewed-on: https://gerrit.openafs.org/15768 + Reviewed-by: Andrew Deason + Tested-by: Andrew Deason + +diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c +index 18809c89f..c6c3bfe39 100644 +--- a/src/afs/LINUX/osi_vnodeops.c ++++ b/src/afs/LINUX/osi_vnodeops.c +@@ -2443,7 +2443,7 @@ afs_linux_read_cache(struct file *cachefp, struct page *page, + /* + * Return true if the file has a mapping that can read pages + */ +-static int inline ++static inline int + file_can_read_pages(struct file *fp) + { + #if defined(STRUCT_ADDRESS_SPACE_OPERATIONS_HAS_READ_FOLIO) +@@ -2456,7 +2456,7 @@ file_can_read_pages(struct file *fp) + return 0; + } + +-static int inline ++static inline int + afs_linux_readpage_fastpath(struct file *fp, struct page *pp, int *codep) + { + loff_t offset = page_offset(pp); diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..3f98394 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,1419 @@ +commit d8eab602c3279378f344cdde2f14fe05707ac71d +Author: Michael Meffie +Date: Thu May 30 16:56:18 2024 -0400 + + Make OpenAFS 1.8.12pre1 + + Update version strings for the first 1.8.12 prerelease. + + Change-Id: I0a314eb7d96183c40c995b9415aaf1c679defee5 + Reviewed-on: https://gerrit.openafs.org/15759 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 1ccee780e109c06917612390c54978bb13fce767 +Author: Michael Meffie +Date: Thu May 23 20:20:11 2024 -0400 + + Update NEWS for OpenAFS 1.8.12pre1 + + Add news items for the upcoming 1.8.12 pre-release. + + Change-Id: Iab9167e93526f7f5b83a7bc47341a76c8ad54c52 + Reviewed-on: https://gerrit.openafs.org/15753 + Reviewed-by: Cheyenne Wills + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit 308ee38a30549afd38ad1f83bb537fd6b43513a8 +Author: Mark Vitale +Date: Thu May 30 12:54:57 2024 -0400 + + afs: Correct comment typo in DNew() + + Commit aed4a0c4b91c5ce185547e83bfff443f3d3831f9 "afs: avoid panic in + DNew when afs_WriteDCache fails" introduced Doxygen comments for DNew(). + However, due to a cut-and-paste error, the name of the second parameter + is incorrect. + + Correct the Doxygen comments. + + No functional change is incurred by this commit; it is just + documentation. + + Reviewed-on: https://gerrit.openafs.org/15757 + Reviewed-by: Michael Meffie + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit abb15d449ca6792d9145c13c01d573ce32545916) + + Change-Id: Ie540b13a040ac47bbaa2f753a9bbd21c046d4b49 + Reviewed-on: https://gerrit.openafs.org/15758 + Tested-by: BuildBot + Reviewed-by: Cheyenne Wills + Reviewed-by: Benjamin Kaduk + +commit 4022359253fb6a645b01f99b820b7331c019115a +Author: Mark Vitale +Date: Fri Jul 19 14:41:55 2019 -0400 + + afs: avoid panic in DNew when afs_WriteDCache fails + + afs_WriteDCache may fail for an IO error, or if interrupted (EINTR). + Unfortunately, DNew will panic in this case, crashing the entire + machine. + + In order to avoid an outage in this case, don't panic. Instead, reflect + the error back to the caller of DNew. + + While here, add Doxygen comments to DNew. + + Reviewed-on: https://gerrit.openafs.org/13804 + Reviewed-by: Benjamin Kaduk + Tested-by: BuildBot + (cherry picked from commit aed4a0c4b91c5ce185547e83bfff443f3d3831f9) + + Change-Id: I634ce4b3c7c8b6029c5236b51f6ab8c0a5463ce9 + Reviewed-on: https://gerrit.openafs.org/15744 + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 837e6a4ad28588f22b4e9ace9bfa4bb4f412485c +Author: Mark Vitale +Date: Wed Feb 5 17:49:03 2020 -0500 + + dir: check DNew return code + + Commit 0284e65f97861e888d95576f22a93cd681813c39 'dir: Explicitly state + buffer locations for data' changed DNew and DRead to return a return + code. However, the callers of DNew were not modified to check the new + return code. (This commit applied only to the implementations dealing + with AFS directories, in afs/afs_buffer.c and dir/dir.c. The ubik + implmentations of DNew and DRead, dealing with ubik databases, were not + modified.) + + Modify all (non-ubik) callers of DNew to check the return code. In + addition, modify code as needed so return codes are properly propagated + to the callers. + + While here, add Doxygen comments for AddPage and FindBlobs. + + Reviewed-on: https://gerrit.openafs.org/13801 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 6bd94fe29d1aa6ce61ba02e681defea79770ccdd) + + Change-Id: I8d036748fa18365b843a69f2f0710eab31aa723d + Reviewed-on: https://gerrit.openafs.org/15743 + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit db39f77f0ec931816ba5cc265e87954173b435e2 +Author: Mark Vitale +Date: Sun Mar 3 20:20:58 2019 -0500 + + dir: check afs_dir_Create return code in afs_dir_MakeDir + + afs_dir_MakeDir() ignores the return code from afs_dir_Create() for the + '.' and '..' ("dot" and "dotdot") directories. This has been the case + from the earliest implementation (MakeDir() calling Create()) in the + original IBM import. + + Instead, check the return codes to prevent the possibility of creating + malformed directories. + + Reviewed-on: https://gerrit.openafs.org/13800 + Reviewed-by: Benjamin Kaduk + Reviewed-by: Mark Vitale + Tested-by: BuildBot + (cherry picked from commit dcce956df4fc8d368962cb36d8b3c801be69a85a) + + Change-Id: Ib7066ab307fe6ab0e78407566d0fd32bd6827859 + Reviewed-on: https://gerrit.openafs.org/15742 + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 3ff310182926ab783f0f07fa8667d1ebaabbc5de +Author: Andrew Deason +Date: Thu Apr 25 15:58:49 2024 -0500 + + afs: Reintroduce and use DFlushDCache() + + This reverts commit 432ac5810e51bb5bb2cf1df0bfebc64d1c4d7a39 (afs: + Remove DFlushDCache()). This also re-adds the caller of DFlushDCache() + removed by commit 4045f3d5350955de91e019b09ad2ed7941f6dadb + (disconnected-shadow-directory-fixes-20090121), and the prototype + removed by commit 5ad1e6cb904b953fbb04603f3ce1466dcc38cd48 (dir: + Prototype and function name cleanup). + + The removal of the DFlushDCache() call in commit 4045f3d535 seems like + a mistake. If the directory in question has dirty pages in memory, we + need to flush those to the cache before making a copy of the + directory's data, because we read the existing dir's data from the + cache. If we don't flush, afs_MakeShadowDir() might make a copy of the + dcache that is missing updates to the directory blob. + + Reviewed-on: https://gerrit.openafs.org/15740 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + Reviewed-by: Cheyenne Wills + (cherry picked from commit 799d789fbaefc8c4dbcb803b885deb35f4947d26) + + Change-Id: I3bffab4bae4214503591ac102aba59c7072b39af + Reviewed-on: https://gerrit.openafs.org/15741 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit de7bc4890e4368b88f20e15a7d795fc1c54cef29 +Author: Cheyenne Wills +Date: Mon Apr 15 08:22:37 2024 -0600 + + Linux-6.9: file_lock mbrs moved to file_lock_core + + In the Linux 6.9 commit: + 'filelock: split common fields into struct file_lock_core' (a69ce85ec9) + several fields were relocated into a new structure, file_lock_core, + which was added as a member the file_lock structure. The names where + changed (fl_x to flc_x). + + Add a configure test to determine if the new members (flc_type, flc_pid, + and flc_flags) are available as part of the file_lock_core structure. + + Add static inline getter/setter routines to handle accessing the + flc_type or flc_pid members in the file_lock_core structure, or the + fl_type, fl_pid members in the file_lock structure as appropriate. Add + static inline function to clear FL_SLEEP in the flc_flag in the + file_lock_core structure or the fl_flag in the file_lock structure as + appropriate. + + Minor surrounding white space cleanup. + + Reviewed-on: https://gerrit.openafs.org/15708 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 9937cce3f35f4e3aad0802189457bf16b84d7ab4) + + Change-Id: I51343e1c2e360b68eabe2cc4069c25948b6c0729 + Reviewed-on: https://gerrit.openafs.org/15739 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 95e67f9c3e6e605da07081b9521ed2eaa2add648 +Author: Cheyenne Wills +Date: Fri Mar 15 16:24:05 2024 -0600 + + tests: rx/perf wait for server init before client + + The rx/perf test can occasionally fail due to the rxperf server not + being fully initialized before the client started. This can cause test + errors, even without changes to the rx code. + + C_TAP_VERBOSE=1 make check TESTS="rx/perf" + ... + rx/perf + + 1..4 + ok 1 - Started rxperf server + not ok 2 - single threaded client ran successfully + RPC: threads 30, times 1, write bytes 1048576, read bytes... + ok 3 - multi threaded client ran succesfully + ok 4 - Server exited succesfully + FAILED 2 (exit status 1) + + Add a routine that waits for the rx_perf server to become available. + Loop several times trying the connection via the rx_perf client, with + a short delay between retries. If the connection cannot be established, + fail the test. + + Clean up trailing whitespace on a couple of lines. + + Note: This failure was observed in an OpenAFS buildbot worker that + included a make tests, and which would occasionally fail when there was + no rx related code changes. The intermittent failure could be duplicated + on a slower virtual test system, but would not fail on a faster system. + + Thanks to mmeffie@sinenomine.net for the 'wait_for_server' contribution. + + Reviewed-on: https://gerrit.openafs.org/15676 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + Reviewed-by: Andrew Deason + (cherry picked from commit 6ace773fdcff0486663a0cc4381d7b6ce2352c04) + + Change-Id: I75c6cd1e4e724d4803b62e2f74e5307cb8fcb14d + Reviewed-on: https://gerrit.openafs.org/15736 + Reviewed-by: Michael Meffie + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 4fc27548be88947ef58e2a3a3654a08ec6c334d9 +Author: Michael Meffie +Date: Tue Apr 9 10:57:26 2024 -0400 + + rxperf: Add -o option to rxperf client + + Add the -o (output) option to the rxperf client specify the output file. + + If not specified, the output is written to stdout, as before. + + Reviewed-on: https://gerrit.openafs.org/15731 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit e6bc50524e1bde199f6643d9784fe331577bee90) + + Change-Id: I94a2f43c70f9cb5236c3ab4c5d2de66906eb68b3 + Reviewed-on: https://gerrit.openafs.org/15735 + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Tested-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit dfb6b53a6802e90f6bc2cd3cd39da467ce8e4488 +Author: Cheyenne Wills +Date: Wed Apr 3 11:36:54 2024 -0600 + + Linux: Define afs_thread_wrapper() as static + + When building against a Linux 6.8 kernel, functions that are missing + prototypes or declarations are flagged. + + We can add the static attribute to functions that are not referenced + outside of the file that implements them to avoid having these functions + flagged by the compiler. + + These functions are flagged due to missing prototypes when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + This is an openafs-1.8.x specific commit. + + The function afs_thread_wrapper() in LINUX/osi_misc.c on the master + branch was changed to a static function with commit: + 'afs: Drop GLOCK for various Rx calls' (d5e1428a3b) + However this is a larger change than needed to fix the build problem and + the commit could have a significant impact for 1.8.x since it is + changing rx locking. To avoid introducing such a change, just change + the afs_thread_wrapper() to static as a 1.8.x specific commit. + + There are no functional changes in this commit. + + Change-Id: I4edc61e6a4989c16ccf41b935e205dbf209bf2a5 + Reviewed-on: https://gerrit.openafs.org/15727 + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + +commit d1a42401fddc51bd2f16da39dfebe0f60fc670ad +Author: Cheyenne Wills +Date: Thu Feb 29 17:58:17 2024 -0700 + + Linux: Remove weak attribute for key_type_keyring + + The reference to the Linux symbol key_type_keyring uses a weak + attribute to assist in determining if the symbol is exported. This + method was introduced in commit: 'keyring-updated-20080310' (b7fb842b1c) + as a way to detect if the symbol was exported by the Linux kernel. A + later commit: 'linux-keyring-export-check-20090701' (4ca66112c2) + introduced an autoconf test that eliminated the need for using the weak + attribute, but the commit did not remove the attribute. + + On a Debian-12 system on ARM64 the use of the weak attribute in this + case causes an error when loading the kernel module: + "ERROR: could not insert 'openafs': Exec format error". + The error is due to the Linux module loader not supporting the + relocation entry type in the openafs kernel module for the + key_type_keyring. Further investigation showed that this problem could + occur with gcc-12 on a ARM64 system (see below for additional + information). + + The code in osi_groups.c uses a pointer, __key_type_keyring, to the + key_type_keyring. When this symbol is exported by the Linux kernel, the + loader would resolve the address and __key_type_keyring would contain + the address. If the key_type_keyring symbol was not exported, + __key_type_keyring would be set to NULL (due to the weak attribute + associated with key_type_keyring). + + Remove the weak attribute for key_type_keyring when the configure + test, introduced in the 4ca66112c2 commit, determines that the symbol + is exported (EXPORTED_KEY_TYPE_KEYRING is defined). When the symbol + isn't exported (pre Linux 2.6.22), just set the pointer, + __key_type_keyring to NULL. + + NOTE: + + The load error was reported on the openafs IRC channel by "clarkb" + + The problem of loading the openafs kernel module was also observed + on a NixOS system as well, and is described in the NixOS ticket + + https://github.com/NixOS/nixpkgs/issues/284501 + + A Debian-11 system did not have a problem loading the openafs kernel + module. Investigation of the differences between Debian-11 and Debian-12 + showed that the problem is due to a series of fixes in the toolchain + (in particular gcc-12) to address 'Cortex-A53 erratum #843419', which + deals with how the ARM64 ADRP instruction is used. With gcc-12, the + code generated uses a R_AARCH64_ADR_GOT for this particular case (which + isn't supported by the Linux kernel module loader). Gcc-11 created a + R_AARCH64_ABS64 relocation entry type for the symbol. + + Reviewed-on: https://gerrit.openafs.org/15668 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Mark Vitale + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 2f260825b96b76556aba82fc364c841357a23a7d) + + Change-Id: Ifce08cb01f0b642ee9c2d90480b8a1766dfc52ff + Reviewed-on: https://gerrit.openafs.org/15728 + Tested-by: BuildBot + Reviewed-by: Michael Meffie + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit 7b4802efaf29ef76969c8b931a31e93dd4fbb000 +Author: Cheyenne Wills +Date: Mon Mar 11 09:05:33 2024 -0600 + + Linux 6.8: Use roken's strlcpy() in kernel module + + The Linux 6.8 commit 'string: Remove strlcpy()' (d26270061a) removed the + the strlcpy function from the Linux kernel. The replacement function, + strscpy(), cannot be used as a drop-in replacement as its currently a + Linux kernel specific function and there are differences in the returned + value. + + We can use roken's strlcpy() (provided in roken/strlcpy.c). + + Create a configure test to that defines its own strlcpy() to test + if the kernel doesn't provide one itself. Note, we need to use a + different function signature for strlcpy() from what the kernel might + have otherwise the test build succeeds when the kernel does provide a + strlcpy(). + + Update the OpenAFS kernel specific roken.h to define the prototype for + strlcpy when it's not present in the Linux kernel. We need to match the + defines used in the 'real' roken.h so the roken/strlcpy.c can build + properly. Add defines for ROKEN_LIB_FUNCTION, ROKEN_LIB_CALL and + ROKEN_LIB_VARIABLE to the kernel roken.h + + Update Linux's osi_machdep.h to include roken.h so the strlcpy protoype + is available. + + Update the Linux MakefileProto to include the strcpy-kernel object + when building the kernel module. + + Reviewed-on: https://gerrit.openafs.org/15646 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 30b18c165752e6d0ce7b6daa6a90453f5e5e6d17) + + Change-Id: I8013623e8f735d15bb7d4ac84ed0867f12b77783 + Reviewed-on: https://gerrit.openafs.org/15706 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 6333fae573f8a7b7656e9c1b05d445a37b951b88 +Author: Cheyenne Wills +Date: Tue Mar 5 08:37:47 2024 -0700 + + Linux 6.8: Remove ctl_table sentinels + + The Linux 6.8 commit 'sysctl: Remove the now superfluous sentinel + elements from ctl_table array' (c8a65501d3) was a clean up commit + that removed the sentinel entry in the ctl_table array (e.g. the + "null" entry at the end of the table). + + As of Linux 6.8, including the sentinel entry (.procname =) in the + ctl_table is unnecessary, but doesn't yet break anything. But it is + likely that including the sentinel will start to cause runtime errors in + future Linux versions very soon, so avoid the sentinel when we can, to + avoid possible problems in the future. + + Define a new macro that can be used as the last entry of a ctl_table + that will either add a "null" entry, or nothing. + + There is not a specific build test we can use within configure, so we + must explicitly test the Linux version to decide if we need to use a + sentinel or not when defining the macro. We are selecting 6.8 to match + the version where the Linux kernel is removing the sentinels from the in + kernel filesystems. + + Note: See the Linux merge commits 'Merge tag 'sysctl-6.8-rc1' of + git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux' (a05aea98d4) + for more details behind the staged removal of the sentinels in the + ctl_table structures and the potential future change for removing the + actual check for the sentinel within the Linux kernel. + + Reviewed-on: https://gerrit.openafs.org/15645 + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 35c8c1bf0b1cb48178f676ba5bcf16ad59c5a33b) + + Change-Id: I34cb7586003e10a6c7438d7205123d57af30585e + Reviewed-on: https://gerrit.openafs.org/15705 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 18a2a932df9c1b6b3c7513a6c161d4259f052ca9 +Author: Cheyenne Wills +Date: Mon Feb 12 12:31:30 2024 -0700 + + Linux 6.8: use hlist iteration for dentry children + + Linux 6.8 commit 'dentry: switch the lists of children to hlist' + (da549bdd15) replaces the dentry lists d_subdirs/d_child with the hlist + d_children/d_sib. + + Add an autoconf test for a d_children member in the dentry structure. + + Define a macro that uses the applicable Linux function for iterating + over a dentry's children. + + Reviewed-on: https://gerrit.openafs.org/15632 + Reviewed-by: Andrew Deason + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 8e0bbe6a07523dd2e7efb3c9d1b4ad9e19fc9bb7) + + Change-Id: Ief4c334c4ef3e54822e068dcdf654541e86b9176 + Reviewed-on: https://gerrit.openafs.org/15704 + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Tested-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + +commit fef1fc6f740c6f7395cf51ce99ed296652579c7d +Author: Cheyenne Wills +Date: Tue Mar 5 07:40:08 2024 -0700 + + rxgen: Declare generated PKG_OpCodeStats() + + The function {PKG}_OpCodeStats() is generated by rxgen, however a + prototype for the function is not generated. + + The functions h_ProcMainBody_setup() and h_HeadofOldStyleProc_setup() + in rpc_parse.c emit prototypes for {PKG}_ExecuteRequest() and + {PKG}_TranslateOpCode(), but do not emit a prototype for + {PKG}_OpCodeStats(). + + Update rxgen to emit a function prototype for {PKG}_OpCodeStats() in the + generated header file. + + Use a variable to point to "PackagePrefix[PackageIndex]" in + h_ProcMainBody_setup to improve readability. + + {PKG}_OpCodeStats(), specifically RXSTATS_OpCodeStats(), is flagged due + to a missing prototype when building against a Linux 6.8 kernel (which + sets the -Wmissing-declarations and -Wmissing-prototypes compiler flags + as default). Linux 6.8 commit: 'Makefile.extrawarn: turn on + missing-prototypes globally' (0fcb70851f). When building against a + kernel with CONFIG_WERROR=y, the build fails. + + Reviewed-on: https://gerrit.openafs.org/15631 + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 26bb4d143b31ba027cf2721ac731df67a174c43b) + + Change-Id: I9072d22d142b5b7a2f59b0cfc4026066ef1d9501 + Reviewed-on: https://gerrit.openafs.org/15703 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 57e0192a690942c2a0f4f1f685cfadf2106b763a +Author: Andrew Deason +Date: Tue Dec 7 15:43:35 2021 -0600 + + rxgen: Declare generated PKG_TranslateOpCode() + + Ever since commit 5c77a6ca (rxgen: add *TranslateOpcode functions to + XDR code), rxgen generates a PKG_TranslateOpCode function in the + relevant .xdr.c source, which can translate an RPC opcode into the RPC + name. But we never declare this function in a header file, making it + impossible to use without compiler warnings (unless the caller + declares the function itself). + + To make it possible to actually use this function, declare this + function in the generated header file. + + Reviewed-on: https://gerrit.openafs.org/14871 + Reviewed-by: Cheyenne Wills + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 9b2c27fc6d299cb0b23eca3e8cb25b7e0c41b11a) + + Change-Id: I2479ff7f6579769b3319b2939ffde60fe570c880 + Reviewed-on: https://gerrit.openafs.org/15702 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 4c92936aefede187e57a9a433c0c192af2fc5e84 +Author: Cheyenne Wills +Date: Fri Jan 12 15:30:23 2024 -0700 + + rx: Add static attribute to internal functions + + When building against a Linux 6.8 kernel, functions that are missing + prototypes or declarations are flagged. + + We can add the static attribute to functions that are not referenced + outside of the file that implements them to avoid having these functions + flagged by the compiler. + + These functions are flagged due to missing prototypes when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + There are no functional changes in this commit. + + Reviewed-on: https://gerrit.openafs.org/15626 + Reviewed-by: Andrew Deason + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 55adceba2d561ec4e89235de329782a68e603a11) + + Change-Id: I1b2a6e1c07bd4b75b7b83e177f17865eb903e488 + Reviewed-on: https://gerrit.openafs.org/15701 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 195f154aaf2d8aff1f6debdb47c0db8f07cb5c5e +Author: Cheyenne Wills +Date: Thu Feb 29 17:53:31 2024 -0700 + + afs: Add static attribute to internal functions + + When building against a Linux 6.8 kernel, functions that are missing + prototypes or declarations are flagged. + + We can add the static attribute to functions that are not referenced + outside of the file that implements them to avoid having these functions + flagged by the compiler. + + These functions are flagged due to missing prototypes when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + There are no functional changes in this commit. + + Reviewed-on: https://gerrit.openafs.org/15625 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit efee796f28b53bf3ffc03186f81790c36c23c94c) + + Change-Id: I0d923a65731f825d6c190056b0ccc3d362236706 + Reviewed-on: https://gerrit.openafs.org/15700 + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Tested-by: Benjamin Kaduk + Reviewed-by: Benjamin Kaduk + +commit 90b8dcff36e9b03ec01550ad1a070a0ab7db8c46 +Author: Cheyenne Wills +Date: Fri Feb 9 09:01:33 2024 -0700 + + afs: fix 'ops' variable may be used uninitialized + + When the function rxfs_storeInit() has the static attribute, gcc flags + the variable 'ops' as possibly uninitialized. + + In function 'afs_CacheStoreDCaches', + inlined from 'afs_CacheStoreVCache' at + .../src/afs/afs_fetchstore.c:630:14: + .../afs/afs_fetchstore.c:535:17: error: 'ops' may be used + uninitialized [-Werror=maybe-uninitialized] + 535 | code = (*ops->destroy)(&rock, code); + | ~^~~~~~~~~~~~~~ + ...src/afs/afs_fetchstore.c: In function 'afs_CacheStoreVCache': + ...src/afs/afs_fetchstore.c:567:22: note: 'ops' was declared here + 567 | struct storeOps *ops; + | ^~~ + cc1: all warnings being treated as errors + + This is a false positive report by the gcc compiler. + + The function rxfs_storeInit() returns a 0 only when it has successfully + assigned a value to the ops variable, and afs_CacheStoreDcaches() is + only called if the return value from rxfs_storeInit() is 0. + + The ops variable is only used within a block that is within a for loop, + which could leave a stray value if the variable isn't initialized within + that loop. + + Assigning a NULL to ops is sufficient to avoid the compiler error, and + relocating the declaration of the ops variable into the block where it + is actually used ensures that it's always initialized before its use + within the loop. + + Clean up whitespace in the statement that follows the new location for + the ops variable. + + Note, this commit is being added before a commit that adds the static + attribute to the rxfs_storeInit() function which also "fixes" the + compiler error (see: afs: Add static attribute to internal functions). + + Reviewed-on: https://gerrit.openafs.org/15630 + Reviewed-by: Andrew Deason + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 36e4c02ff27b9d66755b9544778896b9b1e5c391) + + Change-Id: I9d8a07e576c6bf889f8f182c6fc0d34dc997c004 + Reviewed-on: https://gerrit.openafs.org/15699 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 09f9660fbbb4f3c20ba9f2283169818372c3f474 +Author: Cheyenne Wills +Date: Wed Feb 7 19:34:29 2024 -0700 + + rx: Add function prototypes to rx_prototypes.h + + The prototype for rxk_NewSocketHost() is not in a header file, but is + defined in the referencing .c file. The ARCH/rx_knet.c files that + implement rxk_NewSocketHost() do not have a prototype (but when the + rx_kcommon.c implementation is used it does have a prototype, since + rx_kcommon.c is the "referencing .c file"). + + Add the prototype for rxk_NewSocketHost() to rx_prototypes.h and + remove the prototype from rx_kcommon.c + + The prototypes for the functions rx_DebugOnOff() and rx_StatsOnOff() + are defined within rx_prototypes.h, but are within a preprocessor + conditional for AFS_NT40_ENV, however the implementation for these + 2 functions do not have the preprocessor conditional. + + Rearrange the prototypes for rx_DebugOnOff() and rx_StatsOnOff() so they + are outside the AFS_NT40_ENV preprocessor conditional. + + These functions are flagged due to missing prototypes when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + There are no functional changes in this commit. + + Reviewed-on: https://gerrit.openafs.org/15624 + Reviewed-by: Mark Vitale + Reviewed-by: Cheyenne Wills + Tested-by: Benjamin Kaduk + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 8528c36b96fe2935f42188caabf4feed0d5dbcbd) + + Change-Id: Ieae8be7f89f5c675c6580d8cfb02ea77ce4088f7 + Reviewed-on: https://gerrit.openafs.org/15698 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 53752b01bc734f4bd5f5da24ac116c7fcb2ac07f +Author: Cheyenne Wills +Date: Mon Feb 12 09:43:29 2024 -0700 + + afs: Remove SRXAFSCB* protos from afs_prototypes.h + + The prototypes for the afscbint RPC functions (SRXAFSCB_*) implemented + in afs_callback.c are defined in 2 locations, afs_protypes.h and + afscbint.h (which is generated by rxgen). + + Remove the protoypes for the SRXAFSCB_* functions from afs_prototypes.h + as they are redundant and are currently out of sync (the prototypes + for SRXAFSCB_GetCellByNum() and SRXAFSCB_TellMeAboutYourself() are + not present in afs_prototypes.h). Also remove a redundant prototype for + afs_RXCallBackServer() which was prototyped both before and in the + middle of the SRXAFSCB* prototypes. + + Since afs_callback.c only pulled in afs_prototypes.h and not afscbint.h, + add an include for afscbint.h to ensure that the all the prototypes for + the SRXAFSCB_* functions are present. + + The 2 functions listed above are flagged due to missing prototypes when + building against a Linux 6.8 kernel (which sets the + -Wmissing-declarations and -Wmissing-prototypes compiler flags as + default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + Reviewed-on: https://gerrit.openafs.org/15644 + Reviewed-by: Mark Vitale + Tested-by: Benjamin Kaduk + Reviewed-by: Benjamin Kaduk + (cherry picked from commit fae4003b403420d0b548920c7837a2d2b6e432ae) + + Change-Id: I7d435455fc60cc10200ee91d0d76534367ab5883 + Reviewed-on: https://gerrit.openafs.org/15697 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 96932160fa8ef1cf4422e9e1d1ca2a449f8ffe93 +Author: Cheyenne Wills +Date: Mon Feb 12 08:59:32 2024 -0700 + + afs: Add afs_xioctl prototyes to afs_prototypes.h + + Several .c files have external function prototypes for the afs_xioctl + function, while the implementing files do not have the prototype. + + Move these prototypes into afs_prototypes.h so that the prototypes are + available to both the caller and the implementation. + + Because the file holding the implementation does not have a prototypes, + afs_xioctl() is being flagged when building against a Linux 6.8 kernel + (which sets the -Wmissing-declarations and -Wmissing-prototypes compiler + flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a Linux kernel with CONFIG_WERROR=y, the build + fails. + + Note that the function afs_xioctl() has platform specific + implementations. + + Reviewed-on: https://gerrit.openafs.org/15643 + Reviewed-by: Andrew Deason + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 575d986aa6c18ac27ea42fb66ae8b8cb0e27fe6c) + + Change-Id: If746111fdcf6a00459f524711623d322d5fc7942 + Reviewed-on: https://gerrit.openafs.org/15696 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit c04c2d07226583846c3949a4855c7db4316438da +Author: Cheyenne Wills +Date: Thu Feb 15 09:00:05 2024 -0700 + + afs: Move function prototypes into headers + + Several .c files contain external function prototypes, while the + implementing files do not have these prototypes. + + Move these prototypes into header files so that the prototypes are + available to both the caller and the implementation. + + Because the file holding the implementation does not have prototypes, + these functions are flagged when building against a Linux 6.8 kernel + (which sets the -Wmissing-declarations and -Wmissing-prototypes compiler + flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + Add the prototypes for the following to afs_prototypes.h: + exporter_add + afs_syscall (AFS_LINUX_ENV) + BlobScan + + Remove the prototypes from the .c files where they are referenced. + + Reviewed-on: https://gerrit.openafs.org/15642 + Reviewed-by: Andrew Deason + Tested-by: BuildBot + Reviewed-by: Mark Vitale + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 85781d7e83ae4501d8ab267bf55ef63f90f63101) + + Change-Id: I74333e99e08af88bebdcbff4767d79397acac358 + Reviewed-on: https://gerrit.openafs.org/15695 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 8b516820abf1edace60276152e9ed18a0b30fc13 +Author: Cheyenne Wills +Date: Mon Feb 12 08:25:47 2024 -0700 + + afs: Add includes to pick up function prototypes + + The functions defined in LINUX/osi_crypto.c, osi_pagecopy.c, + osi_probe.c, and osi_syscall.c have function prototypes defined in + existing header files, however either due to missing includes or + preprocessor conditionals that skip the includes, these function + prototypes are not being pulled in. + + These functions are flagged due to missing prototypes when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + Add the necessary includes to osi_crypto.c and osi_pagecopy.c and + re-arrange the includes in osi_probe.c and osi_syscall.c to ensure that + the function prototypes are present when building the Linux kernel + module. + + Reviewed-on: https://gerrit.openafs.org/15641 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 3683f15278e34e13d7272928eaf666f0acc4e1e9) + + Change-Id: Iac704fc98d0d685358224049f383d68aa7a105f8 + Reviewed-on: https://gerrit.openafs.org/15694 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 25e17fe7196fd4a46e6a9408d135812ca53ddf80 +Author: Cheyenne Wills +Date: Thu Feb 8 11:50:16 2024 -0700 + + afs: Declare init_hckernel_mutex() + + The function init_hckernel_mutex() (in rand.c) is flagged due to a + missing prototype when building against a Linux 6.8 kernel (which sets + the -Wmissing-declarations and -Wmissing-prototypes compiler flags as + default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + Add a function prototype for init_hckernel_mutex() to afs_osi.h and + remove the prototype from afs_osi.c + + There are no functional changes with this commit. + + Reviewed-on: https://gerrit.openafs.org/15622 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit ccc2af429710104793fb4659b10697cceab182b3) + + Change-Id: Ic5eb4584a980657a01a1cb4411c0c1f03b1f3560 + Reviewed-on: https://gerrit.openafs.org/15693 + Reviewed-by: Andrew Deason + Tested-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit b1c93f13870e24795b857cb483320871703d00e8 +Author: Cheyenne Wills +Date: Wed Feb 7 15:25:10 2024 -0700 + + Linux 6.8: Add function prototypes for krb5 + + The external files for heimdal/krb5 do not provide function prototypes + in a header file that is used when building files that we use from + heimdal/krb5 (e.g. crypto.c). + + These functions are flagged due to missing prototypes when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + We cannot modify the external source files, however there is the local + OpenAFS include file, krb5_locl.h, that does contain OpenAFS specific + changes. + + Add declarations to krb5_locl.h for the functions defined in the + heimdal/krb5 source. + + There are no functional changes with this commit. + + Reviewed-on: https://gerrit.openafs.org/15621 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 612927dd1dd44bbd08eda790de12b24213583156) + + Change-Id: Iaae28186a24c3c5ca4407de9563c8cfed9644921 + Reviewed-on: https://gerrit.openafs.org/15692 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 15357006d9e8e45ac0be9e0c7e87456ee3857d90 +Author: Andrew Deason +Date: Tue Jan 30 20:44:48 2024 -0600 + + roken: Declare ct_memcmp in hcrypto kernel roken.h + + Currently, we build roken's ct.c for our kernel module to provide + ct_memcmp(). We declare a prototype for ct_memcmp() in krb5_locl.h, + and all of our kernel callers of ct_memcmp() include krb5_locl.h, so + all callers get a prototype and avoid "implicit declaration" compiler + warnings. + + However, roken's ct.c itself does not include krb5_locl.h, so it + doesn't get a prototype for ct_memcmp(). This is dangerous, since if + the prototype ever slightly differs from the implementation for any + reason, it could cause a variety of issues. + + This also causes warnings when building against a Linux 6.8 kernel + (which sets the -Wmissing-declarations and -Wmissing-prototypes + compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + We cannot change ct.c, since it is an external source file. To fix + this, instead move the prototype of ct_memcmp() to our stub + kernel-only roken.h header, which is included by ct.c. Make + krb5_locl.h also include roken.h when building kernel code, so all of + the ct_memcmp() callers also get the prototype. + + While we're here, add some informative comments and an include guard + to our previously-blank roken.h stub. + + Written in collaboration with cwills@sinenomine.net. + + Reviewed-on: https://gerrit.openafs.org/15620 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit be236069e9d26339ed5f9939965bca0dd3f8bf4e) + + Change-Id: I1112881938b0585263871f8f83d63b8909b12f0d + Reviewed-on: https://gerrit.openafs.org/15691 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 5d2c4a0a8ada4a87d7f39dc21dbce14b3b2a978f +Author: Cheyenne Wills +Date: Fri Jan 12 15:52:57 2024 -0700 + + afs: Add declaration for RXAFS_ResidencyCmd() + + The function RXAFS_ResidencyCmd() is 'manually' defined within the + afsint.xg, so a prototype for the function is not defined. + + This function is flagged due to a missing prototype when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + Add a prototype for RXAFS_ResidencyCmd + + There are no functional changes with this commit + + The function RXAFS_ResidencyCmd() was introduced with commit: + 'rename-residency-from-mrafs-to-osd-20090427' (8655541d1e) + + Reviewed-on: https://gerrit.openafs.org/15619 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 1d6cfbc5f627abf3808aae97afb72662301483b5) + + Change-Id: I42d0868b83e119b0c3348a3af8aaf5961c040bb2 + Reviewed-on: https://gerrit.openafs.org/15690 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 73844a4939a7b8198bf11d4dcbce9e28b621bd11 +Author: Cheyenne Wills +Date: Thu Feb 8 16:10:57 2024 -0700 + + afs: Remove afs_DbgDisconFiles() + + The function afs_DbgDisconFiles() is not referenced anywhere within the + source tree. + + Remove the function afs_DbgDisconFiles(). + + The commit: 'disconnected-rw-20080922' (433afd4779) introduced + afs_DbgDisconFiles(), but the function was never used. + + This function is flagged due to a missing prototype when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + Reviewed-on: https://gerrit.openafs.org/15640 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 32bb90047782f41df521bba5ab4aba8b4ed34203) + + Change-Id: I61d06515845dbb18a370f7856285596514242e99 + Reviewed-on: https://gerrit.openafs.org/15689 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit be8001f1d64a2d9da4fdaeff59fdc40e205d4526 +Author: Cheyenne Wills +Date: Thu Feb 8 12:22:13 2024 -0700 + + afs: Remove SRXAFSCB_FetchData/StoreData + + Commit 'client-64bit-file-size-support-20011031' (971b18bc42) introduced + the RPC functions SRXAFSCB_FetchData() and SRXAFSCB_StoreData with RPC + numbers of 65536 and 65537 respectively. + + Commit 'more-64bit-file-size-support-20011031' (c5b1a3775f) removed the + references from afscbint.xg, but did not remove the actual code. The + 65536 RPC number was reassigned to SRXAFSCB_GetCE64, and the commit: + 'This is mostly a rewrite of src/afs/afs_cell.c, and associated changes' + (629d08065) assigned the 65537 RPC to SRXAFSCB_GetCellByNum. + + Remove the 2 functions since there are no references other than the + prototype in afs_prototypes.h. + + This function is flagged due to a missing prototype when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + Reviewed-on: https://gerrit.openafs.org/15639 + Reviewed-by: Andrew Deason + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 379f7fc51d411990189ec28e48c91edc87d76120) + + Change-Id: I1a3539227d22e6df89d78245634dfeb14943035a + Reviewed-on: https://gerrit.openafs.org/15688 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit bb7eaafb2e87d313eeb0a7bedebe2aa7a797b005 +Author: Cheyenne Wills +Date: Fri Jan 12 08:56:31 2024 -0700 + + afs: Remove DFlushDCache() + + The function DFlushDcache() is not referenced anywhere within the + source tree. + + Remove the function DFlushDCache(). + + The commit: 'disconnected-shadow-directory-fixes-20090121' (4045f3d535) + removed the code reference to DFlushDCache() and the commit: + "dir: Prototype and function name cleanup" (5ad1e6cb90) removed the + function prototype. The function was introduced in the commit: + "disconnected-flush-before-shadowing-20090119" (e1cc987ea5). + + This function is flagged due to a missing prototype when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + "Makefile.extrawarn: turn on missing-prototypes globally" (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + Reviewed-on: https://gerrit.openafs.org/15615 + Tested-by: Benjamin Kaduk + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 432ac5810e51bb5bb2cf1df0bfebc64d1c4d7a39) + + Change-Id: Ib8ab79c76c633632215e02235f47fdb1d744e721 + Reviewed-on: https://gerrit.openafs.org/15684 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit bd2828f1ab4c88b95a5d075e29a942922aa86dba +Author: Cheyenne Wills +Date: Fri Jan 12 09:28:02 2024 -0700 + + afs: Remove dummy_PSetAcl() + + The function dummy_PSetAcl() is not referenced anywhere within the + source tree. + + Remove the function dummy_PSetAcl(). + + The commit: 'doxygen-comments-20081010' (4b72f8765c) + introduced the function, but dummy_PSetAcl() has never been referenced + or defined within a header file. + + This function is flagged due to a missing prototype when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + Reviewed-on: https://gerrit.openafs.org/15618 + Reviewed-by: Benjamin Kaduk + Tested-by: Benjamin Kaduk + (cherry picked from commit 05ca98687d882c72915e91430e29a4f2a36c502c) + + Change-Id: Ie4420a365e07d2d8564530e004df75330e86bea5 + Reviewed-on: https://gerrit.openafs.org/15687 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit cc8053e86eef75bff308e7606f2618e9fdc4ec5d +Author: Cheyenne Wills +Date: Fri Jan 12 09:13:27 2024 -0700 + + afs: Remove afs_osi_UnmaskUserLoop() + + The function afs_osi_UnmaskUserLoop() is not referenced anywhere within + the source tree. + + Remove the function afs_osi_UnmaskUserLoop(). + + The commit: 'darwin-afsdb-handler-signal-mask-20040728' (9728182c00) + introduced the function, but afs_osi_UnmaskUserLoop() has never been + referenced or defined within a header file. + + This function is flagged due to a missing prototype when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + Reviewed-on: https://gerrit.openafs.org/15617 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 587cfce29cb4e014e5b8d96e0433c5e7d2c6729a) + + Change-Id: I0fe91a41e8f00773cb1d5976a8c3e39e4415f6bc + Reviewed-on: https://gerrit.openafs.org/15686 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 4881af8e3cf3f7d09670ba4b5bb9b644a329530d +Author: Cheyenne Wills +Date: Fri Jan 12 09:09:39 2024 -0700 + + afs: Remove afs_MemExtendEntry() + + The function afs_MemExtendEntry() is not referenced anywhere within + the source tree. + + Remove the function afs_MemExtendEntry(). + + The commit: 'memcache: add extend-entry function' (f821c7e5c8) + introduced the function, but afs_MemExtendEntry() has never been + referenced or defined within a header file. + + This function is flagged due to a missing prototype when building + against a Linux 6.8 kernel (which sets the -Wmissing-declarations and + -Wmissing-prototypes compiler flags as default). Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f). + + When building against a kernel with CONFIG_WERROR=y, the build fails. + + Note, afsMemExtendedEntry() was a wrapper for the function + _afs_MemExtendedEntry(), which is still used. + + Reviewed-on: https://gerrit.openafs.org/15616 + Tested-by: Benjamin Kaduk + Reviewed-by: Benjamin Kaduk + (cherry picked from commit eab2a4ae758876bb7547d289f936f9cfc4227cf5) + + Change-Id: I37f241a6df33ab15249c6708d5ca820353c8b413 + Reviewed-on: https://gerrit.openafs.org/15685 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit ef7b8c578790d84c89f09c3236f1718725770e75 +Author: Cheyenne Wills +Date: Wed Feb 7 14:51:23 2024 -0700 + + cf: Add function prototypes for linux conftest + + The Linux 6.8 commit: + 'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f) + + added the compiler flags -Wmissing-declarations and -Wmissing-prototypes + as defaults for all kernel modules builds. This change causes configure + to fail for various Linux kernel tests. + + Update the template used to create the conftest.c file to provide a + function declaration for conftest(). + + Use a 'static' attribute when defining functions used within tests. + + Note: 2 configure tests (LINUX_INIT_WORK_AS_DATA and + LINUX_IOP_CREATE_TAKES_MODE_T) defined nested functions. Relocate the + nested functions to outside the body of conftest() to avoid compiler + errors due to nested function definitions. + + Reviewed-on: https://gerrit.openafs.org/15614 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 1440843b80e28db908bd8c264b8adbfb2c95b4d9) + + Change-Id: I38acb7b0cb08dec8e9bca5f3792fbf981884a74c + Reviewed-on: https://gerrit.openafs.org/15683 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 05ac6149f2f7998b6110c403d26757151b8e8ffe +Author: Mark Vitale +Date: Thu Mar 11 15:36:54 2021 -0500 + + afs: remove dead ICL (fstrace) code + + The ICL code (afs/afs_icl.c) which supports fstrace includes a number of + functions that have been dead code since the original IBM code import. + Some of these seem to have been intended to support fine-grained event + tracing, but the implementation was never completed. + + Remove the dead code. No functional change is incurred by this commit. + + Reviewed-on: https://gerrit.openafs.org/14555 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit ba58d9912cff07a6f2af7275017cf70115f1a88d) + + Change-Id: Ic0a6d5dac200e7e130fa8df66005bdaf291cf088 + Reviewed-on: https://gerrit.openafs.org/15682 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 9f052c137d1184a783c8ac3182c3544b275484f5 +Author: Andrew Deason +Date: Sat Jan 9 12:50:03 2021 -0600 + + afs: Remove SRXAFSCB_GetDE + + The GetDE RPC has been commented out from afscbint.xg effectively + since it was introduced, but we still define the SRXAFSCB_GetDE server + stub for it. + + This is useless, but also potentially dangerous, since the stub + routine just returns success, without populating the output arguments. + One of the output arguments is a string, and so if this RPC is + actually run, the rxgen-generated server code will try to xdr_string() + that string. Since we never set it to anything, this will result in + xdr_string trying to dereference a NULL pointer. + + None of this actually happens currently, since the GetDE RPC is + commented out. But to avoid the above situation if it's ever + uncommented, remove the useless SRXAFSCB_GetDE function. + + Reviewed-on: https://gerrit.openafs.org/14488 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 444a971edc47c34efbefed6e332ee6e843ae072b) + + Change-Id: I83846d79ce3143571923cb6023075620091f093d + Reviewed-on: https://gerrit.openafs.org/15681 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk + +commit 1e1bf8ebcd3c18b05326cd7b26a471db804aeaeb +Author: Andrew Deason +Date: Tue Jul 24 23:22:01 2018 -0500 + + LINUX: Minor osi_vfsop.c cleanup + + - Fix the formatting on afs_mount/afs_get_sb definitions + + - Declare a couple of functions static that are not referenced outside + of this file + + Reviewed-on: https://gerrit.openafs.org/13282 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit fa15fbda0aa0c3810695d9b867d3258b60e76b7c) + + Change-Id: I8a32475bf2ddb9c7206aef679947021925697c5a + Reviewed-on: https://gerrit.openafs.org/15680 + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Tested-by: Benjamin Kaduk + Reviewed-by: Benjamin Kaduk + +commit fca6fd911e493a344c040a95ea4ab820e2828802 +Author: Andrew Deason +Date: Thu Jun 28 12:50:52 2018 -0500 + + afs: Make afs_AllocDCache static + + Nothing using afs_AllocDCache outside of afs_dcache.c. Declare the + function static, to ensure that nobody else uses it, and to maybe + allow for more compiler optimization. + + Reviewed-on: https://gerrit.openafs.org/13226 + Tested-by: BuildBot + Reviewed-by: Benjamin Kaduk + (cherry picked from commit 4ab70de9641807bd06056f0c1ac79550453b9574) + + Change-Id: I6fd9e31c4b2e862174402f731a77c91599893223 + Reviewed-on: https://gerrit.openafs.org/15679 + Tested-by: BuildBot + Reviewed-by: Andrew Deason + Reviewed-by: Michael Meffie + Reviewed-by: Benjamin Kaduk diff --git a/README.SUSE.openafs b/README.SUSE.openafs new file mode 100644 index 0000000..7a9e58b --- /dev/null +++ b/README.SUSE.openafs @@ -0,0 +1,109 @@ +Here is described installation of openafs server and client on SUSE linux. + +This text is based on AFS Quick Start Guide. The differences are: + - paths are adapted to SUSE installation + - uses Kerberos 5 authentization + +Complete OpenAFS documentation is at http://openafs.org + +SERVER SETUP +============ + +# choose an AFS cell name and a Kerberos realm name, the simplest setup is: +# - AFS cell name equal to DNS domain name +# - Kerberos realm name equal to uppercase AFS cell name + +# create a partition for AFS filesystem and mount it under /vicepa + +# start bosserver +/usr/sbin/bosserver -noauth & + +# setup basic cell information +bos setcellname your.afs.server your.cell.name -noauth + +# setup database servers processes +bos create your.afs.server ptserver simple /usr/lib/openafs/ptserver -cell your.cell.name -noauth +bos create your.afs.server buserver simple /usr/lib/openafs/buserver -cell your.cell.name -noauth +bos create your.afs.server vlserver simple /usr/lib/openafs/vlserver -cell your.cell.name -noauth + +# If you want to use the old afs authentization (not recommended): +# bos addkey your.afs.server -kvno 0 -cell your.cell.name -noauth + +# Authentication against heimdal krb5 server + +# Here you can set up kerberos realm if you dont have any, +# see documentation in package krb5-doc + +# restart kdc +rckrb5kdc restart +rckrb524d restart + +# create afs principal in kerberos database +kadmin.local + add_principal afs@YOUR.KERBEROS.REALM # create afs key, use random password + ktremove -k /etc/krb5.keytab afs all # delete old afs key if any + + # export the afs key to external keytab + # note the key version number (kvno), you will need it later for asetkey + ktadd -e des-cbc-crc:v4 afs@YOUR.KERBEROS.REALM + + add_principal admin@YOUR.KERBEROS.REALM # create admin principal + + quit # end kadmin.local + +rm /etc/openafs/server/KeyFile # delete the old afs key file if any + +# convert the afs key from /etc/krb5.keytab to /etc/openafs/server/KeyFile +# use displayed by ktadd +asetkey add /etc/krb5.keytab afs + +# give admin the permissions to control bosserver +bos adduser your.afs.server admin -cell your.cell.name -noauth + +# add admin to group system:administrators +pts createuser -name admin -id -cell your.cell.name -noauth +pts adduser admin system:administrators -cell your.cell.name -noauth + +# restart bos server +bos restart your.afs.server -all -cell your.cell.name -noauth + +# create fileserver processes +bos create your.afs.server fs fs /usr/lib/openafs/fileserver /usr/lib/openafs/volserver /usr/lib/openafs/salvager -cell your.cell.name -noauth + +# create root volume +vos create your.afs.server /vicepa root.afs -cell your.cell.name -noauth + +# restart bosserver with security enabled +rcopenafs-fileserver restart + + +CLIENT SETUP +============ + +IMPORTANT: Unfortunately, openafs client for linux kernel 2.6 has not reached +stable state yet. There may be problems. + +edit /etc/sysconfig/openafs-client, set at least + REGENERATE_CELL_INFO="yes" + THIS_CELL="your.cell.name" + THIS_CELL_SERVER="your.afs.server" + + If you are configuring first afs server and the volume root.cell does not + exist yet, you have to set also DYNROOT=no. After finishing the server + installaton it is better to change DYNROOT back to 'yes' as the client + behaves better on startup with network outage. + +# start afs client +rcopenafs-client start + +# login as admin +kinit admin +aklog -d # convert Kerberos 5 ticket to AFS token + +To enable transparent login via pam, install package pam_krb5 +and add 'call_modules=krb5afs' to /etc/security/pam_unix2.conf +For details look at pam_krb5afs(5), pam_krb5afs(8) and pam_unix2(8) manpages. + +Now you have working afs server and client. You can continue with chapter +"Configuring the Top Levels of the AFS Filespace" of AFS Quick Start Guide. + diff --git a/RELNOTES-stable-1_8_x b/RELNOTES-stable-1_8_x new file mode 100644 index 0000000..bc345bf --- /dev/null +++ b/RELNOTES-stable-1_8_x @@ -0,0 +1,104 @@ +Preface: +======== + +This is the Release-Notes of the last official release. +However, +this version is based on the git branch "openafs-stable-1_8_x" +and thus has additional changes beside the ones for 1.8.11. +The reason for this is the compatibility with current Linux-Kernels. +The ChangeLog gives you all commits applied since then. +The versioning-scheme of these packages is: openafs-$LAST_OFFICIAL_RELEASE.git$DATE_OF_NEWEST_COMMIT + +The package-maintainer. + + + User-Visible OpenAFS Changes + +OpenAFS 1.8.11 + + All platforms + + * Check Rx RPC call number in incoming packets before allocating new + RPC calls to avoid re-running RPC calls when spurious packets are + received (15562) + + * Fix memory leaks (15516 15517) + + * Fix build failure when building with _FORTIFY_SOURCE (15518 15519) + + * Fix build failures when building with the clang compiler (15540 15541 + 15547 15548) + + * Improve error detection in OpenAFS directories for both clients + and servers (15544 15545 15546) + + * Add a Makefile target to build Red Hat RPM packages (15514) + + * Add support for custom version numbers in Red Hat RPM packages (15513) + + All server platforms + + * Fix File Server and Protection Server crashes due to recursive thread + lock bug (15609) + + * Fix fileserver crashes during startup (15509 15543) + + * The bosserver no longer creates the client configuration directory and + "ThisCell" and "CellServDB" symlinks. The "vos", "pts", and "bos" + commands now read cell configuration from the server cell configuration + directory when the client cell configuration directory is not present. + This change allows server packaging to be independent of client packaging + and removes the need for client configuration artifacts on hosts running + server processes only (15510 15511 15512) + + * Print a warning in the volserver log when an older version of a volume + is restored over an existing volume, unless the volume was restored with + "-overwrite full" (15531) + + * Print a warning in the bosserver log when the bosserver was not started + in restricted mode (15537) + + * Avoid unbounded string copies when looking up volumes by name in + the vlserver (15538) + + * Fix off-by-one directory entry name size check in salvager (15598) + + All client platforms + + * Updated the CellServDB to the latest version from grand.central.org + (15603) + + All UNIX/Linux client platforms + + * Fix PAG object memory leak which can degrade performance (15506) + + * Improve kernel memory reclamation after accessing a large number of + files (15536) + + * Improve cache corruption detection and refetch cache entries + when cache entry size mismatches are detected (15532 15533 15535) + + * Fix panic in user-space client (libuafs, Fuse client) (15539) + + Linux clients + + * Add support for Linux 6.7 (15600) + + * Add support for Linux 6.6 (15575 15589 15590) + + * Add support for Linux 6.5 (15520 15521 15522 15523 15558) + + * Fix BUG when directory entry names are longer than 16 characters. + Affects Linux 6.5 or higher built with GCC 13 or higher (15599) + + * Invalidate Linux VFS dentry caches in the AFS filesystem when running + "fs flush*" commands. This reduces the need to drop Linux VFS caches + by writing to the "/proc/sys/vm/drop_caches" file when + troubleshooting (15515) + + * Fix build failures (15507 15508 15596 15542 15549) + + macOS + + * Add support for MacOS 14 ("Sonoma") (15602) + diff --git a/afs3-bos.xml b/afs3-bos.xml new file mode 100644 index 0000000..7e7ea53 --- /dev/null +++ b/afs3-bos.xml @@ -0,0 +1,6 @@ + + + afs3-bos + OpenAFS basic overseer process (bosserver) + + diff --git a/afs3-callback.xml b/afs3-callback.xml new file mode 100644 index 0000000..05ae5a2 --- /dev/null +++ b/afs3-callback.xml @@ -0,0 +1,6 @@ + + + afs3-callback + OpenAFS callbacks to cache managers (clients) + + diff --git a/afs3-fileserver.xml b/afs3-fileserver.xml new file mode 100644 index 0000000..46178d9 --- /dev/null +++ b/afs3-fileserver.xml @@ -0,0 +1,6 @@ + + + afs3-fileserver + OpenAFS file server + + diff --git a/afs3-prserver.xml b/afs3-prserver.xml new file mode 100644 index 0000000..8c1de04 --- /dev/null +++ b/afs3-prserver.xml @@ -0,0 +1,6 @@ + + + afs3-prserver + OpenAFS users and groups database + + diff --git a/afs3-rmtsys.xml b/afs3-rmtsys.xml new file mode 100644 index 0000000..2e9fb94 --- /dev/null +++ b/afs3-rmtsys.xml @@ -0,0 +1,6 @@ + + + afs3-rmtsys + OpenAFS remote cache manager service + + diff --git a/afs3-update.xml b/afs3-update.xml new file mode 100644 index 0000000..98bcf6e --- /dev/null +++ b/afs3-update.xml @@ -0,0 +1,6 @@ + + + afs3-update + OpenAFS server-to-server updater + + diff --git a/afs3-vlserver.xml b/afs3-vlserver.xml new file mode 100644 index 0000000..cf7c181 --- /dev/null +++ b/afs3-vlserver.xml @@ -0,0 +1,6 @@ + + + afs3-vlserver + OpenAFS volume location database (VLDB) + + diff --git a/afs3-volser.xml b/afs3-volser.xml new file mode 100644 index 0000000..467d031 --- /dev/null +++ b/afs3-volser.xml @@ -0,0 +1,6 @@ + + + afs3-volser + OpenAFS volume managment server (volserver) + + diff --git a/d8b56f21994ce66d8daebb7d69e792f34c1a19ed b/d8b56f21994ce66d8daebb7d69e792f34c1a19ed new file mode 100644 index 0000000..11fc868 --- /dev/null +++ b/d8b56f21994ce66d8daebb7d69e792f34c1a19ed @@ -0,0 +1,76 @@ +commit d8b56f21994ce66d8daebb7d69e792f34c1a19ed +Author: Cheyenne Wills +Date: Wed Jun 12 14:24:01 2024 -0600 + + afs: avoid empty-body warning + + With Linux 6.10 commit: + "kbuild: turn on -Wextra by default" (f5982cceb3) + there are additional compiler warnings that can turn + into build errors when --enable-checking is used. + + "error: suggest braces around empty body in an ‘if’ + statement [-Werror=empty-body]" + + when there is an empty body, e.g. + if (foo) + ; + + Most cases are due to the macros afs_PutCell and afs_PutServer which are + "empty" macros. + + Update the afs_PutCell and afs_PutServer macros so they expand to + do {} while(0) + + Add a comment at the definitions for afs_PutCell and afs_PutServer to + document the reason for keeping them. + + Add braces to conditionals that have an empty body. + + There are no functional changes with this commit. + + Change-Id: I359723eb6a19d1c78449902b4f477da131b0fa18 + Reviewed-on: https://gerrit.openafs.org/15766 + Reviewed-by: Michael Meffie + Tested-by: BuildBot + Reviewed-by: Andrew Deason + +diff --git a/src/afs/afs.h b/src/afs/afs.h +index 4bde047e8..621a8a517 100644 +--- a/src/afs/afs.h ++++ b/src/afs/afs.h +@@ -349,7 +349,8 @@ struct cell_alias { + char *cell; + }; + +-#define afs_PutCell(cellp, locktype) ++/* In case someday a counterpart for afs_GetCell is needed */ ++#define afs_PutCell(cellp, locktype) do {} while(0) + + /* the unixuser flag bit definitions */ + #define UHasTokens 1 /* are the st and ct fields valid (ever set)? */ +@@ -537,7 +538,8 @@ struct server { + afs_int32 capabilities; + }; + +-#define afs_PutServer(servp, locktype) ++/* In case someday a counterpart for afs_GetServer is needed */ ++#define afs_PutServer(servp, locktype) do {} while(0) + + /* structs for some pioctls - these are (or should be) + * also in venus.h +diff --git a/src/afs/afs_cbqueue.c b/src/afs/afs_cbqueue.c +index 2dd633588..11e3aa3f1 100644 +--- a/src/afs/afs_cbqueue.c ++++ b/src/afs/afs_cbqueue.c +@@ -139,7 +139,9 @@ afs_DequeueCallback(struct vcache *avc) + debugvc = avc; + if (avc->callsort.prev) { + QRemove(&(avc->callsort)); +- } else; /* must have got dequeued in a race */ ++ } else { ++ /* must have got dequeued in a race */ ++ } + + return; + } /* afs_DequeueCallback */ diff --git a/handle_backports.diff b/handle_backports.diff new file mode 100644 index 0000000..dfe4155 --- /dev/null +++ b/handle_backports.diff @@ -0,0 +1,11 @@ +--- a/src/afs/LINUX/osi_vnodeops.c ++++ b/src/afs/LINUX/osi_vnodeops.c +@@ -971,7 +971,7 @@ + # else + .splice_write = generic_file_splice_write, + # endif +-# if LINUX_VERSION_CODE >= KERNEL_VERSION(6,5,0) ++# if LINUX_VERSION_CODE >= KERNEL_VERSION(6,4,0) + .splice_read = filemap_splice_read, + # else + .splice_read = generic_file_splice_read, diff --git a/kernel-source.build-modules.sh b/kernel-source.build-modules.sh new file mode 100644 index 0000000..55a308c --- /dev/null +++ b/kernel-source.build-modules.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +if [ $# != 1 ]; then + echo building a openafs-kernel module for the running kernel + echo Need one of: build build_debug install + exit 1 +fi + +rootdir=`cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd` + +if [ -z "$rootdir" ]; then + echo "failed to determine the dirname of this script" + exit 1 +fi + +cd "$rootdir" + +LOGFILE=libafs_tree/build.log +kernel_flavour=`uname -r | awk -F- '{print $NF}'` +kernel_version=`uname -r | sed "s/-$kernel_flavour//"` +arch=`uname -m` + +suse_flavour=`cat /etc/os-release | grep PRETTY_NAME | awk -F '=' '{print $2}'` +suse_version=`cat /etc/os-release | grep VERSION_ID | awk -F '=' '{print $2}'` + +echo This SUSE is version $suse_version of flavour $suse_flavour +echo you are running the kernel \"$kernel_version\" of flavour \"$kernel_flavour\" on \"$arch\" +echo all output is saved into $LOGFILE + +if [ $1 == "build_debug" ]; then + DEBUG_OPT="--enable-debug-kernel" +fi + +if [ $1 == "build" -o $1 == "build_debug" ]; then + cd libafs_tree + echo calling configure... + ./configure --with-linux-kernel-headers=/usr/src/linux/ --with-linux-kernel-build=/usr/src/linux-obj/$arch/$kernel_flavour $DEBUG_OPT > build.log 2>&1 + if [ $? != 0 ]; then + echo configure failed! See $LOGFILE for details + exit $? + fi + echo calling make + make >> build.log 2>&1 + if [ $? != 0 ]; then + echo make failed! See $LOGFILE for details + exit $? + fi + echo + echo build sucessfull! + echo Now run $0 install to install the kernel-modules + exit 0 +fi + + +if [ $1 == "install" ]; then + module_files="afspag.ko libafs.ko" + build_dir=libafs_tree/src/libafs/MODLOAD-$kernel_version-$kernel_flavour-MP/ + install_dir=/lib/modules/$kernel_version-$kernel_flavour + echo installing kernel-modules into + for mod in $module_files; do + cp -v $build_dir/$mod $install_dir/$mod + done + /sbin/depmod -a +fi diff --git a/kmp_only.files b/kmp_only.files new file mode 100644 index 0000000..105656b --- /dev/null +++ b/kmp_only.files @@ -0,0 +1,99 @@ +/usr/bin/aklog +/usr/bin/fs +/usr/bin/klog.krb5 +/usr/bin/pagsh +/usr/bin/pagsh.krb +/usr/bin/tokens +/usr/bin/tokens.krb +/usr/bin/unlog +/usr/bin/up +/usr/lib/firewalld/services/afs3-callback.xml +/usr/lib/firewalld/services/afs3-rmtsys.xml +/usr/sbin/afsd +/usr/sbin/fstrace +/usr/share/man/man1/aklog.1 +/usr/share/man/man1/copyauth.1 +/usr/share/man/man1/fs.1 +/usr/share/man/man1/fs_apropos.1 +/usr/share/man/man1/fs_bypassthreshold.1 +/usr/share/man/man1/fs_checkservers.1 +/usr/share/man/man1/fs_checkvolumes.1 +/usr/share/man/man1/fs_chgrp.1 +/usr/share/man/man1/fs_chown.1 +/usr/share/man/man1/fs_cleanacl.1 +/usr/share/man/man1/fs_copyacl.1 +/usr/share/man/man1/fs_cscpolicy.1 +/usr/share/man/man1/fs_discon.1 +/usr/share/man/man1/fs_diskfree.1 +/usr/share/man/man1/fs_examine.1 +/usr/share/man/man1/fs_exportafs.1 +/usr/share/man/man1/fs_flush.1 +/usr/share/man/man1/fs_flushall.1 +/usr/share/man/man1/fs_flushmount.1 +/usr/share/man/man1/fs_flushvolume.1 +/usr/share/man/man1/fs_getcacheparms.1 +/usr/share/man/man1/fs_getcalleraccess.1 +/usr/share/man/man1/fs_getcellstatus.1 +/usr/share/man/man1/fs_getclientaddrs.1 +/usr/share/man/man1/fs_getcrypt.1 +/usr/share/man/man1/fs_getfid.1 +/usr/share/man/man1/fs_getserverprefs.1 +/usr/share/man/man1/fs_getverify.1 +/usr/share/man/man1/fs_help.1 +/usr/share/man/man1/fs_listacl.1 +/usr/share/man/man1/fs_listaliases.1 +/usr/share/man/man1/fs_listcells.1 +/usr/share/man/man1/fs_listquota.1 +/usr/share/man/man1/fs_lsmount.1 +/usr/share/man/man1/fs_memdump.1 +/usr/share/man/man1/fs_messages.1 +/usr/share/man/man1/fs_minidump.1 +/usr/share/man/man1/fs_mkmount.1 +/usr/share/man/man1/fs_monitor.1 +/usr/share/man/man1/fs_newalias.1 +/usr/share/man/man1/fs_newcell.1 +/usr/share/man/man1/fs_nukenfscreds.1 +/usr/share/man/man1/fs_precache.1 +/usr/share/man/man1/fs_quota.1 +/usr/share/man/man1/fs_rmmount.1 +/usr/share/man/man1/fs_rxstatpeer.1 +/usr/share/man/man1/fs_rxstatproc.1 +/usr/share/man/man1/fs_setacl.1 +/usr/share/man/man1/fs_setcachesize.1 +/usr/share/man/man1/fs_setcbaddr.1 +/usr/share/man/man1/fs_setcell.1 +/usr/share/man/man1/fs_setclientaddrs.1 +/usr/share/man/man1/fs_setcrypt.1 +/usr/share/man/man1/fs_setquota.1 +/usr/share/man/man1/fs_setserverprefs.1 +/usr/share/man/man1/fs_setverify.1 +/usr/share/man/man1/fs_setvol.1 +/usr/share/man/man1/fs_storebehind.1 +/usr/share/man/man1/fs_sysname.1 +/usr/share/man/man1/fs_trace.1 +/usr/share/man/man1/fs_uuid.1 +/usr/share/man/man1/fs_whereis.1 +/usr/share/man/man1/fs_whichcell.1 +/usr/share/man/man1/fs_wscell.1 +/usr/share/man/man1/klog.krb5.1 +/usr/share/man/man1/pagsh.1 +/usr/share/man/man1/pagsh.krb.1 +/usr/share/man/man1/tokens.1 +/usr/share/man/man1/tokens.krb.1 +/usr/share/man/man1/unlog.1 +/usr/share/man/man1/up.1 +/usr/share/man/man5/afs_cache.5 +/usr/share/man/man5/afszcm.cat.5 +/usr/share/man/man5/cacheinfo.5 +/usr/share/man/man8/afsd.8 +/usr/share/man/man8/fstrace.8 +/usr/share/man/man8/fstrace_apropos.8 +/usr/share/man/man8/fstrace_clear.8 +/usr/share/man/man8/fstrace_dump.8 +/usr/share/man/man8/fstrace_help.8 +/usr/share/man/man8/fstrace_lslog.8 +/usr/share/man/man8/fstrace_lsset.8 +/usr/share/man/man8/fstrace_setlog.8 +/usr/share/man/man8/fstrace_setset.8 +/usr/share/openafs/C/afszcm.cat + diff --git a/logrotate.openafs-server b/logrotate.openafs-server new file mode 100644 index 0000000..cdae1f0 --- /dev/null +++ b/logrotate.openafs-server @@ -0,0 +1,11 @@ +/var/log/openafs/*Log { + daily + compress + dateext + rotate 7 + olddir /var/log/openafs/old + missingok + notifempty + create 640 root root + copytruncate +} diff --git a/openafs-client.service b/openafs-client.service new file mode 100644 index 0000000..30afaef --- /dev/null +++ b/openafs-client.service @@ -0,0 +1,21 @@ +[Unit] +Description=OpenAFS Client +Wants=network-online.target +After=syslog.target network-online.target +Before=remote-fs.target + +[Service] +Type=forking +RemainAfterExit=true +EnvironmentFile=/etc/sysconfig/openafs-client +ExecStartPre=/sbin/modprobe libafs +ExecStart=/usr/sbin/afsd $AFSD_ARGS +ExecStartPost=/usr/bin/fs sysname $SYSNAME +ExecStartPost=/usr/bin/fs setcrypt $CRYPT +ExecStop=/usr/bin/umount /afs +ExecStop=/usr/sbin/afsd -shutdown +ExecStop=/sbin/rmmod libafs +KillMode=none + +[Install] +WantedBy=multi-user.target remote-fs.target diff --git a/openafs-client.service.allow_unsupported b/openafs-client.service.allow_unsupported new file mode 100644 index 0000000..f68bdab --- /dev/null +++ b/openafs-client.service.allow_unsupported @@ -0,0 +1,20 @@ +[Unit] +Description=OpenAFS Client +Wants=network-online.target +After=syslog.target network-online.target +Before=remote-fs.target + +[Service] +Type=forking +RemainAfterExit=true +EnvironmentFile=/etc/sysconfig/openafs-client +ExecStartPre=/sbin/modprobe libafs --allow-unsupported +ExecStart=/usr/sbin/afsd $AFSD_ARGS +ExecStartPost=/usr/bin/fs sysname $SYSNAME +ExecStartPost=/usr/bin/fs setcrypt $CRYPT +ExecStop=/usr/bin/umount /afs +ExecStop=/usr/sbin/afsd -shutdown +ExecStop=/sbin/rmmod libafs + +[Install] +WantedBy=multi-user.target remote-fs.target diff --git a/openafs-fuse-client.service b/openafs-fuse-client.service new file mode 100644 index 0000000..3a339e4 --- /dev/null +++ b/openafs-fuse-client.service @@ -0,0 +1,19 @@ +[Unit] +Description=OpenAFS Client Service +Wants=network-online.target +After=syslog.target network-online.target +Before=remote-fs.target + +[Service] +Type=forking +RemainAfterExit=true +EnvironmentFile=/etc/sysconfig/openafs-fuse-client +ExecStart=/usr/sbin/afsd.fuse $AFSD_ARGS +ExecStartPost=/usr/bin/fs sysname $SYSNAME +ExecStartPost=/usr/bin/fs setcrypt $CRYPT +ExecStop=/usr/bin/umount /afs +ExecStop=/usr/sbin/afsd.fuse -shutdown +KillMode=none + +[Install] +WantedBy=multi-user.target remote-fs.target diff --git a/openafs-server.service b/openafs-server.service new file mode 100644 index 0000000..c33728f --- /dev/null +++ b/openafs-server.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenAFS Server +After=syslog.target network.target + +[Service] +EnvironmentFile=-/etc/sysconfig/openafs-server +ExecStart=/usr/sbin/bosserver -nofork $BOSSERVER_ARGS +ExecStop=/usr/sbin/bos shutdown localhost -wait -localauth + +[Install] +WantedBy=multi-user.target diff --git a/openafs-stable-1_8_x-doc.tar.bz2 b/openafs-stable-1_8_x-doc.tar.bz2 new file mode 100644 index 0000000..777a3c4 --- /dev/null +++ b/openafs-stable-1_8_x-doc.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20c484ebfcedae2f5c3f7fe3ea5b0b02d7a05c0490ea75c80d255b1fe6e336fd +size 3370191 diff --git a/openafs-stable-1_8_x-doc.tar.bz2.md5 b/openafs-stable-1_8_x-doc.tar.bz2.md5 new file mode 100644 index 0000000..7ec416b --- /dev/null +++ b/openafs-stable-1_8_x-doc.tar.bz2.md5 @@ -0,0 +1 @@ +0fa436de034023841082afa08ab08bdf /home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-doc.tar.bz2 diff --git a/openafs-stable-1_8_x-doc.tar.bz2.sha256 b/openafs-stable-1_8_x-doc.tar.bz2.sha256 new file mode 100644 index 0000000..b451957 --- /dev/null +++ b/openafs-stable-1_8_x-doc.tar.bz2.sha256 @@ -0,0 +1 @@ +20c484ebfcedae2f5c3f7fe3ea5b0b02d7a05c0490ea75c80d255b1fe6e336fd /home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-doc.tar.bz2 diff --git a/openafs-stable-1_8_x-src.tar.bz2 b/openafs-stable-1_8_x-src.tar.bz2 new file mode 100644 index 0000000..d681f72 --- /dev/null +++ b/openafs-stable-1_8_x-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7afd3cab43d1dd6078c944cfb97ca2aee622187a5443b97166a3a25384fb01a +size 14596525 diff --git a/openafs-stable-1_8_x-src.tar.bz2.md5 b/openafs-stable-1_8_x-src.tar.bz2.md5 new file mode 100644 index 0000000..d5647b2 --- /dev/null +++ b/openafs-stable-1_8_x-src.tar.bz2.md5 @@ -0,0 +1 @@ +63de2df7b8b37f9305a12024ed400fb6 /home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-src.tar.bz2 diff --git a/openafs-stable-1_8_x-src.tar.bz2.sha256 b/openafs-stable-1_8_x-src.tar.bz2.sha256 new file mode 100644 index 0000000..5d69ca5 --- /dev/null +++ b/openafs-stable-1_8_x-src.tar.bz2.sha256 @@ -0,0 +1 @@ +c7afd3cab43d1dd6078c944cfb97ca2aee622187a5443b97166a3a25384fb01a /home/hanke/obs/home:hauky:branches:filesystems/openafs/openafs-stable-1_8_x-src.tar.bz2 diff --git a/openafs.CellAlias b/openafs.CellAlias new file mode 100644 index 0000000..83d3c83 --- /dev/null +++ b/openafs.CellAlias @@ -0,0 +1 @@ +openafs.org openafs diff --git a/openafs.SuidCells b/openafs.SuidCells new file mode 100644 index 0000000..473a0f4 diff --git a/openafs.ThisCell b/openafs.ThisCell new file mode 100644 index 0000000..c87b55d --- /dev/null +++ b/openafs.ThisCell @@ -0,0 +1 @@ +openafs.org diff --git a/openafs.cacheinfo b/openafs.cacheinfo new file mode 100644 index 0000000..374bb61 --- /dev/null +++ b/openafs.cacheinfo @@ -0,0 +1 @@ +/afs:/var/cache/openafs:102400 diff --git a/openafs.changes b/openafs.changes new file mode 100644 index 0000000..25d43d5 --- /dev/null +++ b/openafs.changes @@ -0,0 +1,910 @@ +------------------------------------------------------------------- +Wed Aug 14 06:46:15 UTC 2024 - Christof Hanke + +- update to latest git branch stable-1_8_x +- change version to openafs-1.8.12-g... since the new stable release is 1.8.12 +- apply intermediate patches for kernel 6.10 + * 03b280649f5e22ed74c217d7c98c3416a2fa9052: Linux-6.10: remove includes for asm/ia32_unistd.h + * 0f6a3a402f4a66114da9231032bd68cdc4dee7bc: Linux-6.10: Use filemap_alloc_folio when avail + * 658942f2791fad5e33ec7542158c16dfc66eed39: Linux-6.10: define a wrapper for vmalloc + * d8b56f21994ce66d8daebb7d69e792f34c1a19ed: afs: avoid empty-body warning + * 7097eec17bc01bcfc12c4d299136b2d3b94ec3d7: Linux 6.10: Move 'inline' before func return type + +------------------------------------------------------------------- +Fri Jun 14 05:47:03 UTC 2024 - Christof Hanke + +- change source-code base to git branch stable-1_8_x + * required for keeping up with Linux kernel development. +- new versioning scheme: openafs-$LAST_OFFICIAL_RELEASE.git$DATE_OF_NEWEST_COMMIT +- add note in RELNOTES about this change +- update ChangeLog from git + +------------------------------------------------------------------- +Mon Feb 26 12:45:02 UTC 2024 - Dominique Leuenberger + +- Use %patch -P N instead of deprecated %patchN. + +------------------------------------------------------------------- +Mon Jan 29 09:56:45 UTC 2024 - Christof Hanke + +- update to openafs-1.8.11~pre1 +- remove intermediate patches for newer Linux-kernels: + * fef2457.diff + * d15c7ab.diff + * 63801cf.diff + * 538f450.diff + * 6de0a64.diff + * 5b647bf.diff + * 6413fdb.diff + * 4f1d810.diff + +------------------------------------------------------------------- +Mon Dec 11 04:58:30 UTC 2023 - Christof Hanke + +- patch upstream patch fef2457.diff for 6.5 to handle backport by SUSE + * handle_backports.diff + +------------------------------------------------------------------- +Fri Nov 10 08:53:16 UTC 2023 - Christof Hanke + +- apply upstream-patches for kernel 6.6: + * 5b647bf.diff + * 6413fdb.diff + * 4f1d810.diff + +- replace upstream-patch for kernel 6.5 474750a.diff by correct commit + 6de0a64.diff for branch openafs-stable-1_8_x + + +------------------------------------------------------------------- +Mon Oct 2 07:29:50 UTC 2023 - Christof Hanke + +- apply upstream-patches for kernel 6.5: + * 63801cf.diff + * d15c7ab.diff + * fef2457.diff + * 538f450.diff + * 474750a.diff + +------------------------------------------------------------------- +Mon Jul 10 10:24:31 UTC 2023 - Christof Hanke + +- update to official openafs-1.8.10 +- remove obsolete patches: + * 7a3ad3bc.diff + * b885159.diff + * f6fbb85.diff + * 4cf7a9a.diff + +------------------------------------------------------------------- +Tue May 30 12:21:37 UTC 2023 - Christof Hanke + +- remove obsolete macro-call %{stop_on_removal} from spec-file + +------------------------------------------------------------------- +Mon May 15 06:48:21 UTC 2023 - Christof Hanke + +- apply upstream-patches for kernel 6.3: + * f6fbb85.diff + * 7a3ad3bc.diff + +------------------------------------------------------------------- +Thu Mar 2 14:01:53 UTC 2023 - Christof Hanke + +- apply patch from upstream for kernel 6.2: + * b885159.diff +- change BuildArch for subpackage kernel-source to noarch + +------------------------------------------------------------------- +Wed Jan 4 08:14:39 UTC 2023 - Christof Hanke + +- update to offical openafs-1.8.9 + * all changes as openafs-1.8.9pre2 + * fix possible DoS attack + +------------------------------------------------------------------- +Mon Dec 12 07:40:28 UTC 2022 - Christof Hanke + +- update to openafs-1.8.9pre2 + * Support mainline kernels up to 6.0 + * Support for building with more recent compilers + * some bugfixes, more see RELNOTES +- remove obsolete patches: + * 79f03c2.diff + +------------------------------------------------------------------- +Wed Oct 12 16:19:20 UTC 2022 - Christof Hanke + +- update to openafs-1.8.9pre1 +- remove obsolete patches: + * 05b722d.diff + * cc8edf7.diff + * 6348262.diff +- apply patch for kernel 6.0: + * 79f03c2.diff + + +------------------------------------------------------------------- +Tue Aug 16 09:54:58 UTC 2022 - Christof Hanke + +- update to current of upstream-branch openafs-stable-1_8_x +- apply patches for 15.9: + * 05b722d.diff 6348262.diff cc8edf7.diff +- remove patches now in openafs-stable-1_8_x + * fix_gcc_12_linux_5.18.diff + +------------------------------------------------------------------- +Wed Jun 22 16:13:18 UTC 2022 - Christof Hanke + +- apply patches adressing: + * Linux-5.17 and 5.18, gcc-11 and 12: fix_gcc_12_linux_5.18.diff +- remove patches from previous commit: + * a714e86.diff and 449d1fa.diff + * gcc-11.diff + +------------------------------------------------------------------- +Wed Apr 20 06:24:41 UTC 2022 - Christof Hanke + +- apply patches marked for upcoming release: + * kernel 5.17: a714e86.diff and 449d1fa.diff + * gcc-11: gcc-11.diff + +------------------------------------------------------------------- +Mon Mar 28 20:27:18 UTC 2022 - Christof Hanke + +- do not create client-package without KMP + +------------------------------------------------------------------- +Mon Feb 21 10:48:51 UTC 2022 - Christof Hanke + +- remove patch dir_layout.patch + this can be done via environment-variables +- replace openafs-1.8.x.ncurses6.patch with patch 4cf7a9a.diff. + 4cf7a9a.diff is coming from upstream and will be incorporated at some point. + +------------------------------------------------------------------- +Sun Jan 23 15:48:09 UTC 2022 - Christof Hanke + +- Update to new upstream release 1.8.8.1 + * Support mainline kernels 5.14, 5.15 and 5.16 +- remove local patch linux-kmp.patch: + * it supported mainline kernels only up to 5.15 + +------------------------------------------------------------------- +Mon Nov 29 15:08:46 UTC 2021 - Christof Hanke + +- re-add linux-kmp.patch. Required for 5.15 + +------------------------------------------------------------------- +Fri Oct 1 09:08:58 UTC 2021 - Guillaume GARDET + +- Fix %ifarch for 32-bit arm + +------------------------------------------------------------------- +Tue Aug 3 22:32:14 UTC 2021 - Christof Hanke + +- update to openafs version 1.8.8 +- remove linux-kmp.patch. Not required at the minute. + +------------------------------------------------------------------- +Thu Apr 29 07:01:26 UTC 2021 - Christof Hanke + +- add patches for kernel 5.12 to linux-kmp.patch + +------------------------------------------------------------------- +Thu Mar 4 14:57:26 UTC 2021 - Christof Hanke + +- add patches for kernel 5.11 to linux-kmp.patch + +------------------------------------------------------------------- +Mon Feb 22 16:38:07 UTC 2021 - Michael Meffie + +- fix building of perl module AFS::ukernel + +------------------------------------------------------------------- +Mon Feb 22 11:44:25 UTC 2021 - Matthias Gerstner + +- kernel-source.build-modules.sh: choose safe CWD while executing the build to + prevent files being created in unsafe locations. Use new SUSE naming + convention and rely on /etc/os-release, since /etc/SuSE-release no longer + exists. + +------------------------------------------------------------------- +Fri Feb 5 08:41:48 UTC 2021 - Christof Hanke + +- use stock 1.8.7 from openafs.org + * git-version might contain experimental code + * add linux-kmp.patch for newer kernels + +------------------------------------------------------------------- +Sat Jan 16 23:01:13 UTC 2021 - Christof Hanke + +- update to HEAD of git branch openafs-stable-1_8_x + * fix critical bug described in + https://lists.openafs.org/pipermail/openafs-info/2021-January/043026.html + * remove remove-get_ds-usage.patch + * remove add_arch_to_linux_kernel_make.patch + +------------------------------------------------------------------- +Mon Jan 11 10:01:15 UTC 2021 - Christof Hanke + +- cleanup spec-file + * do not include firewalld-stuff for SLE_12 + * use %ifarch instead of %if %{_arch} + * enable retpol line for TW x86_64 again + +------------------------------------------------------------------- +Mon Nov 2 09:20:37 UTC 2020 - Christof Hanke + +- update to HEAD of git branch openafs-stable-1_8_x + +------------------------------------------------------------------- +Mon Oct 12 15:15:08 UTC 2020 - Christof Hanke + +- add firewalld-configuration files +- enable loading of unsupported kernel-module on SLES15 + +------------------------------------------------------------------- +Mon Aug 17 12:49:33 UTC 2020 - Christof Hanke + +- update to HEAD of git branch openafs-stable-1_8_x + * kernel 5.8 not supported by 1.8.6 + and no official package-upates out yet. + +------------------------------------------------------------------- +Mon Aug 10 08:43:10 UTC 2020 - Christof Hanke + +- add patch remove-get_ds-usage.patch to fix building KMP on aarch64 + +------------------------------------------------------------------- +Wed Jul 1 08:53:44 UTC 2020 - Christof Hanke + +- update to official 1.8.6 + * remove patch 4c4bdde.diff + * remove patch d3c7f75.diff + * use source URLs again + +------------------------------------------------------------------- +Tue Jun 16 12:56:21 UTC 2020 - Christof Hanke + +- remove fix_timeval_i586.patch + +------------------------------------------------------------------- +Tue Jun 16 12:55:14 UTC 2020 - Christof Hanke + +- disable retpol line for TW x86_64. It does not compile. + +------------------------------------------------------------------- +Mon Jun 15 08:24:17 UTC 2020 - Christof Hanke + +- update to HEAD of git branch openafs-stable-1_8_x. + * 1.8.6pre3 is not out yet. + * disable source URLs, none are present +- Fix build with GCC-10 + * add patch 4c4bdde.diff + * add patch d3c7f75.diff +- create ld.so.conf-file dynamically + +------------------------------------------------------------------- +Sat Apr 18 07:07:48 UTC 2020 - Christof Hanke + +- update to 1.8.6pre2 +- disable fix_timeval_i586.patch + +------------------------------------------------------------------- +Fri Apr 10 06:36:58 UTC 2020 - Christof Hanke + +- update to HEAD of git branch openafs-stable-1_8_x. + * 1.8.6pre2 is not out yet. + * disable source URLs, none are present + * remove patch forward-to-1.8.6.pre1.patch +- fix build of i586 with fix_timeval_i586.patch + +------------------------------------------------------------------- +Thu Apr 2 06:08:09 UTC 2020 - Christof Hanke + +- update to pre-release 1.8.6pre1: forward-to-1.8.6.pre1.patch + +------------------------------------------------------------------- +Wed Oct 23 13:48:04 UTC 2019 - Christof Hanke + +- update to security-release 1.8.5, adresses: + * OPENAFS-SA-2019-001: Skip server OUT args on error + * OPENAFS-SA-2019-002: Zero all server RPC args + * OPENAFS-SA-2019-003: ubik: Avoid unlocked ubik_currentTrans deref + +------------------------------------------------------------------- +Thu Oct 10 09:10:27 UTC 2019 - Christof Hanke + +- update to official version 1.8.4 +- support Linux-kernel 5.3 +- Avoid non-dir ENOENT errors in afs_lookup +- fix parsing of fileservers with -vlruthresh, etc. +- other bugfixes + +------------------------------------------------------------------- +Thu Sep 26 20:56:05 UTC 2019 - Christof Hanke + +- update to pre-release 1.8.4pre2 + * fix builds for Linux-kernels 5.3 + +------------------------------------------------------------------- +Sun Jul 28 18:34:40 UTC 2019 - Christof Hanke + +- disable compilation with LTO, does not work yet. + +------------------------------------------------------------------- +Tue Apr 30 10:17:44 UTC 2019 - Christof Hanke + +- update to 1.8.3 +- Require krb5-client for package openafs-client +- fix broken directory layout +- fix broken post-install script +- allow crypt to be set/unset on startup of client +- clean up source-filenames + +------------------------------------------------------------------- +Mon Mar 25 11:32:32 UTC 2019 - Jan Engelhardt + +- Use source URLs. + +------------------------------------------------------------------- +Thu Mar 14 08:37:04 UTC 2019 - Christof Hanke + +- update to pre-release 1.8.3pre1 + * fix builds for Linux-kernels 4.20 and 5.0 + * other fixes, see RELNOTES-1.8.3pre1 + * remove obsolete Linux-4.20.patch + +------------------------------------------------------------------- +Wed Jan 16 11:28:27 UTC 2019 - christof.hanke@mpcdf.mpg.de + +- Fix build for Lunux-4.20: Linux-4.20.patch +- use proper log-directory: dir_layout.patch + +------------------------------------------------------------------- +Fri Sep 28 12:47:02 UTC 2018 - Guillaume GARDET + +- Fix build for aarch64 + +------------------------------------------------------------------- +Wed Sep 12 12:37:15 UTC 2018 - Jan Engelhardt + +- Quote "*.c", and avoid unnecessary pass through xargs. + +------------------------------------------------------------------- +Wed Sep 12 10:41:43 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- update to security-release 1.8.2 + * fix CVE-2018-16947 (OPENAFS-SA-2018-001) + * fix CVE-2018-16948 (OPENAFS-SA-2018-002) + * fix CVE-2018-16949 (OPENAFS-SA-2018-003) + +------------------------------------------------------------------- +Wed Sep 12 05:46:01 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- add retpoline support + +------------------------------------------------------------------- +Sun Sep 9 08:14:26 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- update to version 1.8.1.1 +- Remove use_timespec64_for_kernel_4.18.patch. It is now integrated. + +------------------------------------------------------------------- +Thu Aug 16 14:02:44 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- Fix 32Bit build by adding + commit 554176bd236d772d670df9bdd2496facd5a4209a as + use_timespec64_for_kernel_4.18.patch + +------------------------------------------------------------------- +Thu Aug 16 07:53:42 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- Update to 1.8.1 +- Remove backporting patches for AArch64 build: + * add_support_fo_arm64_linux26.patch + * dont_require_AFS_SYSCALL.patch + * add_AFS_STRINGIZE_macro.patch + * avoid_double_param_in_arm64_kernel.patch + +------------------------------------------------------------------- +Wed Jun 27 19:09:41 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- adjust building of KMP to new kernels (see boo 1098050) + add patch add_arch_to_linux_kernel_make.patch for this +- add libtirpc-devel to BuildRequires: +- minor cleanups + +------------------------------------------------------------------- +Fri May 4 07:29:15 UTC 2018 - guillaume.gardet@opensuse.org + +- Update to 1.8.0 +- Fix AArch64 build by updating spec and backporting patches: + * add_support_fo_arm64_linux26.patch + * dont_require_AFS_SYSCALL.patch + * add_AFS_STRINGIZE_macro.patch + * avoid_double_param_in_arm64_kernel.patch + +------------------------------------------------------------------- +Thu Apr 19 16:53:21 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- remove package krb5-mit. It contained binaries for server and client. + Besides, client and server already had an implicit dependency on krb5. + Put the binaries to client and server-package respectively. +- Remove openafs-1.8.x.heimdal.patch and everything heimdal-related. + SUSE does not provide a proper heimdal and it's untested for a long + time. + +------------------------------------------------------------------- +Mon Apr 16 15:35:15 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- fdupes: use symlinks instead of hardlinks. Do not fdupe + /etc and /var + +------------------------------------------------------------------- +Fri Apr 6 10:53:13 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- fix dependencies between packages, so that fuse-client + can be installed. +- cleanup old sys-v sysconfig files and other minor fixes +- fix unit file for fuse-client + +------------------------------------------------------------------- +Mon Apr 2 20:59:53 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- build fuse-client unconditionally. +- do not build KMP on unsupported architectures so that overall + build succeeds. + +Wed Mar 28 05:39:53 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- rename binary backup to afs_backup. + - rename man pages and prefix "backup" in content +- prefix "scout" by "afs_" in man-page +- remove unnecessary macro indirection %ARCH +- replace hard-coded paths by macros +- make whitespace more consistent +- minor syntax and typo fixes + +------------------------------------------------------------------- +Sun Mar 18 23:34:56 UTC 2018 - jengelh@inai.de + +- Replace old $RPM_* vars (most of them) by macros. +- Replace unnecessary macro indirections like %bindir by %_bindir. + +------------------------------------------------------------------- +Thu Mar 15 08:28:10 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- cleanup last cleanup: also remove rc.* files + +------------------------------------------------------------------- +Tue Mar 6 10:03:44 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- cleanup package for Factory: + - rename package to openafs. + - remove sys-v init stuff. + - apply recommendations given in Request 581009 + +------------------------------------------------------------------- +Wed Feb 28 09:25:52 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- add compat macro for new _fillupdir macro introduced in Nov 2017 + +------------------------------------------------------------------- +Wed Feb 28 08:30:33 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- update to 1.8.0pre5 + +------------------------------------------------------------------- +Sun Jan 7 08:31:00 UTC 2018 - christof.hanke@mpcdf.mpg.de + +- update to 1.8.0pre4 +- add patch for ncurses detection + +------------------------------------------------------------------- +Thu Dec 7 11:07:30 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- update to 1.8.0pre3 +- add integrity check of tar-balls + +------------------------------------------------------------------- +Fri Sep 1 20:07:48 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- do not strip binaries on install +- fix %postun server + +------------------------------------------------------------------- +Fri Sep 1 11:51:03 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- update to 1.8.0pre2 +- use a preamble-file for KMP +- sort/cleanup/beautify spec-file + +------------------------------------------------------------------- +Fri Sep 1 07:05:21 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- spec-file: + + use hardlinks for fdupes to provide correct header files in + kernel-source + + minor bugfixes, reorganization +- rename changes file to openafs18.changes + +------------------------------------------------------------------- +Thu Feb 9 14:41:57 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- rename package to openafs18-* so they don't override + stable openafs-1.6 ones +- move ld.so to main package -- was in server-packages + +------------------------------------------------------------------- +Tue Feb 7 11:23:22 UTC 2017 - christof.hanke@mpcdf.mpg.de + +- enable building of KMP +- make openafs-krb5-mit package dependend on openafs-client package +- add ld.so - config to main package + +------------------------------------------------------------------- +Fri Jan 27 21:15:12 UTC 2017 - christof.hanke@rzg.mpg.de + +- remove pam, is not build on x86_64 and i596 + +------------------------------------------------------------------- +Mon Dec 26 18:59:09 UTC 2016 - christof.hanke@rzg.mpg.de + +- first version of 1.8 +- remove docs package, put man pages in induvidual packets +- remove layout-patch, deal with this in spec file directly + +------------------------------------------------------------------- +Sat Dec 3 14:56:56 UTC 2016 - christof.hanke@rzg.mpg.de + +- add new ChangeLog + +------------------------------------------------------------------- +Thu Dec 1 04:35:39 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.20 + +------------------------------------------------------------------- +Wed Nov 16 09:21:52 UTC 2016 - christof.hanke@rzg.mpg.de + +- add missing RemainAfterExit=true to client-systemd unit. + +------------------------------------------------------------------- +Tue Nov 15 09:28:55 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.19 + +------------------------------------------------------------------- +Tue Oct 4 11:19:50 UTC 2016 - aj@suse.com + +- Update README: Change SuSE to SUSE. + +------------------------------------------------------------------- +Thu Jul 21 07:52:14 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.18.2 + +------------------------------------------------------------------- +Fri Jun 24 04:42:48 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.18.1 + +------------------------------------------------------------------- +Tue May 10 15:19:28 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.18 + +Thu Mar 17 06:35:21 UTC 2016 - christof.hanke@rzg.mpg.de + +- update to version 1.6.17 +- cleanup + +------------------------------------------------------------------- +Fri Dec 18 06:53:08 UTC 2015 - christof.hanke@rzg.mpg.de + +- update to version 1.6.16 +- remove fix for configure for new ncurses, now dealt with in + shipped package + +------------------------------------------------------------------- +Sat Nov 21 04:47:46 UTC 2015 - christof.hanke@rzg.mpg.de + +- start using change.log again +- fix configure test for new ncurses + +------------------------------------------------------------------- +Thu Jun 17 17:04:25 UTC 2010 - cseader@novell.com + +- update to version 1.4.12.1 + +------------------------------------------------------------------- +Wed Jan 25 21:39:00 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Jan 23 15:58:43 CET 2006 - nadvornik@suse.cz + +- fixed kernel module to compile + +------------------------------------------------------------------- +Wed Jan 11 05:30:18 CET 2006 - mge@suse.de +- add openafs.SuidCells and openafs.CellServDB +- cleanup SPEC-file(s) +- finally adopt + sysconfig.transarcmode.openafs-client + rc.transarcmode.afs-server + rc.transarcmode.afs-client + to transarc mode; and fix a small typo in + rc.defaultmode.afs-client + +------------------------------------------------------------------- +Fri Jan 6 01:12:31 CET 2006 - mge@suse.de +- set "%defattr(-,root,root)" for transarcmode-file-lists +- fix lib64 build problem in transarcmode + +------------------------------------------------------------------- +Thu Jan 5 13:40:42 CET 2006 - mge@suse.de +- introduce transarc-mode and default-mode +- introduce "options" + +------------------------------------------------------------------- +Thu Dec 29 16:07:00 CET 2005 - mge@suse.de +- build for SLES 9 +- with heimdal krb5 support +- enable-largefile-fileserver + +------------------------------------------------------------------- +Wed Dec 21 16:09:26 CET 2005 - nadvornik@suse.cz + +- updated to 1.4.0 +- fixed dangerous compiler warnings + +------------------------------------------------------------------- +Mon Oct 31 12:37:05 CET 2005 - dmueller@suse.de + +- don't build as root + +------------------------------------------------------------------- +Fri Aug 26 12:51:02 CEST 2005 - nadvornik@suse.cz + +- fixed kernel module to build +- fixed sysconfig file name + +------------------------------------------------------------------- +Thu Jul 14 17:25:25 CEST 2005 - nadvornik@suse.cz + +- updated to 1.3.85 +- used LSB conforming init script names + +------------------------------------------------------------------- +Tue Jul 5 10:44:32 CEST 2005 - hare@suse.de + +- Update for linux 2.6.13. + +------------------------------------------------------------------- +Thu May 12 12:27:01 CEST 2005 - nadvornik@suse.cz + +- gcc4 fixes in kernel module + +------------------------------------------------------------------- +Tue Apr 12 17:02:34 CEST 2005 - nadvornik@suse.cz + +- fixed to compile with gcc4 + +------------------------------------------------------------------- +Wed Feb 23 12:08:07 CET 2005 - nadvornik@suse.cz + +- fixed memory leaks and 64bit fixes backported from 1.3.79 +- updated README.SUSE + +------------------------------------------------------------------- +Thu Feb 3 13:19:05 CET 2005 - nadvornik@suse.cz + +- updated to 1.3.78 + +------------------------------------------------------------------- +Mon Jan 31 15:58:33 CET 2005 - nadvornik@suse.cz + +- fixed afs.h to be usable from userspace [#50283] + +------------------------------------------------------------------- +Tue Jan 25 10:57:09 CET 2005 - nadvornik@suse.cz + +- updated to latest snapshot + +------------------------------------------------------------------- +Wed Sep 15 12:37:04 CEST 2004 - nadvornik@suse.cz + +- added requres: kernel-nongpl [#45167] +- fixed kernel module oops [#44618] + +------------------------------------------------------------------- +Wed Aug 11 15:51:03 CEST 2004 - nadvornik@suse.cz + +- use kernel module from openafs 1.3.70 to support kernel 2.6 + +------------------------------------------------------------------- +Mon Mar 08 17:18:49 CET 2004 - nadvornik@suse.cz + +- updated to 1.2.11 +- added note that client for kernel 2.6 is not available + +------------------------------------------------------------------- +Tue Jan 20 18:48:21 CET 2004 - ro@suse.de + +- added pam-devel to neededforbuild + +------------------------------------------------------------------- +Sat Dec 13 00:23:45 CET 2003 - meissner@suse.de + +- Added hack if no MTU came from userspace. +- Removed superflous ppc64 patch part. + +------------------------------------------------------------------- +Thu Dec 11 09:29:31 CET 2003 - meissner@suse.de + +- ppc64 port added (status: no longer crashes, talks to the network, + but not successfully). +- Change headerfiles to make it possible to do a ppc -> ppc64 crosscompile. + +------------------------------------------------------------------- +Mon Oct 6 17:30:17 CEST 2003 - olh@suse.de + +- build with -fPIC on ppc32 + +------------------------------------------------------------------- +Tue Sep 16 17:37:34 CEST 2003 - nadvornik@suse.cz + +- patch from cvs to use AllocLargeSpace for struct osi_file to prevent + oopses with some kernel configurations + +------------------------------------------------------------------- +Thu Sep 11 12:58:57 CEST 2003 - nadvornik@suse.cz + +- added option DYNROOT to sysconfig and enabled it by default [#27205] + +------------------------------------------------------------------- +Wed Sep 10 17:07:51 CEST 2003 - nadvornik@suse.cz + +- added cleanup before module build [#29649] + +------------------------------------------------------------------- +Tue Sep 09 18:33:38 CEST 2003 - nadvornik@suse.cz + +- fixed possible segfault + +------------------------------------------------------------------- +Thu Sep 04 12:30:00 CEST 2003 - nadvornik@suse.cz + +- set permissions of /var/lib/openafs to 700 +- README.SuSE fixes + +------------------------------------------------------------------- +Thu Aug 28 17:11:47 CEST 2003 - nadvornik@suse.cz + +- use ghost for /afs, the directory is created by init-script +- fixed README.SuSE + +------------------------------------------------------------------- +Thu Aug 21 14:32:58 CEST 2003 - nadvornik@suse.cz + +- moved all static libraries to /usr/lib/afs, fixes conflict with libdes +- used default value for THIS_CELL_SERVER_NAME +- removed old patches + +------------------------------------------------------------------- +Tue Aug 12 11:10:46 CEST 2003 - nadvornik@suse.cz + +- fixed a bug in init script + +------------------------------------------------------------------- +Mon Aug 11 18:26:28 CEST 2003 - nadvornik@suse.cz + +- updated to final 1.2.10 + +------------------------------------------------------------------- +Wed Jul 30 19:34:34 CEST 2003 - nadvornik@suse.cz + +- updated to 1.2.10-rc4 +- do not destroy CellServDB even if REGENERATE_CELL_INFO=yes +- fixed to compile on x86_64 + +------------------------------------------------------------------- +Wed Jul 30 14:25:46 CEST 2003 - sf@suse.de + +- use %_lib where it was missing + +------------------------------------------------------------------- +Wed Jul 09 19:20:55 CEST 2003 - nadvornik@suse.cz + +- fixed conflicts in filelist + +------------------------------------------------------------------- +Fri Jun 20 14:59:23 CEST 2003 - nadvornik@suse.cz + +- improved init scripts + +------------------------------------------------------------------- +Thu Jun 19 14:40:52 CEST 2003 - nadvornik@suse.cz + +- added README.SuSE +- fixed init scripts [#27426] +- installed man pages + +------------------------------------------------------------------- +Thu Jun 12 17:45:39 CEST 2003 - poeml@suse.de + +- add /usr/src/kernel-modules to the file list + +------------------------------------------------------------------- +Wed Jun 4 21:26:09 CEST 2003 - schwab@suse.de + +- Fix SMP configuration detection. + +------------------------------------------------------------------- +Wed May 14 12:28:04 CEST 2003 - poeml@suse.de + +- rework filelists: + - package/remove unpackaged files + - move some files into the server & client subpackages + - use %defattr +- fix deprecated tail -1 syntax (fixes building the kernel module) + +------------------------------------------------------------------- +Mon May 12 14:50:05 CEST 2003 - nadvornik@suse.cz + +- updated to 1.2.9 +- added DATA_ENCRYPTION option to sysconfig + +------------------------------------------------------------------- +Mon Mar 10 18:43:26 CET 2003 - poeml@suse.de + +- x86_64: add -lresolv, -fPIC +- fix lib path on all 64 bit platforms + +------------------------------------------------------------------- +Thu Mar 06 10:39:27 CET 2003 - nadvornik@suse.cz + +- added sysconfig metadata + +------------------------------------------------------------------- +Mon Feb 24 17:28:44 CET 2003 - nadvornik@suse.cz + +- added dirs /afs, /etc/openafs, /var/lib/openafs to filelist + +------------------------------------------------------------------- +Sun Feb 16 18:28:44 CET 2003 - olh@suse.de + +- workaround broken -lresolv detection, lib64 fixes + +------------------------------------------------------------------- +Wed Feb 12 16:42:07 CET 2003 - nadvornik@suse.cz + +- fixed multiline strings in kernel module + +------------------------------------------------------------------- +Fri Jan 24 11:11:23 CET 2003 - nadvornik@suse.cz + +- updated to 1.2.8 +- improved init script + +------------------------------------------------------------------- +Fri Nov 29 10:21:04 CET 2002 - nadvornik@suse.cz + +- included errno.h +- fixed multiline strings + +------------------------------------------------------------------- +Fri Nov 22 16:47:51 CET 2002 - nadvornik@suse.cz + +- first version of init scripts + +------------------------------------------------------------------- +Wed Nov 20 19:20:53 CET 2002 - poeml@suse.de + +- initial draft of a package. Lots of stuff missing, like init + scripts, or the kerberos 5 migration toolkit. + diff --git a/openafs.spec b/openafs.spec new file mode 100644 index 0000000..206aa69 --- /dev/null +++ b/openafs.spec @@ -0,0 +1,1014 @@ +# +# spec file for package openafs +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# +# needssslcertforbuild + + +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%if ! %{defined _fillupdir} +%define _fillupdir /var/adm/fillup-templates +%endif +%define _lto_cflags %{nil} + +# +# TUNABLES +# + +# package-wide definitions here + +# build authlibs +%define build_authlibs 1 + +# build kernel modules +%define build_kernel_modules 1 + +# flag for firewalld, only required for SLE-12 +%if 0%{?sle_version} <= 120500 && !0%{?is_opensuse} +%define have_firewalld 0 +%else +%define have_firewalld 1 +%endif + +# +# package internal directories +# +%define afslogsdir /var/log/openafs +%define afsconfdir /etc/openafs/server +%define viceetcdir /etc/openafs +%define vicecachedir /var/cache/openafs +%define afslocaldir /var/lib/openafs + +%ifarch ppc64le ppc64 %{arm} +%define build_kernel_modules 0 +%endif + +# used for %setup only +# leave upstream tar-balls untouched for integrity checks. +%define upstream_version stable-1_8_x + +Name: openafs + +Version: 1.8.12.g20240711 +Release: 0 +Summary: OpenAFS Distributed File System +License: IPL-1.0 +Group: System/Filesystems +URL: http://www.openafs.org/ + +Source0: openafs-%{upstream_version}-src.tar.bz2 +Source1: openafs-%{upstream_version}-doc.tar.bz2 +Source2: openafs-%{upstream_version}-src.tar.bz2.md5 +Source3: openafs-%{upstream_version}-doc.tar.bz2.md5 +Source4: openafs-%{upstream_version}-src.tar.bz2.sha256 +Source5: openafs-%{upstream_version}-doc.tar.bz2.sha256 + +Source10: README.SUSE.openafs +Source15: logrotate.openafs-server +Source18: RELNOTES-%{upstream_version} +Source19: ChangeLog +Source20: kernel-source.build-modules.sh +Source23: openafs-client.service +Source24: openafs-client.service.allow_unsupported +Source25: openafs-server.service +Source26: openafs-fuse-client.service +Source27: sysconfig.openafs-client +Source28: sysconfig.openafs-server +Source29: sysconfig.openafs-fuse-client +Source30: preamble +Source40: afs3-bos.xml +Source41: afs3-callback.xml +Source42: afs3-fileserver.xml +Source43: afs3-prserver.xml +Source44: afs3-rmtsys.xml +Source45: afs3-update.xml +Source46: afs3-vlserver.xml +Source47: afs3-volser.xml +Source55: openafs.SuidCells +Source56: openafs.CellAlias +Source57: openafs.ThisCell +Source58: openafs.cacheinfo +Source98: kmp_only.files +Source99: openafs.changes + +# PATCH-UPSTREAM required for kernel 6.10 +Patch1: 03b280649f5e22ed74c217d7c98c3416a2fa9052 +Patch2: 0f6a3a402f4a66114da9231032bd68cdc4dee7bc +Patch3: 658942f2791fad5e33ec7542158c16dfc66eed39 +Patch4: d8b56f21994ce66d8daebb7d69e792f34c1a19ed +Patch5: 7097eec17bc01bcfc12c4d299136b2d3b94ec3d7 +# PATCH-HANDLE-BACKPORTS +# some kernel-features from 6.5 are apparently in 6.4 +Patch99: handle_backports.diff + +# GENERAL BuildRequires and Requires +# + +BuildRequires: autoconf-archive +BuildRequires: automake +BuildRequires: bison +BuildRequires: coreutils +BuildRequires: fdupes +BuildRequires: hostname +%if %{have_firewalld} +BuildRequires: firewall-macros +%endif +BuildRequires: flex +BuildRequires: fuse-devel +BuildRequires: git +BuildRequires: krb5-devel +BuildRequires: libtirpc-devel +BuildRequires: libtool +BuildRequires: ncurses-devel +BuildRequires: pkg-config +BuildRequires: swig + +Requires(post): %fillup_prereq + +%if %{build_kernel_modules} +BuildRequires: %{kernel_module_package_buildreqs} +%endif + +%description +AFS is a cross-platform distributed file system product pioneered at +Carnegie Mellon University and supported and developed as a product by +Transarc Corporation (now IBM Pittsburgh Labs). It offers a +client-server architecture for file sharing, providing location +independence, scalability, and transparent migration capabilities for +data. + +In addition, among its features are authentication, encryption, +caching, disconnected operations, replication for higher availability +and load balancing, and ACLs. + +%package server +Summary: OpenAFS File System Server +Group: System/Filesystems +Requires: %{name} = %{version} + +%description server +AFS is a cross-platform distributed file system product pioneered at +Carnegie Mellon University and supported and developed as a product by +Transarc Corporation (now IBM Pittsburgh Labs). It offers a +client-server architecture for file sharing, providing location +independence, scalability, and transparent migration capabilities for +data. + +In addition, among its features are authentication, encryption, +caching, disconnected operations, replication for higher availability +and load balancing, and ACLs. This package contains the static +libraries and header files needed to develop applications for OpenAFS. + +%if %{build_authlibs} +%package authlibs +Summary: OpenAFS authentication shared libraries +Group: Development/Libraries/C and C++ + +%description authlibs +The AFS distributed filesystem. AFS is a distributed filesystem +allowing cross-platform sharing of files among multiple computers. +Facilities are provided for access control, authentication, backup and +administrative management. + +This package provides a shared version of libafsrpc and libafsauthent. +None of the programs included with OpenAFS currently use these shared +libraries; however, third-party software that wishes to perform AFS +authentication may link against them. + +%package authlibs-devel +Summary: OpenAFS shared library development +Group: Development/Libraries/C and C++ +Requires: %{name}-authlibs = %{version} +Requires: %{name}-devel = %{version} + +%description authlibs-devel +The AFS distributed filesystem. AFS is a distributed filesystem +allowing cross-platform sharing of files among multiple computers. +Facilities are provided for access control, authentication, backup and +administrative management. + +This package includes the static versions of libafsrpc and +libafsauthent, and symlinks required for building against the dynamic +libraries. + +%endif + +%package devel +Summary: OpenAFS Static Libraries and Header Files +Group: Development/Libraries/Other +Requires: %{name} = %{version} + +%description devel +AFS is a cross-platform distributed file system product pioneered at +Carnegie Mellon University and supported and developed as a product by +Transarc Corporation (now IBM Pittsburgh Labs). It offers a +client-server architecture for file sharing, providing location +independence, scalability, and transparent migration capabilities for +data. + +In addition, among its features are authentication, encryption, +caching, disconnected operations, replication for higher availability +and load balancing, and ACLs. This package contains the OpenAFS server. + +%package kernel-source +BuildArch: noarch +Summary: OpenAFS Kernel Module source tree +Group: System/Filesystems +Requires: bison +Requires: flex +Requires: gcc +Requires: kernel-devel +Provides: openafs-kernel = %{version} + +%description kernel-source +The AFS distributed filesystem. AFS is a distributed filesystem +allowing cross-platform sharing of files among multiple computers. +Facilities are provided for access control, authentication, backup and +administrative management. + +This package provides the source code to build your own AFS kernel +module. + +%if %{build_kernel_modules} +%package KMP +Summary: OpenAFS Distributed File System - kernel module +Group: System/Kernel + +%kernel_module_package -x lockdep um pae -p %{S:30} + +%description KMP +This package contains the kernel module for OpenAFS. For details see +the openafs package. + +%endif + +%package fuse_client +Summary: OpenAFS FUSE File System Client +Group: System/Filesystems +Conflicts: %{name}-client +Requires: %{name} = %{version} + +%description fuse_client +AFS is a cross-platform distributed file system product pioneered at +Carnegie Mellon University and supported and developed as a product by +Transarc Corporation (now IBM Pittsburgh Labs). It offers a +client-server architecture for file sharing, providing location +independence, scalability, and transparent migration capabilities for +data. + +This client is using the EXPERIMENTAL FUSE interface on LINUX. +It does not offer authentication etc. + +%if %{build_kernel_modules} +%package client +Summary: OpenAFS File System Client +Group: System/Filesystems +Requires: %{name} = %{version} +Requires: %{name}-kmp +Requires: krb5-client + +%description client +AFS is a cross-platform distributed file system product pioneered at +Carnegie Mellon University and supported and developed as a product by +Transarc Corporation (now IBM Pittsburgh Labs). It offers a +client-server architecture for file sharing, providing location +independence, scalability, and transparent migration capabilities for +data. + +In addition, among its features are authentication, encryption, +caching, disconnected operations, replication for higher availability +and load balancing, and ACLs. This package contains the OpenAFS client. +%endif + +%prep + +: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +: @@@ +: @@@ package-name: %{name} +: @@@ file-layout: fsh +: @@@ lib dir: %{_libdir} +: @@@ libexec dir: %{libexecdir} +: @@@ bin dir: %{_bindir} +: @@@ sbin dir: %{_sbindir} +: @@@ include dir: %{includedir} +: @@@ sysconf dir: %{_sysconfdir} +: @@@ man dir: %{_mandir} +: @@@ build modules: %{build_kernel_modules} +: @@@ architecture: %{_arch} +: @@@ target cpu: %{_target_cpu} +: @@@ +: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +for src_file in %{S:0} %{S:1}; do + if [ "`md5sum $src_file | awk '{print $1}'`" != "`cat $src_file.md5 | awk '{print $1}'`" ]; then + echo "ERROR: MD5-Integrity check for $src_file failed."; + exit 1 + fi + if [ "`sha256sum $src_file | awk '{print $1}'`" != "`cat $src_file.sha256 | awk '{print $1}'`" ]; then + echo "ERROR: SHA256-Integrity check for $src_file failed."; + exit 1 + fi +done + +%setup -q -n openafs-%{upstream_version} -T -b 0 -b 1 +%patch -P 1 -p1 +%patch -P 2 -p1 +%patch -P 3 -p1 +%patch -P 4 -p1 +%patch -P 5 -p1 +%if 0%{?sle_version} == 150600 +%patch -P 99 -p1 +%endif + +./regen.sh + +%build +# architecture specific settings +sysbase=%{_arch} + +%ifarch ppc +perl -pi -e 's,^(XCFLAGS.*),\1 -fPIC,' src/config/Makefile.ppc_linux24.in +%endif +%ifarch ppc64 ppc64le +sysbase=ppc64 +export LDFLAGS="$LDFLAGS -m64" +%endif +%ifarch %{arm} +sysbase=arm +%endif +%ifarch aarch64 +sysbase=arm64 +%define _arch arm64 +%endif +%ifarch s390x +sysbase=s390 +%endif +%ifarch x86_64 +sysbase=amd64 +perl -pi -e 's,^(XCFLAGS.*),\1 -fPIC,' src/config/Makefile.amd64_linux24.in +perl -pi -e 's,^(XLIBS.*),\1 -lresolv,' src/config/Makefile.amd64_linux24.in +%endif + +afs_sysname=${sysbase}_linux26 + +RPM_OPT_FLAGS=`echo ${RPM_OPT_FLAGS} | sed s/-D_FORTIFY_SOURCE=2//` +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC -fcommon" + +export KRB5LIBS='-lcom_err -lkrb5' +export PATH_KRB5_CONFIG=%{krb5_config} +export afsdbdir='/var/lib/openafs/db' +export afslocaldir='/var/lib/openafs' +export afslogsdir='/var/log/openafs' +export afsdbdir='/var/lib/openafs/db' +%configure \ + --disable-transarc-paths \ + --disable-strip-binaries \ + --includedir=%{_includedir}/openafs \ + --sysconfdir=%{_sysconfdir} \ + --mandir=%{_mandir} \ + --with-afs-sysname=$afs_sysname \ + --disable-kernel-module \ + --with-swig + +make CCFLAGS="$CFLAGS" XCFLAGS="$CFLAGS" PAM_CFLAGS="$CFLAGS" KOPTS="$CFLAGS" all_nolibafs +make CCFLAGS="$CFLAGS" XCFLAGS="$CFLAGS" PAM_CFLAGS="$CFLAGS" KOPTS="$CFLAGS" only_libafs_tree + +# the test suite need a configured KDC +#make -C src/tests all + +# Kernel-module + +%if %{build_kernel_modules} +mkdir obj + +for flavor in %flavors_to_build; do + rm -rf obj/$flavor + cp -a libafs_tree obj/$flavor + pushd obj/$flavor + find . -name "*.c" -exec sed -i '/MODULE_LICENSE(/a MODULE_INFO(retpoline, "Y");' "{}" "+" + ./configure --with-linux-kernel-build=/usr/src/linux-obj/%{_target_cpu}/$flavor --with-linux-kernel-headers=/usr/src/linux \ + --disable-transarc-paths --without-swig + export EXTRA_CFLAGS='-DVERSION=\"%version\"' + export LINUX_MAKE_ARCH="ARCH=%{_arch}" + make + popd +done +%endif +# build_kernel_modules + +%install + +# +# install build binaries using make + +make DESTDIR=%{buildroot} install_nolibafs + +# +# man-pages + +OLD_PWD=`pwd` +cd doc/man-pages +%make_install +cd $OLD_PWD + +# +# create directories +mkdir -p %{buildroot}/%_unitdir +mkdir -p %{buildroot}/%{afslogsdir}/old +mkdir -p %{buildroot}/%{_fillupdir} +mkdir -p %{buildroot}/%{vicecachedir} +mkdir -p %{buildroot}/%{viceetcdir} +mkdir -p %{buildroot}%{_datadir}/openafs/C +mkdir -p %{buildroot}/%{afsconfdir} +mkdir -p %{buildroot}/%{afslocaldir} +mkdir -p %{buildroot}/%{_sbindir} + +# +# client +# also used by others +cp -a %{S:56} %{buildroot}/%{viceetcdir}/CellAlias +cp -a %{S:57} %{buildroot}/%{viceetcdir}/ThisCell +cp -a src/afsd/CellServDB %{buildroot}/%{viceetcdir}/CellServDB +cp -a %{S:55} %{buildroot}/%{viceetcdir}/SuidCells +cp -a %{S:58} %{buildroot}/%{viceetcdir}/cacheinfo + +# kmp-only +%if %{build_kernel_modules} +cp -a src/afs/afszcm.cat %{buildroot}%{_datadir}/openafs/C +install -m 644 %{S:27} %{buildroot}/%{_fillupdir}/sysconfig.openafs-client +%if 0%{?sle_version} > 150000 +install -m 644 %{S:24} %{buildroot}/%_unitdir/openafs-client.service +%else +install -m 644 %{S:23} %{buildroot}/%_unitdir +%endif +ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-client +%endif + +# +# fuse client package + +install -m 644 %{S:29} %{buildroot}/%{_fillupdir}/sysconfig.openafs-fuse-client +install -m 644 %{S:26} %{buildroot}/%_unitdir +ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-fuse-client + +# +# server +install -m 644 %{S:28} %{buildroot}/%{_fillupdir}/sysconfig.openafs-server +install -m 644 %{S:25} %{buildroot}/%_unitdir +ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcopenafs-server + +# +# kernel-source +mkdir -p %{buildroot}/usr/src/kernel-modules/openafs +chmod -R o-w src/libafs +chmod -R o-w libafs_tree +cp -a libafs_tree %{buildroot}/usr/src/kernel-modules/openafs +install -m 755 %{S:20} %{buildroot}/usr/src/kernel-modules/openafs/build-modules.sh +install -m 644 LICENSE %{buildroot}/usr/src/kernel-modules/openafs/LICENSE + +# KMP +%if %{build_kernel_modules} +export INSTALL_MOD_PATH=%{buildroot} +export INSTALL_MOD_DIR=updates + +for flavor in %flavors_to_build; do + make -C /usr/src/linux-obj/%{_arch}/$flavor %{?linux_make_arch} modules_install \ + M=$PWD/`find obj/$flavor/ -name MODLOAD-\* -type d` +done +%endif + +# +# main package +cp -a %{S:10} README.SUSE +cp -a %{S:18} RELNOTES +cp -a %{S:19} ChangeLog + +mkdir -p %{buildroot}/etc/ld.so.conf.d +echo %{_libdir}/openafs > %{buildroot}/etc/ld.so.conf.d/openafs.conf + +# move some bin to sbin +mv %{buildroot}/%{_bindir}/asetkey %{buildroot}/%{_sbindir}/asetkey +mv %{buildroot}/%{_bindir}/bos %{buildroot}/%{_sbindir}/bos +mv %{buildroot}/%{_bindir}/akeyconvert %{buildroot}/%{_sbindir}/akeyconvert +mv %{buildroot}/%{_bindir}/udebug %{buildroot}/%{_sbindir}/udebug + +# avoid conflicts with other packages by adding the prefix afs_ to filenames +mv %{buildroot}%{_bindir}/scout %{buildroot}%{_bindir}/afs_scout +cat %{buildroot}/%{_mandir}/man1/scout.1 | sed 's/\/afs_scout/g' > %{buildroot}/%{_mandir}/man1/afs_scout.1 +rm %{buildroot}/%{_mandir}/man1/scout.1 +mv %{buildroot}%{_sbindir}/backup %{buildroot}%{_sbindir}/afs_backup +OLD_PWD=`pwd` +cd %{buildroot}/%{_mandir}/man8/ +for f in $(ls backup*); do + cat $f | sed 's/\/afs_backup/g' > afs_"$f" + rm $f +done +cd $OLD_PWD + +# create manpage for afsd.fuse as a real file +rm %{buildroot}/%{_mandir}/man8/afsd.fuse.8 +cp -p %{buildroot}/%{_mandir}/man8/afsd.8 %{buildroot}/%{_mandir}/man8/afsd.fuse.8 + +# move %%{_libdir}/afs-stuff to %%{_libdir}/openafs +mv %{buildroot}/%{_libdir}/afs/* %{buildroot}/%{_libdir}/openafs +mv %{buildroot}/%{_libdir}/*.* %{buildroot}/%{_libdir}/openafs +rm -rf %{buildroot}/%{_libdir}/afs + +# move perl module to perl vendor library path +mkdir -p %{buildroot}/%{perl_vendorlib}/AFS +mv %{buildroot}/%{_libdir}/perl/AFS/ukernel.pm %{buildroot}/%{perl_vendorlib}/AFS/ukernel.pm +mkdir -p %{buildroot}%{perl_vendorarch} +mv %{buildroot}/%{_libdir}/perl/ukernel.so %{buildroot}/%{perl_vendorarch}/ukernel.so + +# firewalld + +%if %{have_firewalld} +mkdir -p %{buildroot}%{_prefix}/lib/firewalld/services/ +install -D -m 644 %{S:40} %{buildroot}%{_prefix}/lib/firewalld/services/ +install -D -m 644 %{S:41} %{buildroot}%{_prefix}/lib/firewalld/services/ +install -D -m 644 %{S:42} %{buildroot}%{_prefix}/lib/firewalld/services/ +install -D -m 644 %{S:43} %{buildroot}%{_prefix}/lib/firewalld/services/ +install -D -m 644 %{S:44} %{buildroot}%{_prefix}/lib/firewalld/services/ +install -D -m 644 %{S:45} %{buildroot}%{_prefix}/lib/firewalld/services/ +install -D -m 644 %{S:46} %{buildroot}%{_prefix}/lib/firewalld/services/ +install -D -m 644 %{S:47} %{buildroot}%{_prefix}/lib/firewalld/services/ +%endif + +# +# general cleanup +# + +# we supposedly don't need this on linux +rm %{buildroot}/%{_sbindir}/rmtsysd + +%if ! %{build_authlibs} +rm %{buildroot}/%{_libdir}/libafsauthent.so.* +rm %{buildroot}/%{_libdir}/libafsrpc.so.* +rm %{buildroot}/%{_libdir}/libkopenafs.so.* +rm %{buildroot}/%{_libdir}/libafsauthent.so +rm %{buildroot}/%{_libdir}/libafsrpc.so +rm %{buildroot}/%{_libdir}/libkopenafs.so +%endif +%if ! %{build_kernel_modules} +for f in $(cat %{S:98}); do + rm -f %{buildroot}/$f +done +%endif + +# remove all static libraries +find %{buildroot} -type f -name "*.a" -delete + +# remove unused man pages +for x in dlog symlink symlink_list symlink_make symlink_remove; do + rm %{buildroot}/%{_mandir}/man1/${x}.1 +done +for x in rmtsysd xfs_size_check aklog_dynamic_auth; do + rm %{buildroot}/%{_mandir}/man8/${x}.8 +done + +# compress man pages +OLD_PWD=`pwd` +for d in %{buildroot}%{_mandir}/man*; do + cd $d + for f in *; do + if [ -h $f ]; then + mv $f $f.gz + elif [ -f $f ];then + gzip -9 $f + else + echo "Unknown thing to compress : $f" + fi + done +done +cd $OLD_PWD + +# replace duplicates by symlinks +%fdupes -s %{buildroot}/usr + +# +# main + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post kernel-source +echo To install the kernel-module, do: +echo cd /usr/src/kernel-modules/openafs +echo sh ./build-modules.sh build +echo sh ./build-modules.sh install + +# +# fuse client + +%pre fuse_client +%service_add_pre openafs-fuse-client.service + +%preun fuse_client +%service_del_preun openafs-fuse-client.service + +%post fuse_client +if [ ! -d /afs ]; then + mkdir /afs +fi +%{fillup_only -n openafs-fuse-client} +%service_add_post openafs-fuse-client.service +/sbin/ldconfig + +if [ "x$1" = "x" ]; then + my_operation=0 +else + my_operation=$1 +fi + +if [ $my_operation -gt 1 ]; then + echo Not stopping the possibly running client. + echo You must restart the client to put the upgrade into effect. +else + echo This is the experimental FUSE implementation of the openafs-client + echo Please configure your cell like with the in-kernel openafs-client + echo authentication etc. is not implemented yet in this version. +fi + +%postun fuse_client +%service_del_postun openafs-fuse-client.service +if [ -d /afs ]; then + echo make sure to remove directory /afs if unwanted. +fi +/sbin/ldconfig + +# +# client + +%if %{build_kernel_modules} +%pre client +%service_add_pre openafs-client.service + +%post client +if [ ! -d /afs ]; then + mkdir /afs +fi +/sbin/ldconfig +%{fillup_only -n openafs-client} +%service_add_post openafs-client.service +%if %{have_firewalld} +%firewalld_reload +%endif + +if [ "x$1" = "x" ]; then + my_operation=0 +else + my_operation=$1 +fi +if [ $my_operation -gt 1 ]; then + echo Not stopping the possibly running client. + echo You must restart the client to put the upgrade into effect. +else + echo For configuring the client, please check /etc/sysconfig/openafs-client + echo and/or follow the instructions found on http://www.openafs.org how to install an openafs-client. +fi + +%preun client +%service_del_preun openafs-client.service + +%postun client +if [ -d /afs ]; then + echo make sure to remove directory /afs if unwanted. +fi +/sbin/ldconfig +%service_del_postun openafs-client.service +%endif + +# +# server + +%pre server +%service_add_pre openafs-server.service + +%post server +/sbin/ldconfig +%{fillup_only -n openafs-server} +%service_add_post openafs-server.service + +if [ "$FIRST_ARG" -gt 1 ]; then + # update no new install + echo Not stopping the possibly running services. + echo You must restart the service to put the upgrade into effect. + if [ -d /var/openafs ]; then + echo To upgrade, stop the server, copy the contents of /var/openafs to /var/lib/openafs, + echo remove the empty directory /var/openafs and then start the server again. + fi +else + echo For configuring the server, please check /etc/sysconfig/openafs-server + echo and/or follow the instructions found on http://www.openafs.org to install an openafs-client. +fi + +%preun server +%service_del_preun openafs-server.service + +%postun server +/sbin/ldconfig +%service_del_postun openafs-server.service + +# +# devel + +%post devel + +%postun devel + +# +# authlibs + +%if %{build_authlibs} +%post authlibs + +%postun authlibs +%endif + +# +# FILES +# + +%files +%defattr(-,root,root) +%config /etc/ld.so.conf.d/openafs.conf +%config(noreplace) %{viceetcdir}/CellAlias +%config(noreplace) %{viceetcdir}/CellServDB +%config(noreplace) %{viceetcdir}/ThisCell +%dir %{viceetcdir} +%doc %{_mandir}/man5/afsmonitor.5.gz +%doc %{_mandir}/man1/afs.1.gz +%doc %{_mandir}/man1/afs_compile_et.1.gz +%doc %{_mandir}/man1/afs_scout.1.gz +%doc %{_mandir}/man1/afsmonitor.1.gz +%doc %{_mandir}/man1/cmdebug.1.gz +%doc %{_mandir}/man1/pts.1.gz +%doc %{_mandir}/man1/pts_*.gz +%doc %{_mandir}/man1/restorevol.1.gz +%doc %{_mandir}/man1/rxdebug.1.gz +%doc %{_mandir}/man1/sys.1.gz +%doc %{_mandir}/man1/translate_et.1.gz +%doc %{_mandir}/man1/udebug.1.gz +%doc %{_mandir}/man1/vos.1.gz +%doc %{_mandir}/man1/vos_*gz +%doc %{_mandir}/man1/xstat_cm_test.1.gz +%doc %{_mandir}/man1/xstat_fs_test.1.gz +%doc %{_mandir}/man5/CellAlias.5.gz +%doc %{_mandir}/man5/CellServDB.5.gz +%doc %{_mandir}/man5/NetInfo.5.gz +%doc %{_mandir}/man5/NetRestrict.5.gz +%doc %{_mandir}/man5/ThisCell.5.gz +%doc %{_mandir}/man5/afs.5.gz +%doc %{_mandir}/man5/butc.5.gz +%doc %{_mandir}/man5/butc_logs.5.gz +%doc %{_mandir}/man5/fms.log.5.gz +%doc %{_mandir}/man5/sysid.5.gz +%doc %{_mandir}/man5/uss.5.gz +%doc %{_mandir}/man5/uss_*.5.gz +%doc %{_mandir}/man8/afs_backup.8.gz +%doc %{_mandir}/man8/afs_backup_*.8.gz +%doc %{_mandir}/man8/bos.8.gz +%doc %{_mandir}/man8/bos_[a-t]*.8.gz +%doc %{_mandir}/man8/bos_uninstall.8.gz +%doc %{_mandir}/man8/butc.8.gz +%doc %{_mandir}/man8/fms.8.gz +%doc %{_mandir}/man8/read_tape.8.gz +%doc %{_mandir}/man8/uss.8.gz +%doc %{_mandir}/man8/uss_*.8.gz +%doc %{_mandir}/man8/vsys.8.gz +%doc NEWS README* RELNOTES ChangeLog +%{_bindir}/afs_compile_et +%{_bindir}/afs_scout +%{_bindir}/afsio +%{_bindir}/afsmonitor +%{_bindir}/cmdebug +%{_bindir}/pts +%{_bindir}/restorevol +%{_bindir}/sys +%{_bindir}/translate_et +%{_bindir}/xstat_cm_test +%{_bindir}/xstat_fs_test +%{_libdir}/openafs/libafshcrypto.so.* +%{_libdir}/openafs/librokenafs.so.* +%{_sbindir}/afs_backup +%{_sbindir}/bos +%{_sbindir}/butc +%{_sbindir}/fms +%{_sbindir}/read_tape +%{_sbindir}/rxdebug +%{_sbindir}/udebug +%{_sbindir}/uss +%{_sbindir}/vos +%{_sbindir}/vsys + +%files fuse_client +%defattr(-,root,root) +%{_sbindir}/afsd.fuse +%{_sbindir}/rcopenafs-fuse-client +%config(noreplace) %{viceetcdir}/SuidCells +%config(noreplace) %{viceetcdir}/cacheinfo +%doc %{_mandir}/man8/afsd.fuse.8.gz +%_unitdir/openafs-fuse-client.service +%{_fillupdir}/sysconfig.openafs-fuse-client +%{vicecachedir} + +%if %{build_kernel_modules} +%files client +%defattr(-,root,root) + %{_bindir}/fs + %{_bindir}/aklog + %{_bindir}/klog.krb5 + %{_bindir}/pagsh + %{_bindir}/pagsh.krb + %{_bindir}/tokens + %{_bindir}/tokens.krb + %{_bindir}/unlog + %{_bindir}/up + %{_sbindir}/afsd + %{_sbindir}/fstrace +%doc %{_mandir}/man1/fs.1.gz +%doc %{_mandir}/man1/fs_*.1.gz +%doc %{_mandir}/man1/aklog.1.gz +%doc %{_mandir}/man1/klog.krb5.1.gz +%doc %{_mandir}/man1/pagsh.1.gz +%doc %{_mandir}/man1/pagsh.krb.1.gz +%doc %{_mandir}/man1/tokens.1.gz +%doc %{_mandir}/man1/tokens.krb.1.gz +%doc %{_mandir}/man1/unlog.1.gz +%doc %{_mandir}/man1/up.1.gz +%doc %{_mandir}/man8/afsd.8.gz +%doc %{_mandir}/man8/fstrace.8.gz +%doc %{_mandir}/man8/fstrace_*.8.gz +%_unitdir/openafs-client.service +%doc %{_mandir}/man1/copyauth.1.gz +%doc %{_mandir}/man5/cacheinfo.5.gz +%doc %{_mandir}/man5/afs_cache.5.gz +%dir %{_datadir}/openafs +%dir %{_datadir}/openafs/C +%{_datadir}/openafs/C/afszcm.cat +%doc %{_mandir}/man5/afszcm.cat.5.gz +%config(noreplace) %{viceetcdir}/SuidCells +%config(noreplace) %{viceetcdir}/cacheinfo +%{_sbindir}/rcopenafs-client +%{_fillupdir}/sysconfig.openafs-client +%{vicecachedir} +%if %{have_firewalld} +%dir %{_prefix}/lib/firewalld +%dir %{_prefix}/lib/firewalld/services +%{_prefix}/lib/firewalld/services/afs3-callback.xml +%{_prefix}/lib/firewalld/services/afs3-rmtsys.xml +%endif +%endif + +%files server +%defattr(-,root,root) +%attr(770,root,root) %dir %{afslocaldir} +%attr(775,root,root) %dir %{afslogsdir} +%config %{viceetcdir}/server +%doc %{_mandir}/man5/AuthLog.5.gz +%doc %{_mandir}/man5/AuthLog.dir.5.gz +%doc %{_mandir}/man5/BackupLog.5.gz +%doc %{_mandir}/man5/BosConfig.5.gz +%doc %{_mandir}/man5/BosLog.5.gz +%doc %{_mandir}/man5/FORCESALVAGE.5.gz +%doc %{_mandir}/man5/FileLog.5.gz +%doc %{_mandir}/man5/KeyFile.5.gz +%doc %{_mandir}/man5/KeyFileExt.5.gz +%doc %{_mandir}/man5/NoAuth.5.gz +%doc %{_mandir}/man5/PtLog.5.gz +%doc %{_mandir}/man5/SALVAGE.fs.5.gz +%doc %{_mandir}/man5/SalvageLog.5.gz +%doc %{_mandir}/man5/UserList.5.gz +%doc %{_mandir}/man5/VLLog.5.gz +%doc %{_mandir}/man5/VolserLog.5.gz +%doc %{_mandir}/man5/afs_volume_header.5.gz +%doc %{_mandir}/man5/bdb.DB0.5.gz +%doc %{_mandir}/man5/krb.conf.5.gz +%doc %{_mandir}/man5/krb.excl.5.gz +%doc %{_mandir}/man5/prdb.DB0.5.gz +%doc %{_mandir}/man5/salvage.lock.5.gz +%doc %{_mandir}/man5/tapeconfig.5.gz +%doc %{_mandir}/man5/vldb.DB0.5.gz +%doc %{_mandir}/man8/akeyconvert.8.gz +%doc %{_mandir}/man8/asetkey.8.gz +%doc %{_mandir}/man8/bos_util.8.gz +%doc %{_mandir}/man8/bosserver.8.gz +%doc %{_mandir}/man8/buserver.8.gz +%doc %{_mandir}/man8/dafileserver.8.gz +%doc %{_mandir}/man8/dafssync-debug.8.gz +%doc %{_mandir}/man8/dafssync-debug_*.8.gz +%doc %{_mandir}/man8/dasalvager.8.gz +%doc %{_mandir}/man8/davolserver.8.gz +%doc %{_mandir}/man8/fileserver.8.gz +%doc %{_mandir}/man8/fssync-debug.8.gz +%doc %{_mandir}/man8/fssync-debug_*.8.gz +%doc %{_mandir}/man8/prdb_check.8.gz +%doc %{_mandir}/man8/pt_util.8.gz +%doc %{_mandir}/man8/ptserver.8.gz +%doc %{_mandir}/man8/salvager.8.gz +%doc %{_mandir}/man8/salvageserver.8.gz +%doc %{_mandir}/man8/state_analyzer.8.gz +%doc %{_mandir}/man8/upclient.8.gz +%doc %{_mandir}/man8/upserver.8.gz +%doc %{_mandir}/man8/vldb_check.8.gz +%doc %{_mandir}/man8/vldb_convert.8.gz +%doc %{_mandir}/man8/vlserver.8.gz +%doc %{_mandir}/man8/voldump.8.gz +%doc %{_mandir}/man8/volinfo.8.gz +%doc %{_mandir}/man8/volscan.8.gz +%doc %{_mandir}/man8/volserver.8.gz +%dir %{_libexecdir}/openafs +%{_libexecdir}/openafs/buserver +%{_libexecdir}/openafs/dafileserver +%{_libexecdir}/openafs/dasalvager +%{_libexecdir}/openafs/davolserver +%{_libexecdir}/openafs/fileserver +%{_libexecdir}/openafs/ptserver +%{_libexecdir}/openafs/salvager +%{_libexecdir}/openafs/salvageserver +%{_libexecdir}/openafs/upclient +%{_libexecdir}/openafs/upserver +%{_libexecdir}/openafs/vlserver +%{_libexecdir}/openafs/volserver +%{_sbindir}/asetkey +%{_sbindir}/akeyconvert +%{_sbindir}/bos_util +%{_sbindir}/bosserver +%{_sbindir}/dafssync-debug +%{_sbindir}/fssync-debug +%{_sbindir}/prdb_check +%{_sbindir}/pt_util +%{_sbindir}/salvsync-debug +%{_sbindir}/state_analyzer +%{_sbindir}/vldb_check +%{_sbindir}/vldb_convert +%{_sbindir}/voldump +%{_sbindir}/volinfo +%{_sbindir}/volscan +%_unitdir/openafs-server.service +%{_sbindir}/rcopenafs-server +/%{_fillupdir}/sysconfig.openafs-server +%if %{have_firewalld} +%dir %{_prefix}/lib/firewalld +%dir %{_prefix}/lib/firewalld/services +%{_prefix}/lib/firewalld/services/afs3-bos.xml +%{_prefix}/lib/firewalld/services/afs3-fileserver.xml +%{_prefix}/lib/firewalld/services/afs3-prserver.xml +%{_prefix}/lib/firewalld/services/afs3-update.xml +%{_prefix}/lib/firewalld/services/afs3-vlserver.xml +%{_prefix}/lib/firewalld/services/afs3-volser.xml +%endif + +%files devel +%defattr(-,root,root) +%dir %{_libdir}/openafs +%doc %{_mandir}/man1/livesys.1.gz +%doc %{_mandir}/man1/rxgen.1.gz +%doc %{_mandir}/man3/AFS::ukernel.3.gz +%{_bindir}/livesys +%{_bindir}/rxgen +%{_includedir}/openafs/ +%{_libdir}/openafs/libafshcrypto.so +%{_libdir}/openafs/librokenafs.so +%{perl_vendorarch}/ukernel.so +%dir %{perl_vendorlib}/AFS +%{perl_vendorlib}/AFS/ukernel.pm + +%files kernel-source +%defattr(-,root,root) +%dir /usr/src/kernel-modules +%dir /usr/src/kernel-modules/openafs +/usr/src/kernel-modules/openafs/* + +%if %{build_authlibs} +%files authlibs +%defattr(-,root,root) +%{_libdir}/openafs/libafsauthent.so.* +%{_libdir}/openafs/libafsrpc.so.* +%{_libdir}/openafs/libkopenafs.so.* + +%files authlibs-devel +%defattr(-,root,root) +%{_libdir}/openafs/libafsauthent.so +%{_libdir}/openafs/libafsrpc.so +%{_libdir}/openafs/libkopenafs.so +%endif + +# +# CHANGELOG +# + +%changelog diff --git a/preamble b/preamble new file mode 100644 index 0000000..e9bfbf7 --- /dev/null +++ b/preamble @@ -0,0 +1,3 @@ +Requires: kernel-%1 +Requires: %{name}-client = %{version} +Conflicts: %{name}-fuse-client = %{version} diff --git a/sysconfig.openafs-client b/sysconfig.openafs-client new file mode 100644 index 0000000..06ff3d3 --- /dev/null +++ b/sysconfig.openafs-client @@ -0,0 +1,17 @@ +# +# startup options for the openAFS client. +# see man afsd for details + +AFSD_ARGS="-fakestat -memcache -blocks 102400 -dynroot -afsdb" + +# +# sysname to set after startup +# leave empty for default setting. + +SYSNAME="" + +# +# switch for encryption to be set after startup +# must be one of "on" or "off" + +CRYPT="on" diff --git a/sysconfig.openafs-fuse-client b/sysconfig.openafs-fuse-client new file mode 100644 index 0000000..761671b --- /dev/null +++ b/sysconfig.openafs-fuse-client @@ -0,0 +1,17 @@ +# +# startup options for the openAFS FUSE client. +# see man afsd for details + +AFSD_ARGS="-fakestat -memcache -blocks 102400 -dynroot -afsdb" + +# +# sysname to set after startup +# leave empty for default setting. + +SYSNAME="" + +# +# switch for encryption to be set after startup +# must be one of "on" or "off" + +CRYPT="on" diff --git a/sysconfig.openafs-server b/sysconfig.openafs-server new file mode 100644 index 0000000..025e6c8 --- /dev/null +++ b/sysconfig.openafs-server @@ -0,0 +1,4 @@ +## Path: Network/File systems/AFS server +## Description: AFS server configuration, default mode + +# all is set in /etc/openafs/BosConfig