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'.
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.
hopefully this will be the end
(at least for a while) of problems where every linux version requires a new
openafs release. the struct vnode is now dynamically generated by parsing the
linux/fs.h file and pulling out the struct inode, then rewriting osi_vfs.h
Sam's notes:
"Here is a patch that supports directory paths, documentation for the
above and decanonicalization of of supplied paths. Here are tests I
have run:
* Build with both transarc and non-transarc paths and examined
dirpath.o
* Build with roughly FHS-style paths and tested on Debian
* confirmed that bos salvage works even when salvager not in
/usr/afs/bin
(it gets the log correctly too)
* confirms that bos getlog can get logs from /usr/afs/logs even when
/ur/afs/logs
is /var/lib/openafs/logs
* confirmed that bos getlog can get /etc/motd
"
- 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.
====================
news entry for large cache patch