]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Fix cache tracking for small fragsizes
authorAndrew Deason <adeason@sinenomine.net>
Thu, 27 Aug 2009 17:43:03 +0000 (12:43 -0500)
committerDerrick Brashear <shadow|account-1000005@unknown>
Thu, 17 Dec 2009 06:48:37 +0000 (22:48 -0800)
The tracked amount of disk cache used by a client can be incorrect when
afs_fsfragsize is tuned to below 1023. Since we round up to the next
nearest afs_fsfragsize+1 then round down to the kb, if afs_fsfragsize+1
< 1kb, we can undershoot the cache usage.

This enforces afs_fsfragsize to always be at least 1023.

Change-Id: I2f2f0b14da3f1a57348497f0a372c89388818e9c
Reviewed-on: http://gerrit.openafs.org/338
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-on: http://gerrit.openafs.org/960

src/afs/afs_init.c

index 970c1a8db9e51dc0e5fc3c45c03f7046c6f5274b..728bea658aacc789debcb8ce72af504d5650dc5e 100644 (file)
@@ -468,6 +468,8 @@ afs_InitCacheInfo(register char *afile)
 #endif /* AFS_LINUX20_ENV */
     AFS_RELE(filevp);
 #endif /* AFS_LINUX22_ENV */
+    if (afs_fsfragsize < 1023)
+       afs_fsfragsize = 1023;
     tfile = osi_UFSOpen(cacheInode);
     afs_osi_Stat(tfile, &tstat);
     cacheInfoModTime = tstat.mtime;