Block signals when sleeping in CV_WAIT() and CV_TIMEDWAIT(), similar
to the linux-avoid-signal-wakeups-while-sleeping-20020129 change for
afs_osi_Sleep().
Use filemap_fdata{sync,wait} directly (available in 2.4.5 and above)
rather than write_inode_now(), which steals afs inodes and puts them
on the global inode lists.
it was previously agreed that we wouldn't add gratuitous new sysnames unless things
(not just what the vendor calls the operating system) changed. precedent is
sun4m_412 still being "current" for sun4m_413, etc.
since the rxk listener gets "kill"d at shutdown we need to unmask to wake
it up. this should probably be replaced but the logical way is evil,
involves simulating a packet to the listener so it wakes up and notices it's
time to die
====================
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.
====================
with modifications by shadow@dementia.org
a guide to what's where in the OpenAFS source
this time the right file. a sure sign that it's bedtime.
====================
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.
====================
redo in a way that doesn't screw up with respect to libafsrpc and libafsrpc-
using suites
====================
redo in a way that doesn't screw up with respect to libafsrpc and libafsrpc-
using suites
Also include a patch that make sure that data are alligned on alpha. All
bsd's will fix it up in kernel when used, but you'll get a huge performace
penalty
Use afs_int32 in the des programs to make sure they work and make them
build again.
This patch should protect Rx-based servers from half-reachable clients,
which issue requests but don't acknowledge the server's response, thereby
eventually tying up all of the server threads, and denying service to all
other clients. Such clients can arise in case of uni-directional routing
failures, whereby all packets from the server to client are lost but not
the other way around.
The idea it to ping clients (using Rx ack ping) before attaching them to
a thread, if (a) we're running low on threads, and (b) the client hasn't
responsed to a ping recently.
make alpha AFS_64BIT_ENV
Avoid warning by not passing data inside a pointer in the test program rw.
Provide compatibility symbols for those w/o preempt hack so its possible to
link test program `rw'.
When comparing to lwp_cpptr->statcheck, cast to int, since that is the type
of lwp_cpptr->statcheck. It may be the case that sizeof(int) !=
sizeof(afs_int32), but then other things will break too.
clean tests with -f
====================
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.
====================
====================
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 the two places in Solaris afs_GetOnePage where locks
are obtained/released without GLOCK.
====================
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 the two places in Solaris afs_GetOnePage where locks
are obtained/released without GLOCK.
"1. The default Open AFS is set to normal security (doesn't generate random
user names).
If you are installing over a previous version (before 1.2.2b) it's default
is
high security; therefore, if you want the normal security, you should
uninstall the previous version (1.2.2a or earlier) and select to 'Not
Preserve previous settings'.
To manually change security you need to set the following registry keys:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemond\NetworkProvider
LogonOptions = 1 - Integrated Logon
LogonOptions = 2 - High Security options, Random User name generation
LogonOptions = 3 - both
3. Windows 2000/NT, Win9x - First time installations will create necessary
directories when user decides to download CellServDB
====================
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.
====================
like openbsd, stripping on netbsd strips libraries
based on suggestion from Ted Anderson
"the changes make more sense
than the code as it currently exists. the only think i am nervous
about is the dontSleep delete. while it makes more sense to just
not wakeup sleepers if none exist, i suppose its possible that
some bit of afs code wants acausal (wake before sleep) events.
that does seem quite unlikely. just looking at the sleep on
solaris, it checks the seq number to get the next event not
a previous event.
i imported the changes and make the fixup in osi_stoplistener().
i dropped some of the silly syntax changes that junked up the
diff -- this makes it a bit easier to see what was changed.
i just added an assert in afs_addevent for quality assurance
purposes."
====================
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 for osi_StopListener so it does the rigth thing
"The first is to change the gfp_mask passed to kmalloc(). Using GFP_KERNEL,
it is possible that the VM will call back to the filesystem to free up
memory to satisfy the kmalloc request. GFP_NOFS will prevent this possible
recursion. I believe GFP_NOFS first appeared in the 2.4.6 kernel.
The second change involves the call to schedule() when vmalloc() fails. This
can also cause a hang. The schedule() call could be replaced with:
"This fixes a livelock condition introduced in my earlier
resource starvation patch; apparently I had erred too far
on the side of "wake up just in case". The livelock bug
is exhibited when running 10 fsstress processes at once;
if many processes are waiting for a new Rx call, they get
stuck in an uninterruptible kernel loop waking each other
up."
"This patch fixes a deadlock in the new dcache locking scheme.
The underlying bug apparently existed before, but due to the
absence of locking, it probably resulted in spuriously high
refcounts rather than deadlock.
The problem happens when there are zero-length dcache entries
associated with a file; this is demonstrated by fsx, which
hangs after running on AFS for a while. The writeback loop
never releases dcache entries unless they're stored back to
the server as part of a sequential byte range."
"The particular problem seems to be, when size
is computed to be zero, tsmall is not filled in with valid data,
and ProcessFS is called with a zeroed out OutStatus. This causes
the file to magically turn into a directory (VDIR), among other
things"
"The second part of the patch doesn't fix any bug that I've ran into
thus far, but seemed like a good idea while I was reading the code
to find the former bug."
Currently it's possible to give StoreData negative Pos/Length/FileLength
arguments and thereby set the volume quota usage to arbitrary values.
This patch makes these values unsigned, since negative file positions
and lengths don't make sense anyway.
no reason server etcdir needs to be forced world readable; nothing need
default to those cellconfig files except in the localauth case and then
you need to be able to read the KeyFile anyway
This patch implements more fine-grained locking for dcache entries.
The main advantage is that multiple chunks of the same file can be
fetched at once. This means that an incorrectly-guessed prefetch
won't block other fetches, prefetches of multiple chunks can occur
in parallel, and multiple processes sharing the same file can read
from different parts of the file at once.