This is mostly a rewrite of src/afs/afs_cell.c, and associated changes
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.
====================
printf("%20s:\t%8d bytes\t[%d cells/%d bytes each + %d bytes for cell names]\n", "Cell package", j, i, sizeof(struct cell), Sum_cellnames);
+ Sum_cellaliases=0;
+ i = print_cellaliases(0);
+ j = (i * sizeof(struct cell_alias)) + Sum_cellaliases;
+ T += j;
+ printf("%20s:\t%8d bytes\t[%d cell_aliases/%d bytes each + %d bytes for cell names]\n", "Cell package", j, i, sizeof(struct cell_alias), Sum_cellaliases);
+
+ Sum_cellname_names=0;
+ i = print_cellnames(0);
+ j = (i * sizeof(struct cell_name)) + Sum_cellname_names;
+ T += j;
+ printf("%20s:\t%8d bytes\t[%d cell_names/%d bytes each + %d bytes for cell name strings]\n", "Cell package", j, i, sizeof(struct cell_name), Sum_cellname_names);