darwin port was unhappy because of this
[openafs.git] / src / afs / afs_init.c
index 4842b4d..00f38a5 100644 (file)
@@ -1,8 +1,12 @@
- /* Copyright (C) 1995, 1989, 1998 Transarc Corporation - All rights reserved */
 /*
- * (C) COPYRIGHT IBM CORPORATION 1987, 1988
- * LICENSED MATERIALS - PROPERTY OF IBM
+ * Copyright 2000, International Business Machines Corporation and others.
+ * All Rights Reserved.
+ * 
+ * This software has been released under the terms of the IBM Public
+ * License.  For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
  */
+
 /*
  * afs_init.c - initialize AFS client.
  *
@@ -93,7 +97,7 @@ extern afs_lock_t afs_ftf;
 /* Exported variables */
 struct osi_dev cacheDev;           /*Cache device*/
 afs_int32 cacheInfoModTime;                    /*Last time cache info modified*/
-#if    defined(AFS_OSF_ENV) || defined(AFS_DEC_ENV)
+#if defined(AFS_OSF_ENV) || defined(AFS_DEC_ENV) || defined(AFS_DARWIN_ENV)
 struct mount *afs_cacheVfsp=0;
 #elif defined(AFS_LINUX20_ENV)
 struct super_block *afs_cacheSBp = 0;
@@ -321,11 +325,7 @@ afs_InitVolumeInfo(afile)
 #else
     code = gop_lookupname(afile, AFS_UIOSYS, 0, (struct vnode **) 0, &filevp);
     if (code) return ENOENT;
-#if defined(AFS_SGI62_ENV) || defined(AFS_HAVE_VXFS)
-    fce.inode = volumeInode = VnodeToIno(filevp);
-#else
-    fce.inode = volumeInode = VTOI(filevp)->i_number;
-#endif
+    fce.inode = volumeInode = afs_vnodeToInumber(filevp);
 #ifdef AFS_DEC_ENV
     grele(filevp);
 #else
@@ -432,7 +432,11 @@ afs_InitCacheInfo(afile)
              TO_KERNEL_SPACE();
          }
 #else
+#ifdef AFS_DARWIN_ENV
+        if (!VFS_STATFS(filevp->v_mount, &st, current_proc()))
+#else 
        if (!VFS_STATFS(filevp->v_vfsp, &st))  
+#endif /* AFS_DARWIN_ENV */
 #endif /* AFS_LINUX20_ENV */
 #endif /* AIX41 */
 #endif /* OSF */
@@ -445,17 +449,14 @@ afs_InitCacheInfo(afile)
 #endif
     }
 #ifdef AFS_LINUX20_ENV
-      cacheInode = filevp->i_ino;
-      afs_cacheSBp = filevp->i_sb;
+    cacheInode = filevp->i_ino;
+    afs_cacheSBp = filevp->i_sb;
 #else
-#if defined(AFS_SGI62_ENV) || defined(AFS_HAVE_VXFS)
+#if defined(AFS_SGI62_ENV) || defined(AFS_HAVE_VXFS) || defined(AFS_DARWIN_ENV)
     afs_InitDualFSCacheOps(filevp);
-    cacheInode = VnodeToIno(filevp);
-    cacheDev.dev = VnodeToDev(filevp);
-#else
-    cacheInode = VTOI(filevp)->i_number;
-    cacheDev.dev = VTOI(filevp)->i_dev;
 #endif
+    cacheInode = afs_vnodeToInumber(filevp);
+    cacheDev.dev = afs_vnodeToDev(filevp);
     afs_cacheVfsp = filevp->v_vfsp;
 #endif /* AFS_LINUX20_ENV */
     AFS_RELE((struct vnode *)filevp);