Background: OpenAFS is vulnerable to crashing in the linux kernel symlink
code when running on kernel versions between 2.6.10 to 2.6.12. This also
includes all RHEL4 kernels, because RHEL4 includes the code from 2.6.10. The
problem is that the symlink text caching API, page_follow_link() et al, is
unsuitable for network filesystems where the page cache may be invalidated
in parallel with a path lookup.
This crash can be triggered easily by doing a bunch of path lookups
involving symlinks (e.g., stat() on various files pointed to through links),
while simultaneously running 'fs flushvol' on the volume containing the
symlinks.
The simplest way to fix this problem is to disable the use of symlink text
caching when the kernel does not provide a usable symlink API.
(cherry picked from commit 2d18bd1777b8d18a3b855685928dcdafcbe609b8)
backport for 1.4.x
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
option to use unix socket for fssync
(cherry picked from commit a4d52ee772a84212911c52f5d79dd4f02b9a8b2a)
fix linux flock, remove a bogus lock assert, and fix pid tracking to avoid useless panic
(cherry picked from commit fd1c37ebe7f5fb2ed52371705aaf1efc7764c7eb)
FIXES 40604
Test whether Linux kernel builds work at all before going into specific
builds so that we can fail earlier with a better error message. Try to
put more errors from the kernel build into config.log.
(cherry picked from commit 182a18931a3fc696a53288dbd6fcf04e109f785b)
FIXES 39797
lockf when not locking and unlocking the whole file is fraught with peril
(cherry picked from commit 1c8080fe9dcb3713bf1231cf4b455e80c6f0c697)
With thanks to "Todd T. Fries" <todd@fries.net>
OpenBSD 3.8.
Introduce HAVE_STRCASESTR.
(cherry picked from commit c8db31cc2bf9b59d8b8cf7e5310079ff6c9e4a96)
minor cleanup to get things working from the merge
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
remaining bits to make this build
====================
add missing installer files
FIXES 21722
ndir.h has been changed. also, pthreads header doesn't match how we used it
(cherry picked from commit aee18ed884d2af05174594120ba1825bfe76c96a)
i slipped a rollback on the linux 2.4 dentry stuff for osi_UFS* in here
at the same time. this patch lets us use kernel inodes instead of our own pool.
(cherry picked from commit 652f3bd9cb7a5d7833a760ba50ef7c2c67214bba)
FIXES 19341
try harder to make builds work in cases where you're building into an alternate directory with old autoconf (mkdir vs mkdir -p)
(cherry picked from commit dbd69d19e43ecdb74be531ab847c8aba48c025d3)
Fixup aklog so it will compile (at least on MacOS X). Include basic
autoconf glue.
(cherry picked from commit bcdb5a184ee597244fe1c7a8c708ee6bf796d07a)
provide daemon() if none exists. call it in bosserver and in afsd for afsdb handler
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
add the file, too
(cherry picked from commit 21610a43f7bd4a0f1df1c1184308c04b26d77785)