Thanks to shirsch@adelphia.net for mentioning something was added.
====================
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.
====================
bcopy, bcmp, bzero, index, rindex, you're all cut.
memcpy, memcmp, memset, strchr, strrchr, show us how it's done
====================
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.
====================
fix reference to memset the right thing
====================
make change to arguments globally and not just for e.g. linux/darwin/fbsd
doesn't look like it should matter but we might as well try to stay consistent
====================
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.
====================
"no special instructions this time other than you need a rather recent
glibc (turbolinux beta5 or redhat 7.1) since the afs userland utilities
use ucontext() instead of setjmp()/longjmp(). this is probably the weakest
part of the port since lwp is somewhat difficult to test rigorously.
you can insmod the afs module now (and rmmod if you like) why so difficult?
function pointers are really pointers to a function descriptor that contains
the function pointer and global pointer. the syscall table (being written
in assembler) only contains function pointers. it doesnt setup the gp.
modules and kernels do not share the same gp. so if you want the syscall
to go to a module, you need to setup the gp and then call your module's
routine. be sure to restore the gp after returning from your routine :)
i also converted to the 'new style' module_init() -- only used on kernel
versions 2.4.0 and up. this does the right thing if you happen to be
linked directly with the kernel.
klog has been fixed (afs's crypt() function is sensitive to sizeof(long) --
des/crypt.c should probably use 'afs_int32', not 'long' or 'int')
in case it matters, my platform is a b3-stepping running beta5 of turbolinux."
====================
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.
====================
"There appears to be a conflict between two vcache state flags:
CWritingUFS and CDCLock are both 0x200000. This patch moves
CDCLock to 0x2000000 (which I'm guessing was the intended value
from the position of that #define). It also reformats the block
of #define's to be consistent in number format and indentation,
to make it somewhat more readable, and to make such conflicts
less likely to reappear."
reduce afs vnode lock contention, also implements async page requests
"(In afs_GetDCache, the hints in the vnode are only updated if we
can grab the write lock without blocking. In afs_GetOnePage, we
only grab the read lock, rather than the shared lock -- as far as
I can tell, there's nothing that needs the write lock.)
FWIW, the particular case where I was being bitten by this lock
contention was playing an mp3 from AFS space and at the same time
copying it to local disk. The copy kept fetching chunks while
holding the read lock, so the mp3 player couldn't grab a write
lock in the page fault, even though the data was already in cache.
While I'm not fully familiar with the semantics of afs vnode locks
[do they even exist? :-)], I believe changing from shared to read
locks in afs_GetOnePage should be safe."
The AFS_64BIT_ENV define is needed for afsutil.h which makes use
of some 64-bit types (and if AFS_64BIT_ENV isn't set, defaults to
the non-existant u_int64_t).
- support for large caches in afsd. Cachefiles are stored in
subdirectories. The default is 2048 files per subdirectory, which
should work fine in most situations. You can use the new afsd
option -files_per_subdir to change this number. Note that the first
time you run afsd with this patch, your cachefiles will get moved
into subdirectories. If you subsequently run an older version of
afsd, you will lose all your cached files.
====================
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.
====================
During Un-Install of AFS for Windows, it removed the following key:
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\NetBT\\Parameters
Instead it should have removed only the SMBDeviceEnable=0 item within
the above key.
This damaged the NetBT (NetBios over TCP/IP) interface, and required
re-installing of TCP/IP. The users found their ability to share files
and printers damaged.
"This patch makes Rx only honor client-initiated Version and Debug
packets, and respond to them without the "client-initiated" flag.
All existing code sends Version and Debug queries from the client
with the appropriate flag set. With the current code, one could
easily create a UDP packet loop between two Rx services."
powerpc not ppc is the cpu type; specify version also
====================
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.
====================
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
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.
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.
====================