From adb83635bbb0c2ed7f549a78e2d9a56baa16b273 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 19 Jun 2007 19:29:41 +0000 Subject: [PATCH] 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. --- src/WINNT/afsd/cm_cell.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/WINNT/afsd/cm_cell.c b/src/WINNT/afsd/cm_cell.c index 3197a74475..85d6dfb20b 100644 --- a/src/WINNT/afsd/cm_cell.c +++ b/src/WINNT/afsd/cm_cell.c @@ -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;