mirror of
https://git.openafs.org/openafs.git
synced 2025-01-21 08:20:16 +00:00
Support memcache sizes larger than 2GB.
This commit is contained in:
parent
b8dbb6e0c9
commit
755686d45a
@ -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");
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user