we'll finish it on a branch and remerge; 1.3.83 needs to happen and 1.4 needs to go out.
====================
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.
====================
we'll finish it on a branch and remerge; 1.3.83 needs to happen and 1.4 needs to
go out.
On at least one system it was noticed that threads waiting in rx_NewCall
would starve forever (aka deadlock). This was the result of one out of
two problems related to a race condition on the RX_CONN_MAKECALL_WAITING
bit flag. This flag was set once in rx_NewCall and cleared in rx_EndCall.
However, it was possible for the flag to be cleared even though there
were additional flags waiting in rx_NewCall. This was due to a failure
to check the value of makeCallWaiters before clearing the flag and also
due to a failure to properly lock the access to the makeCallWaiters field.
The second problem was an ability to destroy a connection on which threads
are waiting within rx_NewCall.
It has been noticed that on startup there may be corruption of the
dnlc freelist. In particular, some items on the list are actually
in use. This patch will cause the dnlc to be purged if corruption
of the freelist is detected. It also makes changes to ensure that
items placed onto the freelist are in fact cleaned to prevent confusion.
The purge function is corrected to set that magic field to the correct
value.
The validation function is fixed to not CloseHandle the same handle
twice.
====================
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.
====================
====================
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.
====================
ifaddr/ifnet compat macros for older versions, and clean up afs_server interface ot use it.
Russ Allbery [Thu, 12 May 2005 06:03:05 +0000 (06:03 +0000)]
* Repackage upstream to remove MacOS-specific files covered by the APSL.
Remove the WINNT directory to save space since we have to repackage
anyway. Provide a get-orig-source target to do the repackaging.
* Update copyright with more complete information from upstream
src/LICENSE.
Russ Allbery [Tue, 10 May 2005 01:44:58 +0000 (01:44 +0000)]
If I forget to remove the fi when removing the if, someone else will get
bitten by it later, so use if false; then ; else instead. Also, it's
helpful to regenerate configure when changing .m4 files.
Russ Allbery [Tue, 10 May 2005 01:37:31 +0000 (01:37 +0000)]
* In all cases, only build the module appropriate to the kernel we're
building against. Building an SMP module against a non-SMP kernel
fails due to missing defines. (Closes: #225907)
Russ Allbery [Mon, 9 May 2005 22:50:56 +0000 (22:50 +0000)]
Pass environment variables to configure in the environment; passing them
as arguments works if configure is rebuilt with Autoconf 2.5x, but passing
them in the environment works with any version of configure. (Debian's
configure autodetects autoconf 2.13 when running regen.sh, and so far it
does seem to work....)
Russ Allbery [Sun, 8 May 2005 20:33:22 +0000 (20:33 +0000)]
* README.modules: Add documentation for module-assistant and recommend
it when using Debian kernels. Mention divergences from upstream in
module naming. (Closes: #253168) Emphasize that the kernel source
tree used for make-kpkg must be identically configured to the kernel
the module will be used with.
The security module "afs_dynamic_auth" can get VERY slow if trying to
authenticate against a user in a large NIS password file. This happens
because it "replaces" getpwnam with code which loops through the
"passwd" file.
this 1) makes external programs use the "real"
getpwnam, and 2) changes the internal routine afs_getpwnam_int to use
getpwnam instead of iterating.
when the callback for a directory is broken the children of this vnode
are not invalidated as well. so VerifyVCache() always believes these
vnodes to be up to date since they will still have the CStatd flag.
perhaps breaking the callback on a directory should also clear CStatd
on children vnodes?
this isnt a problem for other operating system which go through the
dnlc which does purge the children entries for the vnode in question
during ClearCallBack().
since d_revalidate now avoids the dnlc (and afs_lookup) the following
patch tracks the parent vnode's DataVersion (just the lower half really
but this should be sufficient) in d_time. if the parent has changed
then the dentry is flagged as neededing updated.
Russ Allbery [Sun, 1 May 2005 03:48:26 +0000 (03:48 +0000)]
* Update debhelper compatibility level to V4.
- Remove all *.conffiles control files. They're no longer needed.
- Use misc:Depends to get debconf dependencies.
- Use dh_install rather than the movefiles script.
* openafs-dbserver doesn't need to depend on debconf.
* Remove unnecessary preinst for openafs-fileserver.
Russ Allbery [Sun, 1 May 2005 00:40:06 +0000 (00:40 +0000)]
* Overhaul the module build rules.
- Use debhelper to build the module binary package.
- Let debhelper handle the module postinst and prerm control scripts.
- Properly support modules_config and modules_clean.
- Break the build process into configure, build, install, and binary
rules, paralleling the regular build rules and making it easier to
maintain the make-kpkg build targets.
- Include the kernel version in the long description.
- Update standards version of module packages to 3.6.1.
- Include the copyright and basic documentation in the module binary
package. Otherwise, policy requires an exact versioned dependency
on the package containing the copyright file.
Also note that the logic to turn off optimization when requested doesn't
work as documented in the configure script.
* Update standards version to 3.6.1.
- Install Debian::OpenAFS::ConfigUtils in /usr/share, not /usr/lib.
- Always enable debugging symbols and disable optimization if noopt is
set in DEB_BUILD_OPTIONS.
- /etc/init.d/openafs-fileserver restart starts bosserver if it's not
already running.
* README.Debian: Document that the client cache partition must be ext2
or ext3 and that XFS and ReiserFS will not work. upserver and
upclient are now provided. Provide some information about why
kaserver is not provided. (Closes: #249315)
Also clean up the formatting of README.Debian a little.
====================
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.
====================
====================
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.
====================
split for rw/ro dcaches to allow portion of cache to be dedicated
====================
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.
====================
cm_EndCallbackGrantingCall contained a race condition due to the release
of the cm_callbackLock in the middle of the for() loop. The race was
removed by optimizing out the call to cm_CallbackNotifyChange(). There
is no reason this needed to be called once per callback revoke in the
list.
here's a patch that reduces the overhead of transfers
between the local and global free packet queues. The old algorithm was
O(n) in the number of store instructions -- 7 per rx_packet. I've added
some bulk transfer macros to the rx_queue package. Now, the number of
store instructions is O(1) -- 6 total. This should help reduce bus
contention and cache line invalidates on SMPs.
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.
====================