From: Derrick Brashear Date: Wed, 17 Oct 2007 04:51:44 +0000 (+0000) Subject: STABLE14-darwin90-disk-cache-20071016 X-Git-Tag: openafs-stable-1_4_5pre3~3 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=87cebf49188103b23ba70e03ae6bd690922f5901;p=packages%2Fo%2Fopenafs.git STABLE14-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 1b04bd0cb..0863c3149 100644 --- a/src/afs/afs_call.c +++ b/src/afs/afs_call.c @@ -508,11 +508,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 } @@ -894,22 +895,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(); -#endif - if ((afs_numcachefiles > 0) && (afs_numfilesperdir > 0) && - (afs_cachebasedir[0] == '/')) { - for (dummy = 0; dummy < afs_numcachefiles; dummy++) { - code = afs_InitCacheFile(NULL, dummy); - } - } + 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); + } + } #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 */