One line patch to initialize spin lock added in a RedHat kernel patch.
This should fix the RedHat 7.1 SMP problem. Also includes configure
glue to turn it on. Thanks to Chaskiel Grundman for suggesting the fix,
Garry Zacheiss for suggesting it affected the SMP kernel generally and not
just SMP hardware, and Andrei Maslennikov for noting the problem did not
affect vanilla 2.4.3 with only the Alan Cox (AC14 in this case) patch.
make configure attempt to guess the correct afs sysname for your platform
====================
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.
====================
use precomputed kernel we're building for not uname output
====================
stick in missing systems
fixes for the following report from "Jeremy Stribling" <jstribl@us.ibm.com>
- In the GetPrincipalLockStatus function, an attempt is made to set the
lockedUntil variable to the minimum locked value for that principal among
all servers. However, lockedUntil is set to 0 immediately before this, and
so all attempts to find a locked value less than it fails, and so
lockedUntil always comes out of that function as 0.
- Also in the GetPrincipalLockStatus function, if the principal is
locked out according to all servers, then the main loop will exit when
ubik_CallIter returns the UNOSERVERS error code. But, since the return
code for GetPrincipalLockStatus is set to 1 if and only if ubik_CallIter
returns an error code of 0, this results in an return code of 0 being
returned for GetPrincipalLockStatus when in reality no error occured.
- A similar problem occurs in the kas_PrincipalUnlock function. If the
principal is not currently locked out of any server, ubik_CallIter will
iterate through all servers and return a UNOSERVERS error code. Again, in
this case the return code of kas_PrincipalUnlock will not be set to 1 and
an error will be indicated even though no error occured.
- In kas_PrincipalKeySet, the return code is never set to 1, even when
it completes successfully, so it seems that an error always occurs when
calling this function.
a) if the kernel headers use redhat's header-file selection thing, and
doesn't define their __BOOT_KERNEL* symbols if not.
b) which AFS kernel modules (single-processor, multi-processor, or both)
it makes sense to compile against these kernel headers. e.g. in a
CONFIG_MODVERSIONS environment, it only makes sense to compile for the
same SMP-ness as the headers.
in response to reports from hartmans@mekinok.com and zacheiss@mit.edu
will also autodisable for linux if no --with-linux-kernel-headers specified
and none found
convert rest of source to afsconfig; include rcsid macros
====================
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.
====================
remove bogus if/define/endif triple
====================
revert non-rcsid and afsconfig portion of patch