FIXES 1363
* Allow AFS to be mounted multiple times, each mountpoint with its
own root volume. This allows usage similar to the Windows client,
e.g., mounting a drive that contains only the user's home
directory. Our users find this much easier to work with than
having to navigate the entire AFS tree in the Finder or open/save
dialog.
* Have afsd register /afs with the DiskArbitration system
when mounting it. This means that the root afs volume shows up in
the Finder immediately, and prevents the Finder from getting
confused by additional AFS volumes later on.
* Add a "-nomount" option to afsd, which prevents afsd from
mounting /afs. We use this by default on our Mac OS X client, so
that AFS doesn't show up in the interface at all unless the user
explicitly asks for an AFS volume to be mounted. This is
especially handy for portable or remote users who don't always
have a network connection, since there isn't an AFS filesystem
around to hang the Finder if the AFS servers can't be contacted
(the cache manager may still hang, but since there are no AFS
volumes mounted, the rest of the OS doesn't notice).
* Make it so that /afs (mounted by afsd) will not unmount unless
MNT_FORCE is given. This prevents the user from accidentally
ejecting /afs in the Finder, and also works around a DiskArb bug in
Mac OS X (possibly fixed in 10.2) where autodiskmount would sometimes
unmount /afs when logging out, even though it's marked as
non-ejectable.
FIXES 1413
buffers are signed, should be checked for negative in addition to smaller than
PIGGYSIZE; also, check out buffer size before calling pioctl handler.
FIXES 1448
everything shoudl be done as the parent volume id so the volume group stuff works right.
otherwise, we create things which get stored under one "tag", try to open the,
under another "tag" and they aren't there, because it doesn't hash the same.
Clean up newline conventions in src/WINNT/eventlog/lang/*/event.mc.
Existing files were in CVS with CRLF newlines, and so some Windows tools
would check them out with CRCRLF. Unfortunately, the mc-compiler can't
handle CRCRLF newlines. Fixing the files in CVS to have LF newlines
(like all proper text files) makes the problem go away -- they end up
with CRLF if checked out using tools that do newline conversion, and
LF-only if not, and the compiler accepts either.
Add cell aliases we find using AFSDB for cells that have been
statically configured via CellServDB. This preserves the AFSDB
implementation behavior from before the cell code rewrite.
avoid potentially looping forever in e.g. afs_FetchStatus because
we exit afs_Analyze too early to increment busyCount, and despite having
areq->busyCount non-zero we have servers still not_busy which are already down
that we'll never talk to again. that combined with no conn means we never
touch most of afs_Analyze, exiting early with shouldRetry set.
incrementing busyCount whenever we exit with shouldRetry set should
ensure we can never end up looping forever.
blocking these seems to prevent all threads from dying when the kernel
gives e.g. SIGSEGV to one of the processes. since softsig is to protect us
from what signals we handle might do in the handler, this should be fine