afsd option (-backuptree) and proc interface code for linux to enable preferring
backup volumes when crossing mountpoints once in a tree of backup volumes.
FIXES 1774
thanks to nneul@umr.edu for providing a script to do this.
gnu indent 2.2.9 options:
-npro -nbad -bap -nbc -bbo -br -ce -cdw -brs -ncdb -cp1 -ncs -di2 -ndj -nfc1
-nfca -i4 -lp -npcs -nprs -psl -sc -nsob -ts8
====================
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.
====================
FIXES 1774
fix subst mistake
FIXES 1455
disallow cache directory of types we know cause problems
====================
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.
====================
FIXES 1542
typo
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.
to other things. Features of the new cell code:
* Persistent name-to-cell-number mapping across reboots, to ensure the
cell numbers in the dcache are meaningful. Stored in the new cache
file, /usr/vice/cache/CellInfo.
* Allow cmdebug to query the cell number to cell name mapping.
* Allow clients to have an empty CellServDB as long as AFSDB is enabled
and ThisCell has AFSDB records.
* The home cell retains the setuid bit even if looked up via AFSDB.
* Dynroot gets its own cell, rather than piggybacking on cell 1.
* Cell 1 is no longer special; cell numbers are now semi-opaque.
* Convert cell traversal code to using GetCellByIndex rather than
directly poking at CellLRU / afs_xcell.
* Separate cells from aliases, which shouldn't have been the same
in the first place.
* Cleaner code (IMHO).
====================
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.
====================
make the arguments afs_CellNumValid takes match the prototype (since it
really is a afs_int32 it looks like)
====================
update irix to deal
====================
update irix to deal
====================
Fix some more references to the now-nonexistant cell->index
This patch adds support for building OpenAFS user-mode code on SunOS 4.
It does not include libafs, ulibafs, or any code that needs to understand
the filesystem layout (so, no vfsck, and while the salvager will be built,
it won't work).
Useful for quickly stat'ing everything under /afs, for instance.
Reasonably tested on Solaris, and appears to work on Linux too.
Enable with 'afsd -fakestat'.
an ext3 journal in the vice cache (root of the partition) is allowable
we have no useful way to discern ext2 from ext3 without groveling in fstab
so just allow it
Modularize the Linux RC file(s) a bit. In particular, add more
options for larger caches, allow autogeneration of the cacheinfo file,
make sure AFS only starts if the network is running, add SuSE header
information, and cope with the Red Hat initscripts better (on Red Hat
only, but should work on all systems).
====================
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 silly typo
The result is that if afsd is started with "-dynroot", /afs
will be a locally-generated directory, with mountpoints for every
cell in CellServDB (and /afs/.cellname as the rw mountpoint). If
AFSDB support is also enabled, attempting to access /afs/foo will
cause the cache manager to do an AFSDB lookup on foo, similar to
an automounter. Cell aliases become symlinks to the real cell
names under /afs.
This patch adds support for "cell aliases": a cell alias allows a
single cell to be known by multiple names (one of them the primary).
This is useful in conjunction with AFSDB support, where you want all
the possible names for the same cell to share the same tokens, etc.
For instance, if the local resolver has "mit.edu" in its search
domain, an AFSDB lookup on cell "athena" will cause the primary
cell "athena.mit.edu" to be created, and "athena" made an alias
for it.
This patch fixes two bugs:
(1) pass more than 4 parameters to AFSCALL syscalls on Linux,
allowing the ADVISEADDR op to pass the MTU array pointer.
(2) properly convert MTU's to network byte order, since that's
what the rest of the code expects them to be.
according to jeff:
- Renames the top-level 'install' target to 'build'. This should be
transparent, since no one should be using that.
- Improves on Sam's dirpath patches, by splitting out server binaries
into separate bin, sbin, and libexec directories in GCS mode (these
are all /usr/afs/bin in Transarc mode).
- Updates the top-level 'all' target so that it builds the software
but does not generate a dest tree. Top-level 'lib' and 'include'
directories are generated to hold the intermediate libraries and headers
used during the build.
- Adds a new top-level 'install' target, which installs things in the
appropriate directories under ${DESTDIR}, based on configure's install
directories plus the extras added by Sam's patch.
- Adds a new top-level 'dest' target, which creates an old-style dest
directory under ${DEST}. The ${DEST} variable defaults to the
traditional value of ${SRCDIR_PARENT}/${SYS_NAME}/dest. Note that
this variable used to be called ${DESTDIR}; it was renamed to avoid
conflicts with the de facto standard usage of ${DESTDIR}.
====================
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 missed makefile
====================
update another missed file
====================
eliminate bogus escaping
====================
get rid of another bogus escape
====================
remove unused include directory
====================
get rid of no longer used libdir
====================
remove unused incdir
====================
fix up some problems for make compatibility and missing trailing /
====================
put afs.exp in the right place
====================
remove bogus afssrvdir reference
====================
update dest version of output
====================
update ref to libexecdir
====================
kill refs to afssrvdir
====================
convert missed LIBDIR to TOP_LIBDIR
====================
remove explicit INSTALL and use makefile.@sys value instead
====================
except it's helpful to actually include makefile.@sys
====================
convert LIBDIR to TOP_LIBDIR