From: Derrick Brashear Date: Wed, 17 Oct 2007 04:48:07 +0000 (+0000) Subject: DEVEL15-darwin90-disk-cache-20071016 X-Git-Tag: openafs-devel-1_5_26~23 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=754d59c897d68420062b38c2814d73eff92270b7;p=packages%2Fo%2Fopenafs.git DEVEL15-darwin90-disk-cache-20071016 FIXES 43303 don't break memcache, also (cherry picked from commit 30193a043e0b3d965139ec92227f73ce31f24403) --- diff --git a/src/afs/afs_call.c b/src/afs/afs_call.c index 8e0f72883..d37f3e82f 100644 --- a/src/afs/afs_call.c +++ b/src/afs/afs_call.c @@ -467,11 +467,12 @@ afs_DaemonOp(long parm, long parm2, long parm3, long parm4, long parm5, static void wait_for_cachedefs(void) { #ifdef AFS_CACHE_VNODE_PATH - while ((afs_numcachefiles < 1) || (afs_numfilesperdir < 1) || - (afs_cachebasedir[0] != '/')) { - printf("afs: waiting for cache parameter definitions\n"); - afs_osi_Sleep(&afs_initState); - } + if (cacheDiskType != AFS_FCACHE_TYPE_MEM) + while ((afs_numcachefiles < 1) || (afs_numfilesperdir < 1) || + (afs_cachebasedir[0] != '/')) { + printf("afs: waiting for cache parameter definitions\n"); + afs_osi_Sleep(&afs_initState); + } #endif } @@ -865,22 +866,24 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6) osi_FreeSmallSpace(tbuffer); } else if (parm == AFSOP_GO) { #ifdef AFS_CACHE_VNODE_PATH - afs_int32 dummy; - - wait_for_cachedefs(); - + if (cacheDiskType != AFS_FCACHE_TYPE_MEM) { + afs_int32 dummy; + + wait_for_cachedefs(); + #ifdef AFS_DARWIN80_ENV - get_vfs_context(); + get_vfs_context(); #endif - if ((afs_numcachefiles > 0) && (afs_numfilesperdir > 0) && - (afs_cachebasedir[0] == '/')) { - for (dummy = 0; dummy < afs_numcachefiles; dummy++) { - code = afs_InitCacheFile(NULL, dummy); - } - } + if ((afs_numcachefiles > 0) && (afs_numfilesperdir > 0) && + (afs_cachebasedir[0] == '/')) { + for (dummy = 0; dummy < afs_numcachefiles; dummy++) { + code = afs_InitCacheFile(NULL, dummy); + } + } #ifdef AFS_DARWIN80_ENV - put_vfs_context(); + put_vfs_context(); #endif + } #endif /* the generic initialization calls come here. One parameter: should we do the * set-time operation on this workstation */