]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Support memcache sizes larger than 2GB.
authorNickolai Zeldovich <kolya@mit.edu>
Fri, 27 Dec 2002 03:51:51 +0000 (03:51 +0000)
committerNickolai Zeldovich <kolya@mit.edu>
Fri, 27 Dec 2002 03:51:51 +0000 (03:51 +0000)
src/afs/afs_dcache.c
src/afs/afs_memcache.c
src/afs/afs_prototypes.h

index 2636c745f5db980ae4aafadf550e5daefe704e69..addeb22370ecb44c10687bf8644944aa67eab486 100644 (file)
@@ -3062,12 +3062,17 @@ void afs_dcacheInit(int afiles, int ablocks, int aDentries, int achunk,
        /*
         * Use a memory cache instead of a disk cache
         */
+       afs_int64 cachebytes;
+
        cacheDiskType = AFS_FCACHE_TYPE_MEM;
        afs_cacheType = &afs_MemCacheOps;
        afiles = (afiles < aDentries) ? afiles : aDentries; /* min */
        ablocks = afiles * (AFS_FIRSTCSIZE/1024);
        /* ablocks is reported in 1K blocks */
-       code = afs_InitMemCache(afiles * AFS_FIRSTCSIZE, AFS_FIRSTCSIZE, aflags);
+
+       cachebytes = afiles;
+       cachebytes *= AFS_FIRSTCSIZE;
+       code = afs_InitMemCache(cachebytes, AFS_FIRSTCSIZE, aflags);
        if (code != 0) {
            printf("afsd: memory cache too large for available memory.\n");
            printf("afsd: AFS files cannot be accessed.\n\n");
index b0104326d37f48317b2517e0d54c450cc4ad58ec..a94c8d4e5f836875009f5ecf49c53380c9d9a81c 100644 (file)
@@ -34,7 +34,7 @@ static int memAllocMaySleep = 0;
 
 extern int cacheDiskType;
 
-int afs_InitMemCache(int size, int blkSize, int flags)
+int afs_InitMemCache(afs_int64 size, int blkSize, int flags)
   {
       int index;
 
index 3caf48b9e62c14b8e24f070f44888d9779600dba..cf9657629ac41ce850565b8fcc1ded556a834a10 100644 (file)
@@ -352,7 +352,7 @@ extern void shutdown_mariner(void);
 
 
 /* afs_memcache.c */
-extern int afs_InitMemCache(int size, int blkSize, int flags);
+extern int afs_InitMemCache(afs_int64 size, int blkSize, int flags);
 extern int afs_MemCacheClose(char *file);
 extern void *afs_MemCacheOpen(ino_t blkno);
 extern int afs_MemReadBlk(register struct memCacheEntry *mceP, int offset, char *dest, int size);