758d3807f5
- 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 OBS-URL: https://build.opensuse.org/request/show/984720 OBS-URL: https://build.opensuse.org/package/show/filesystems/openafs?expand=0&rev=90
914 lines
39 KiB
Plaintext
914 lines
39 KiB
Plaintext
commit f8a2aceb05914908b6a9d3e03c75e3a0c5e1a55c
|
||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||
Date: Tue Dec 22 11:06:42 2020 -0700
|
||
|
||
afs: Cleanup afsincludes.h indentation
|
||
|
||
Clean up the indentation of preprocessor statements
|
||
|
||
Remove commented out code.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/14471
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 031ebf43a8d4db79ee1aa9aff571094354c548b1)
|
||
|
||
Change-Id: I04c86b8ac8735ec50bf955bb418bb81ee5105afd
|
||
Reviewed-on: https://gerrit.openafs.org/14931
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 7a03627a64789b6c5fb44def81d4d39df3587d9d
|
||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||
Date: Tue Dec 22 11:03:33 2020 -0700
|
||
|
||
afs: Clean up VNOPS/afs_vnops_attrs.c indentation
|
||
|
||
Clean up the indentation of preprocessor statements, add #endif comments
|
||
where helpful.
|
||
|
||
Clean up whitespace in code indentation.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/14470
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 873a5d9e8835b969370f1f031acef60745a0fff8)
|
||
|
||
Change-Id: Ia3c41652e99c44164dec852b0f8ab2f103e8e3c1
|
||
Reviewed-on: https://gerrit.openafs.org/14930
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit f92508b5f7cbf9562f841d226cc9cd9f345c020b
|
||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||
Date: Wed Dec 23 13:25:31 2020 -0700
|
||
|
||
afs: Clean up afs_init.c indentation
|
||
|
||
Clean up the indentation of preprocessor statements, add #endif comments
|
||
where helpful.
|
||
|
||
Clean up whitespace in code indentation.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/14469
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit d7469128ceefbd96b61f32f62fd1e11c3674dac8)
|
||
|
||
Change-Id: Iccf5587e02b3caf0ec6725dc554255366b879d9e
|
||
Reviewed-on: https://gerrit.openafs.org/14929
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 97dd85ba97799fe97d424bbdbad9ced6e582ebaa
|
||
Author: Mark Vitale <mvitale@sinenomine.net>
|
||
Date: Sun May 10 22:13:13 2020 -0400
|
||
|
||
DARWIN: remove vestigial etap_event_t typedefs
|
||
|
||
These typedefs have been present since commit
|
||
a41175cfbbf4d06ccfe14ae54bef8b7464ecd80b
|
||
"initial-darwin-support-20010327"; at least some of this material was
|
||
obtained directly from IBM after the initial code import.
|
||
|
||
Based on research of old Darwin source code and kernel documentation,
|
||
the Event Trace Analysis Package (ETAP) was a lock-profiling interface
|
||
provided in older versions of Mach and xnu. ETAP was not enabled by
|
||
default; the kernel had to be recompiled with certain options to enable
|
||
it. Support for ETAP was removed from the xnu tree sometime between
|
||
xnu-517 (10.3 Panther) and xnu-792 (10.4 Tiger), although some
|
||
references remain in the latter under PPC support (osfmk/ppc/hw_lock.s).
|
||
All remaining references to etap_event_t disappeared when PPC support
|
||
was removed, some time between xnu-1456.1.26 (10.6 Snow Leopard) and
|
||
xnu-1699.24.8 (10.7.2 Lion).
|
||
|
||
Therefore, it is possible that these typedefs were needed in the past by
|
||
(IBM/Transarc) AFS to support use of some lock APIs (e.g.,
|
||
simple_lock_init, usimple_lock_init) after the ETAP code was withdrawn
|
||
from xnu. However, these typedefs have probably always been vestigial
|
||
for OpenAFS, because OpenAFS has never used any lock API that took
|
||
etap_event_t as an argument.
|
||
|
||
Regardless, OpenAFS does not need these definitions to build and run on
|
||
any currently supported version of macOS.
|
||
|
||
Remove the vestigial code.
|
||
|
||
No functional change should be incurred by this commit.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/14219
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 145c90bdbeeff4ea95acacd7dc110f0c6fcba281)
|
||
|
||
Change-Id: I96cdfe756cb8917079a7cc46d6186e69337caf0d
|
||
Reviewed-on: https://gerrit.openafs.org/14928
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 8db804eb1ec3f6a4b41dafff31f4805688a3da60
|
||
Author: Andrew Deason <adeason@sinenomine.net>
|
||
Date: Thu Jul 18 16:21:10 2019 -0500
|
||
|
||
afs: Handle osi_NewVnode failures
|
||
|
||
Currently, code inside afs_vcache.c assumes that osi_NewVnode always
|
||
returns non-NULL, which means that osi_NewVnode must panic if it
|
||
cannot create a new vnode.
|
||
|
||
All of the callers of afs_GetVCache, afs_NewVCache, etc, already
|
||
handle getting a NULL return, though (after all, the given fid may not
|
||
exist or be inaccessible due to network errors, etc). So, just
|
||
propagate NULL returns from osi_NewVnode up to our callers, to avoid
|
||
panics in these situations.
|
||
|
||
Modify osi_NewVnode on many arches to return an error on allocation
|
||
failure, instead of panic'ing.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13701
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
(cherry picked from commit ea9e5e8519dc486cfb019447ee5d695de104079d)
|
||
|
||
Change-Id: I2a3c5aac44a57093caee4008b86420ed05c66eb7
|
||
Reviewed-on: https://gerrit.openafs.org/14927
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit dfc2626e2aac0904c954915ed1d474030414cb78
|
||
Author: Mark Vitale <mvitale@sinenomine.net>
|
||
Date: Fri Oct 5 10:39:23 2018 -0400
|
||
|
||
rx: remove rx_atomic bitops
|
||
|
||
The rx_atomic bitops were introduced with commit
|
||
1839cdbe268f4b19ac8e81ae78548f5c78e0c641 ("rx: atomic bit ops").
|
||
|
||
The last (only) reference to them was recently removed with commit
|
||
5ced6025b9f11fadbdf2e092bf40cc87499ed277 ("rx: Convert rxinit_status to
|
||
rx_IsRunning()").
|
||
|
||
Remove the now unreferenced bitops. This commit is comprised of partial
|
||
or complete reverts of the following commits:
|
||
|
||
ae4ad509d35 rx: fix rx_atomic warnings under Solaris (partial)
|
||
c16423ec4e6 rx: fix atomics on darwin (partial)
|
||
9dc6dd9858a rx: Fix AIX test_and_set_bit (complete)
|
||
1839cdbe268 rx: atomic bit ops (complete)
|
||
|
||
Note: The rx_atomic bitops for Linux systems are known to be broken due
|
||
to incorrect casting of rx_atomic_t into the unsigned long operand
|
||
expected by the native Linux bitops. The failure modes include silent
|
||
overruns on little-endian and incorrect results on big-endian. Do not
|
||
merely revert this commit in order to bring these bitops back into the
|
||
tree.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13390
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
(cherry picked from commit d0dbd0f12119f0e874ba30adec81061ac6ae27c7)
|
||
|
||
Change-Id: I214ec09c07fb35a4d1dbf9719ec3861bde931638
|
||
Reviewed-on: https://gerrit.openafs.org/14926
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit a1c3d3eeab02eb1919bb96c653c4e2aec9e3fdb9
|
||
Author: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Date: Sun Oct 10 19:49:56 2021 +0200
|
||
|
||
Make OpenAFS 1.8.8.1
|
||
|
||
Update configure version strings for 1.8.8.1. Note that macos kext
|
||
can be of form XXXX.YY[.ZZ[(d|a|b|fc)NNN]] where d dev, a alpha,
|
||
b beta, f final candidate so we have no way to represent 1.8.8.1.
|
||
Switch to 1.8.9 dev 1 for macOS.
|
||
|
||
Change-Id: I329a48142a6baaedd190d07a1215ba93b0ecce42
|
||
Reviewed-on: https://gerrit.openafs.org/14828
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit ef16f671c999a371e50c79bb4e63a05f45f3c86d
|
||
Author: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Date: Wed Dec 8 19:18:41 2021 +0100
|
||
|
||
Update NEWS for 1.8.8.1
|
||
|
||
Release notes for the 1.8.8.1 point release
|
||
|
||
Change-Id: I5c1912439464f64a298739f9ba3e55397e86d29a
|
||
Reviewed-on: https://gerrit.openafs.org/14852
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit b927414ffc8a14015e663a24245287b093ee77a8
|
||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||
Date: Tue Nov 16 10:55:30 2021 -0700
|
||
|
||
LINUX-5.16: Use linux/stdarg.h if available
|
||
|
||
Global use of the compiler option '-isystem' was removed from the top
|
||
level Makefile with Linux commit ('isystem: delete global -isystem
|
||
compile option' 04e85bbf7). This results with an error due to not
|
||
finding "stdarg.h" when building the openafs kernel module.
|
||
|
||
.../src/rx/rx_kcommon.h:143:12: fatal error: stdarg.h: No such file or
|
||
directory
|
||
143 | # include "stdarg.h"
|
||
| ^~~~~~~~~~
|
||
|
||
Linux-5.15, introduced a copy of stdarg.h as 'linux/stdarg.h' in commit
|
||
('isystem: ship and use stdarg.h' c0891ac15)
|
||
|
||
Add a test for the linux/stdarg.h include file and if available, use
|
||
"linux/stdarg.h" instead of "stdarg.h" within the Linux kernel module.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/14844
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 3daa6e97330d23ae46c4389e4041c61c1a1d76d9)
|
||
|
||
Change-Id: I6347d09b3ffc73e3524c83830e2f2bbd2958121f
|
||
Reviewed-on: https://gerrit.openafs.org/14851
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 1935c63a776620eb7d2173a11cac039223115a19
|
||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||
Date: Fri Nov 12 14:42:57 2021 -0700
|
||
|
||
Linux 5.15: Convert osi_Msg macro to a function
|
||
|
||
With Linux 5.15-prerc1 printk is defined as a macro instead of a
|
||
function ("printk: Userspace format indexing support" 33701557)
|
||
|
||
This change is causing a build failure:
|
||
|
||
.../src/rx/rx_kernel.h:62:18: error: ‘printk’ undeclared (first use in
|
||
this function); did you mean ‘_printk’?
|
||
62 | # define osi_Msg printk)(
|
||
| ^~~~~~
|
||
|
||
The definition and use of the osi_Msg and osi_VMsg macros are
|
||
unconventional and the C preprocessor is not handling the macro
|
||
expansion when printk is itself a macro.
|
||
|
||
#define osi_Msg printk)(
|
||
...
|
||
(osi_Msg "%s", x);
|
||
|
||
Change osi_Msg to a function, and simply replace osi_VMsg with vprintf
|
||
since osi_VMsg is only used at one location within user space code.
|
||
|
||
osi_Msg is implemented in 2 locations, in rx_kcommon for kernel space
|
||
and in rx_user for userspace.
|
||
|
||
Note: The unconventional definitions of osi_Msg/osi_VMsg was historical
|
||
and due to older compilers not supporting variadic macros. All of
|
||
the currently support platforms should now support variadic functions.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/14791
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 22876c8b88f8e5e92f08b230e5e1959499f0c406)
|
||
|
||
Change-Id: I48a67b2fe79b45403414bb7d962c29c9be07262e
|
||
Reviewed-on: https://gerrit.openafs.org/14831
|
||
Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 2b326cd96d6ee5140a6ca7e408d1056137edfef9
|
||
Author: Mark Vitale <mvitale@sinenomine.net>
|
||
Date: Mon Sep 16 01:37:33 2019 -0400
|
||
|
||
SOLARIS: add autoconfig support for Studio 12.6
|
||
|
||
Add the canonical install path for Studio 12.6 to the autoconfig test.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13867
|
||
Tested-by: Mark Vitale <mvitale@sinenomine.net>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit fe6798d0d9e4df006ef96612b5c6e07fcc757b7e)
|
||
|
||
Change-Id: Iad5a43eb22c8a76af6ce7e73d77de913d3c2d8e0
|
||
Reviewed-on: https://gerrit.openafs.org/14841
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 3f33dc825ca9bf475547800d6ab0f72d75e98fb1
|
||
Author: Cheyenne Wills <cwills@sinenomine.net>
|
||
Date: Thu Oct 7 11:15:58 2021 -0600
|
||
|
||
LINUX 5.14: explicitly set set_page_dirty to default
|
||
|
||
Linux 5.14 commit: 'mm: require ->set_page_dirty to be explicitly wired
|
||
up' (0af573780b0b13) removed calling __set_page_dirty_buffers when the
|
||
address_space_operations structure member set_page_dirty was NULL.
|
||
|
||
A kernel RIP error can occur when the set_page_dirty operation is
|
||
requested. (Reproducible by running 'iozone -B -a')
|
||
|
||
Update the definition for afs_file_aops to explicitly set the
|
||
'set_page_dirty' member to '__set_page_dirty_buffers'.
|
||
|
||
There are no functional changes, since this commit is using the same
|
||
function that the Linux kernel was using if set_page_dirty had been
|
||
NULL.
|
||
|
||
Problem originally reported by "Andrej Filipcic"
|
||
<andrej.filipcic@ijs.si> in the openafs-info mailing list. The Linux
|
||
5.14 commit causing the openafs failure was identified by "Michael Laß"
|
||
<lass@mail.upb.de> also on in the openafs-info mailing list.
|
||
|
||
Note: The declaration for the function '__set_page_dirty_buffers' was
|
||
moved from linux/mm.h into linux/buffer_head.h in Linux 2.6.19. Since
|
||
this is close to the minimum supported Linux version 2.6.18, we are not
|
||
introducing an additional autoconf test to determine which header file
|
||
the declaration for __set_page_dirty_buffers resides in.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/14826
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
|
||
Tested-by: Michael Laß <lass@mail.uni-paderborn.de>
|
||
Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
|
||
Tested-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Ralf Brunckhorst <rbrunckhorst@sinenomine.net>
|
||
Tested-by: Ralf Brunckhorst <rbrunckhorst@sinenomine.net>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit ba485a13e965909b63b25103fdf810de381e4977)
|
||
|
||
Change-Id: Iae61573e5ccf9458646eba4403322536fd86f2bf
|
||
Reviewed-on: https://gerrit.openafs.org/14830
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 284850b2f7ce2ca6ebdcb8918acd3ca02ae2c98b
|
||
Author: Andrew Deason <adeason@sinenomine.net>
|
||
Date: Mon Nov 2 13:11:49 2020 -0600
|
||
|
||
rx: Reorganize LWP rxi_Sendmsg to use 'goto error'
|
||
|
||
Our LWP version of rxi_Sendmsg can allocate an fd_set, but we don't
|
||
free the fd_set if sendmsg() returns certain errors afterwards.
|
||
|
||
To make sure we go through the same cleanup code for the different
|
||
possible error code paths, reorganize the function to go through a
|
||
'goto error'-style destructor. This also makes our return codes a bit
|
||
more consistent; we should always return -errno now for errors.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/14422
|
||
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 7239565b0fea8504deebc5bd43c4fa1ea80fcb17)
|
||
|
||
Change-Id: I7291ea5f339f26c5c1a64b65893e2cb33ebfe623
|
||
Reviewed-on: https://gerrit.openafs.org/14825
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 40e322e73b3abb6ecde322da80afc75a5c941b8c
|
||
Author: Andrew Deason <adeason@dson.org>
|
||
Date: Sat Apr 25 17:20:54 2020 -0500
|
||
|
||
rx: Indent ifdef maze in rx_kernel.h
|
||
|
||
Change-Id: I3a10206234496b9de6f7ddeafebdee8ab10e5546
|
||
Reviewed-on: https://gerrit.openafs.org/14161
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 70f3ac5d04a02470366a980224fdf8fadb31b463)
|
||
Reviewed-on: https://gerrit.openafs.org/14811
|
||
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 7dba3a2059cba3a85f120843ec8dba196df6f160
|
||
Author: Benjamin Kaduk <kaduk@mit.edu>
|
||
Date: Fri Sep 25 09:22:16 2020 -0700
|
||
|
||
FBSD: avoid vrefl()
|
||
|
||
Commit 20dc2832268eb (correctly) introduced changes so that we
|
||
avoid interacting with vnodes marked as VI_DOOMED to the extent
|
||
possible, but in doing so inadvertendly used the vrefl() KPI that
|
||
was only introduced in FreeBSD 11.0.
|
||
|
||
Rewrite the relevant logic to use the older vref() KPI, at the cost
|
||
of a few more unlock/locks, in order to have a single codepath that
|
||
works on all supported FreeBSD versions.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/14373
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 81ea654494f5c90f67eb54adbb722a95e0d11d82)
|
||
|
||
Change-Id: Ia48380bb7498fcf5d0b6b68fe153d4459612a3b6
|
||
Reviewed-on: https://gerrit.openafs.org/14795
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 66fee093ad98d9b0025b24110e13533fb5c14357
|
||
Author: Andrew Deason <adeason@dson.org>
|
||
Date: Sun Nov 24 22:36:17 2019 -0600
|
||
|
||
FBSD: Ignore VI_DOOMED vnodes
|
||
|
||
Currently on FreeBSD, osi_TryEvictVCache calls vgone() for our vnode
|
||
after checking if the given vcache is in use. vgone() then calls our
|
||
VOP_RECLAIM operation, which calls afs_vop_reclaim, which calls
|
||
afs_FlushVCache to finally actually flush the vcache.
|
||
|
||
The current approach has at least the following major issues:
|
||
|
||
- In afs_vop_reclaim, we return success even if afs_FlushVCache()
|
||
fails. This allows FreeBSD to reuse the vnode for another file, but
|
||
the vnode is still being referenced by our vcache, which is
|
||
referenced by the global VLRU and various other structures. This
|
||
causes all kinds of weird errors, since we try to use the underlying
|
||
vnode for different files.
|
||
|
||
- After the relevant checks in osi_TryEvictVCache are done, another
|
||
thread can acquire a new reference to our vcache (this can happen
|
||
while vgone() is running up until the vnode is locked). This new
|
||
reference will cause afs_FlushVCache to fail.
|
||
|
||
- Our afs_vop_reclaim callback is called while the vnode is locked,
|
||
and can acquire afs_xvcache. Other code locks the vnode while
|
||
afs_xvcache is already held (such as afs_PutVCache -> vrele). This
|
||
can lead to deadlocks if two threads try to run these codepaths for
|
||
the same vnode at the same time.
|
||
|
||
- afs_vop_reclaim optionally acquires afs_xvcache based on the return
|
||
value of CheckLock(&afs_xvcache). However, CheckLock just returns if
|
||
that lock is locked by anyone, not if the current thread holds the
|
||
lock. This can result in the rest of the function running without
|
||
afs_xvcache actually being held if we drop AFS_GLOCK at any point.
|
||
|
||
- osi_TryEvictVCache() tries to vn_lock() the target vnode, but we may
|
||
already have another vnode locked in the current thread. If the
|
||
vnode we're trying to evict is a descendant of a vnode we already
|
||
have locked, this can deadlock.
|
||
|
||
To fix these issues, make some changes to how our vcache management
|
||
works on FreeBSD:
|
||
|
||
- Do not allow anyone to hold a new reference on a VI_DOOMED vnode.
|
||
We do this by checking for VI_DOOMED in osi_vnhold, and returning an
|
||
error if VI_DOOMED is set.
|
||
|
||
- In afs_vop_reclaim, panic if afs_FlushVCache fails. With the new
|
||
VI_DOOMED check, afs_FlushVCache show now never fail; and if it
|
||
somehow does, panic'ing immediately is better than corrupting
|
||
various structures and panic'ing later on.
|
||
|
||
- Move around some of the relevant locking in afs_vop_reclaim to fix
|
||
the lock-related issues.
|
||
|
||
- In osi_TryEvictVCache, don't wait for the vnode lock (LK_NOWAIT);
|
||
treat the vnode as "in use" if we can't immediately obtain the lock.
|
||
|
||
Thanks to tcreech@tcreech.com and kaduk@mit.edu for insight and help
|
||
investigating the relevant issues.
|
||
|
||
FIXES 135041
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13972
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 20dc2832268eb81d40e798da0d424c98cf26062c)
|
||
|
||
Change-Id: I91e464ce2fa90d7baf593c0b813f52f1fc45b481
|
||
Reviewed-on: https://gerrit.openafs.org/14794
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 33b672918f1c282c4d74934e132e41357c9a4fdd
|
||
Author: Andrew Deason <adeason@dson.org>
|
||
Date: Mon Nov 18 23:17:12 2019 -0600
|
||
|
||
afs: Refactor osi_vnhold/AFS_FAST_HOLD
|
||
|
||
Make a few changes to osi_vnhold and AFS_FAST_HOLD:
|
||
|
||
- Currently, the second argument of osi_vnhold ("retry") is never used
|
||
by any implementation. Get rid of it.
|
||
|
||
- AFS_FAST_HOLD() is the same as osi_vnhold(). Get rid of
|
||
AFS_FAST_HOLD, and just have all callers use osi_vnhold instead.
|
||
|
||
- Allow osi_vnhold to return an error, and adjust callers to handle
|
||
it.
|
||
|
||
- Change osi_vnhold to be a real function, instead of a macro, to make
|
||
nontrivial implementations less cumbersome.
|
||
|
||
Most platforms never return an error from osi_vnhold(), so the added
|
||
code paths to check the return value of osi_vnhold() will not trigger.
|
||
However, this lets us add future commits that do make osi_vnhold()
|
||
return an error.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13971
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 13e44b2b200cd99d0df4e03cf6413d3a6915783f)
|
||
|
||
Change-Id: Ia3e1c4e45a870cd095f90adc66880eb524a10c1f
|
||
Reviewed-on: https://gerrit.openafs.org/14793
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 981ed6c25c7640783ffbfd7591c0dfadbc4d0f42
|
||
Author: Andrew Deason <adeason@dson.org>
|
||
Date: Tue Nov 26 23:39:24 2019 -0600
|
||
|
||
FBSD: Avoid holding AFS_GLOCK during vinvalbuf
|
||
|
||
Currently we call vinvalbuf(9) in a few places while holding
|
||
AFS_GLOCK, but AFS_GLOCK is a non-sleepable lock (struct mtx), and
|
||
vinvalbuf can sleep. This can trigger a panic in some rare conditions,
|
||
with the message:
|
||
|
||
Sleeping thread (tid 100179, pid 95481) owns a non-sleepable lock
|
||
|
||
To avoid this, drop AFS_GLOCK around a few places that call
|
||
vinvalbuf().
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13970
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
(cherry picked from commit 61993cf45a648906abb865756d5a98d9c2d7cc40)
|
||
|
||
Change-Id: I1b4d6d7d9d4cd54091cfd8e168a928c08cb643e5
|
||
Reviewed-on: https://gerrit.openafs.org/14792
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit f3ce4d55ff8c87d2aab521b501d97f909f1a94d5
|
||
Author: Andrew Deason <adeason@dson.org>
|
||
Date: Sat Dec 21 18:34:20 2019 -0600
|
||
|
||
FBSD: Use CK_STAILQ_FOREACH for ifaces on FBSD 12
|
||
|
||
FreeBSD 12 changed how network interfaces and network addresses are
|
||
linked together; we're supposed to use CK_STAILQ_FOREACH to traverse
|
||
them now, instead of TAILQ_FOREACH. To try to keep this change
|
||
simpler, introduce a new macro, AFS_FBSD_NET_FOREACH, which picks the
|
||
right macro to use.
|
||
|
||
Based on a commit by tcreech@tcreech.com.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13999
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
(cherry picked from commit 7c89322c45605c90c8ce27a77695a1c291f0def4)
|
||
|
||
Change-Id: I1530213a447ecf09dde47987fdd7b3df489dc490
|
||
Reviewed-on: https://gerrit.openafs.org/14781
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 20b9f245a1e11377b30db36a2fd2622fd14e7004
|
||
Author: Tim Creech <tcreech@tcreech.com>
|
||
Date: Sat Dec 21 18:22:40 2019 -0600
|
||
|
||
FBSD: Add proper locks when traversing net ifaces
|
||
|
||
When traversing the list of network interfaces, or the list of
|
||
addresses for a network interface, we're supposed to lock the relevant
|
||
resource with IFNET_RLOCK, if_addr_rlock, or IN_IFADDR_RLOCK. Add
|
||
these locks around our code that examines network interfaces, to
|
||
avoid issues if the interface or address list changes while we're
|
||
traversing them.
|
||
|
||
While we're doing this, move around some "AFS_DARWIN_ENV ||
|
||
AFS_FBSD_ENV" ifdefs, since these were getting a bit hard to read.
|
||
This commit adds some duplicated code, but the result should be easier
|
||
to follow.
|
||
|
||
Also for FreeBSD 12, we must be in NET_EPOCH_ENTER when calling
|
||
ifa_ifwithnet/rx_ifaddr_withnet (it panics if we don't, with
|
||
INVARIANTS). Add the needed NET_EPOCH_ENTER/EXIT calls, but do so a
|
||
bit higher up the call stack, since the returned structures are
|
||
potentially no longer valid after we NET_EPOCH_EXIT. Since this means
|
||
we're calling these in a few places in libafs, create a couple of rx
|
||
abstractions (RX_NET_EPOCH_ENTER) to handle the relevant ifdefs.
|
||
|
||
[adeason@dson.org: Various adjustments to locking calls; splitting up
|
||
DARWIN/FBSD ifdefs.]
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13998
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
(cherry picked from commit 9e98d61ff41709cee8d484be1ecd638a18e2ce0f)
|
||
|
||
Change-Id: I240d03d892107179f07acf5d76aa49371ef0bec4
|
||
Reviewed-on: https://gerrit.openafs.org/14780
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 9b655ef47b75118bd092131fcf5e195e806c0858
|
||
Author: Andrew Deason <adeason@dson.org>
|
||
Date: Fri Dec 20 21:02:45 2019 -0600
|
||
|
||
vol: Avoid building devname.c on AFS_NAMEI_ENV
|
||
|
||
Everything in devname.c is for the inode vol backend, so skip building
|
||
it when AFS_NAMEI_ENV is defined.
|
||
|
||
While we're doing this, alter the #ifdefs inside this file to assume
|
||
that we're not on XBSD, DARWIN, or LINUX, since those platforms are
|
||
all namei-only.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13995
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 80afdc2adabb098394e1b2178ba301964868befe)
|
||
|
||
Change-Id: I54a7cc4f845283ff15f7b91d5d3523a1df42c3af
|
||
Reviewed-on: https://gerrit.openafs.org/14788
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 259385e6b092fff51682a1d7ef26b311c2a7198a
|
||
Author: Andrew Deason <adeason@dson.org>
|
||
Date: Fri Dec 20 21:01:13 2019 -0600
|
||
|
||
vol: Indent ifdef maze in devname.c
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13994
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 99eedfdb1659dd48d12542ad063d4711d401e153)
|
||
|
||
Change-Id: I6db316d3557fb8165b11afb9089fa4c3cded070b
|
||
Reviewed-on: https://gerrit.openafs.org/14787
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 65314bc0533810b33dd77f1da23c6420bf03b108
|
||
Author: Tim Creech <tcreech@tcreech.com>
|
||
Date: Thu Aug 29 21:35:36 2019 -0400
|
||
|
||
FBSD: Accommodate 12.0's 64-bit inodes
|
||
|
||
In FreeBSD 12 (see: https://reviews.freebsd.org/rS318736), the layout
|
||
of struct dirent changed to allow for 64-bit inodes and a few other
|
||
changes. Update our struct min_direct to accommodate, to allow our
|
||
readdir() results to be accurate. Without this, readdir() can yield
|
||
garbage entries, due to the mismatch in the structure definitions.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13854
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 14cbd02b8a1a4f1d3c30dd4fb2864d35f39a95eb)
|
||
|
||
Change-Id: I5218fdf315aac71a7cdf488879b88d476f97f2d3
|
||
Reviewed-on: https://gerrit.openafs.org/14786
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit c7f45c4d4ecef9298cab9e40fdd7e5a86b4363d5
|
||
Author: Tim Creech <tcreech@tcreech.com>
|
||
Date: Thu Aug 29 22:12:41 2019 -0400
|
||
|
||
FBSD: Use VM_CNT_INC/VM_CNT_ADD on FreeBSD 12
|
||
|
||
r317061 changed where v_vnodein &c are stored. Use the new
|
||
VM_CNT_INC/VM_CNT_ADD macros when available to accommodate.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13859
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit e50e5ede55497b0c02647d21905f4134919fbf05)
|
||
|
||
Change-Id: I099fbfc91640c411ac582141a926e0eae7ce80d9
|
||
Reviewed-on: https://gerrit.openafs.org/14785
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 59f763ccc0f0e2363af0c743b2306c105d682f62
|
||
Author: Tim Creech <tcreech@tcreech.com>
|
||
Date: Thu Aug 29 22:13:20 2019 -0400
|
||
|
||
FBSD: Handle missing LINK_MAX
|
||
|
||
LINK_MAX was removed in r327598. When we don't have a LINK_MAX, just
|
||
use its value from before it was removed (32767).
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13860
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 0066f4e9f27fedc4cf4df52eaf10d35ae5c7ad6e)
|
||
|
||
Change-Id: I9e91c4d892bc6b276065d34bc7220a240d6b6fcd
|
||
Reviewed-on: https://gerrit.openafs.org/14784
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit ca7b6324fec6ad54ea7e4a1a1f716bdeeb994a1c
|
||
Author: Tim Creech <tcreech@tcreech.com>
|
||
Date: Thu Aug 29 21:55:05 2019 -0400
|
||
|
||
FBSD: Use syscall "helper" functions
|
||
|
||
syscall_register/syscall_deregister were effectively removed in
|
||
r329647. Use syscall_helper_register/syscall_helper_unregister
|
||
instead, which have existed since r205321 in FreeBSD 9.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13858
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
(cherry picked from commit 2add334454019b4a8fd979fb16da686cf93b56c6)
|
||
|
||
Change-Id: I68037c7fc8e5a1b399bd49ff7bcccacdfd1a7643
|
||
Reviewed-on: https://gerrit.openafs.org/14783
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 7159be738388c6e8f3239539aca81c861ad9f533
|
||
Author: Andrew Deason <adeason@dson.org>
|
||
Date: Sun Dec 1 15:27:01 2019 -0600
|
||
|
||
FBSD: Remove support for 8.x and 9.x
|
||
|
||
According to <https://www.freebsd.org/security/unsupported.html>,
|
||
FreeBSD 8.x EoL was on August 1, 2015, and FreeBSD 9.x EoL was on
|
||
December 31, 2016. Remove our support for these versions, since they
|
||
haven't been supported by FreeBSD itself for a while.
|
||
|
||
FreeBSD 10.x EoL was on October 31, 2018, which has passed, but was
|
||
less than a year ago. So keep 10.x in for now.
|
||
|
||
Adjust our preprocessor checks accordingly:
|
||
|
||
- In FBSD-specific dirs, assume AFS_FBSD100_ENV and lower is always
|
||
true. Assume __FreeBSD_version is always at least 1000000.
|
||
|
||
- In non-FBSD dirs, convert AFS_FBSD100_ENV and lower to AFS_FBSD_ENV.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13842
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit a4e9365fff2b0e3daf7e9cf2b40e6027b7dd3a15)
|
||
|
||
Change-Id: If92991dead88bf8d18b837ef4661731c7fc2edbb
|
||
Reviewed-on: https://gerrit.openafs.org/14782
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit a5b8d15925bc73b5cd1ee45f26f3ca302d9e075b
|
||
Author: Tim Creech <tcreech@tcreech.com>
|
||
Date: Thu Aug 29 21:40:26 2019 -0400
|
||
|
||
FBSD: Handle malloc/free changes in FBSD 12
|
||
|
||
FreeBSD 12 (r328417) removed the deprecated compatibility macros
|
||
MALLOC and FREE. Convert our users to just use the normal malloc and
|
||
free, so we can build.
|
||
|
||
FreeBSD 12 (r334545) also changed malloc() into a macro, which breaks
|
||
our own malloc macro in our hcrypto config.h. To fix this, just undef
|
||
malloc, if it's already a macro.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/13856
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 3bc541743b09f408364a946139c524d53056d40a)
|
||
|
||
Change-Id: I3d2f98dd635480a2eea4e0cdad9c9bb308475695
|
||
Reviewed-on: https://gerrit.openafs.org/14773
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Tim Creech <tcreech@tcreech.com>
|
||
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|
||
commit 29f30ed16c6db544f020142c11c4296227eebf99
|
||
Author: Jeffrey Altman <jaltman@auristor.com>
|
||
Date: Fri Oct 2 19:51:06 2020 -0400
|
||
|
||
rx: compare RX_ACK_TYPE_ACK as a bit-field
|
||
|
||
The rx_ackPacket.acks array (the SACK table) consists of up to 255
|
||
octets. Each octet stores either the value zero (RX_ACK_TYPE_NACK)
|
||
or one (RX_ACK_TYPE_ACK). Effectively only bit-zero of each octet
|
||
is used.
|
||
|
||
The rx_ackPacket.acks array cannot be enlarged but one possible
|
||
method of encoding the ACK/NACK state for packets when the
|
||
window size is greater than 255 is to use bits 1-7 of each
|
||
octet.
|
||
|
||
This change alters the test for ACK vs NACK to be a bit comparison
|
||
instead of a equality comparison. This change permits RX to be
|
||
compatible with any future use of bits 1-7.
|
||
|
||
No peer that treats the SACK table as bytes can ever send more
|
||
than 255 packets regardless of the advertised receive window.
|
||
Therefore, existing peers will never receive a SACK table with
|
||
more than 255 packets worth of bits.
|
||
|
||
Reviewed-on: https://gerrit.openafs.org/14465
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
(cherry picked from commit 7739d1e967177686e91a6ea86c73b404515a1c0d)
|
||
|
||
Change-Id: I59c098414f309bac283017823dff6d491d895db8
|
||
Reviewed-on: https://gerrit.openafs.org/14740
|
||
Tested-by: BuildBot <buildbot@rampaginggeek.com>
|
||
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
|
||
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
|
||
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
|
||
|