windows-all-cell-list-20070619

Reverse the order of the allCellsp list.  Append new cells onto the end
of the list.  This ensures that the workstation cell will always be the
first in the list.  Adding additional cells will not degrade the performance
to the workstation cell.
This commit is contained in:
Jeffrey Altman 2007-06-19 19:29:41 +00:00
parent 01c3c334d5
commit adb83635bb

View File

@ -225,9 +225,15 @@ cm_cell_t *cm_GetCell_Gen(char *namep, char *newnamep, afs_uint32 flags)
strncpy(cp->name, fullname, CELL_MAXNAMELEN);
cp->name[CELL_MAXNAMELEN-1] = '\0';
/* thread on global list */
cp->nextp = cm_data.allCellsp;
cm_data.allCellsp = cp;
/* append cell to global list */
if (cm_data.allCellsp == NULL) {
cm_data.allCellsp = cp;
} else {
for (cp2 = cm_data.allCellsp; cp2->nextp; cp2=cp2->nextp)
;
cp2->nextp = cp;
}
cp->nextp = NULL;
/* the cellID cannot be 0 */
cp->cellID = ++cm_data.currentCells;