mirror of
https://git.openafs.org/openafs.git
synced 2025-01-21 08:20:16 +00:00
Avoid using afs_int64's, because this leads to gcc generating calls to
libgcc functions on Linux (which we don't have in the kernel). Instead be slightly more clever to achieve the same result.
This commit is contained in:
parent
755686d45a
commit
8092249d0d
@ -3062,17 +3062,12 @@ 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 */
|
||||
|
||||
cachebytes = afiles;
|
||||
cachebytes *= AFS_FIRSTCSIZE;
|
||||
code = afs_InitMemCache(cachebytes, AFS_FIRSTCSIZE, aflags);
|
||||
code = afs_InitMemCache(afiles, 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(afs_int64 size, int blkSize, int flags)
|
||||
int afs_InitMemCache(int blkCount, int blkSize, int flags)
|
||||
{
|
||||
int index;
|
||||
|
||||
@ -42,7 +42,7 @@ int afs_InitMemCache(afs_int64 size, int blkSize, int flags)
|
||||
if(blkSize)
|
||||
memCacheBlkSize = blkSize;
|
||||
|
||||
memMaxBlkNumber = size / memCacheBlkSize;
|
||||
memMaxBlkNumber = blkCount;
|
||||
memCache = (struct memCacheEntry *)
|
||||
afs_osi_Alloc(memMaxBlkNumber * sizeof(struct memCacheEntry));
|
||||
if (flags & AFSCALL_INIT_MEMCACHE_SLEEP) {
|
||||
|
@ -352,7 +352,7 @@ extern void shutdown_mariner(void);
|
||||
|
||||
|
||||
/* afs_memcache.c */
|
||||
extern int afs_InitMemCache(afs_int64 size, int blkSize, int flags);
|
||||
extern int afs_InitMemCache(int blkCount, 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