From: Andrew Deason Date: Thu, 9 Jun 2011 03:50:27 +0000 (-0500) Subject: libafs: memset dirHeader->hashTable X-Git-Tag: upstream/1.8.0_pre1^2~3641 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=f091ace32e3045da396d577055dafd67888ff7ea;p=packages%2Fo%2Fopenafs.git libafs: memset dirHeader->hashTable Clear dirHeader->hashTable via memset instead of via a loop. This is more efficient, and avoids the loop getting optimized into an unusable _memset call on recent versions of Solaris Studio when building for the kernel. Thanks to Jeff Blaine for reporting the issue with Solaris Studio. Change-Id: Ibaa5140d510c2df7e1129352a6677594785b42b4 Reviewed-on: http://gerrit.openafs.org/4829 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- diff --git a/src/afs/afs_dynroot.c b/src/afs/afs_dynroot.c index adf17bb52..9ca8131c5 100644 --- a/src/afs/afs_dynroot.c +++ b/src/afs/afs_dynroot.c @@ -407,8 +407,7 @@ afs_RebuildDynroot(void) dirHeader->alloMap[0] = EPP - DHE - 1; for (i = 1; i < MAXPAGES; i++) dirHeader->alloMap[i] = EPP; - for (i = 0; i < NHASHENT; i++) - dirHeader->hashTable[i] = 0; + memset(dirHeader->hashTable, 0, NHASHENT * sizeof(dirHeader->hashTable[0])); /* Install ".", "..", and the dynamic mount directory */ afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk, ".", 1); @@ -507,8 +506,7 @@ afs_RebuildDynrootMount(void) dirHeader->alloMap[0] = EPP - DHE - 1; for (i = 1; i < MAXPAGES; i++) dirHeader->alloMap[i] = EPP; - for (i = 0; i < NHASHENT; i++) - dirHeader->hashTable[i] = 0; + memset(dirHeader->hashTable, 0, NHASHENT * sizeof(dirHeader->hashTable[0])); /* Install "." and ".." */ afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk, ".", 1);