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