From f091ace32e3045da396d577055dafd67888ff7ea Mon Sep 17 00:00:00 2001 From: Andrew Deason Date: Wed, 8 Jun 2011 22:50:27 -0500 Subject: [PATCH] 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 --- src/afs/afs_dynroot.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) 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); -- 2.39.5