darwin90-disk-cache-20071010
[openafs.git] / src / afs / afs_init.c
index ad6defa..87b2b73 100644 (file)
@@ -245,8 +245,12 @@ afs_InitCellInfo(char *afile)
     ino_t inode;
     int code;
 
+#ifdef AFS_CACHE_VNODE_PATH
+    return afs_cellname_init(AFS_CACHE_CELLS_INODE, code);
+#else
     code = LookupInodeByPath(afile, &inode, NULL);
     return afs_cellname_init(inode, code);
+#endif
 }
 
 /*
@@ -287,6 +291,8 @@ afs_InitVolumeInfo(char *afile)
      * it in the cache...
      */
     code = LookupInodeByPath(afile, &volumeInode, &volumeVnode);
+#elif defined(AFS_CACHE_VNODE_PATH)
+    volumeInode = AFS_CACHE_VOLUME_INODE;
 #else
     code = LookupInodeByPath(afile, &volumeInode, NULL);
 #endif
@@ -417,11 +423,15 @@ afs_InitCacheInfo(register char *afile)
 #if defined(AFS_SGI62_ENV) || defined(AFS_HAVE_VXFS) || defined(AFS_DARWIN_ENV)
     afs_InitDualFSCacheOps(filevp);
 #endif
-    cacheInode = afs_vnodeToInumber(filevp);
-    cacheDev.dev = afs_vnodeToDev(filevp);
+#ifndef AFS_CACHE_VNODE_PATH
 #ifndef AFS_DARWIN80_ENV
     afs_cacheVfsp = filevp->v_vfsp;
 #endif
+    cacheInode = afs_vnodeToInumber(filevp);
+#else
+    cacheInode = AFS_CACHE_ITEMS_INODE;
+#endif
+    cacheDev.dev = afs_vnodeToDev(filevp);
 #endif /* AFS_LINUX20_ENV */
     AFS_RELE(filevp);
 #endif /* AFS_LINUX22_ENV */