]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
libafs: memset dirHeader->hashTable
authorAndrew Deason <adeason@sinenomine.net>
Thu, 9 Jun 2011 03:50:27 +0000 (22:50 -0500)
committerDerrick Brashear <shadow@dementix.org>
Tue, 27 Dec 2011 04:35:29 +0000 (20:35 -0800)
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.

Reviewed-on: http://gerrit.openafs.org/4829
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit f091ace32e3045da396d577055dafd67888ff7ea)

Change-Id: Ia098730c3e83429ce4f886b1427159d13eff4c4e
Reviewed-on: http://gerrit.openafs.org/6414
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
src/afs/afs_dynroot.c

index 374aa6f6eeffc79738efdaed9514a2ed0c652486..24b8140b037d1f888db7b2122bf83cb1ecf1ceca 100644 (file)
@@ -404,8 +404,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);
@@ -501,8 +500,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);