Remove support for Solaris pre-8
[openafs.git] / src / afs / VNOPS / afs_vnop_fid.c
index d366c40..d0e26eb 100644 (file)
  * Implements:
  * afs_fid
  *
- * afs_vptofh (DUX) is now in DUX/osi_vfsops.c
  */
 
 #include <afsconfig.h>
-#include "../afs/param.h"
+#include "afs/param.h"
 
-RCSID("$Header$");
 
-#if !defined(AFS_DUX40_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV)
-#include "../afs/sysincludes.h"        /* Standard vendor system headers */
-#include "../afs/afsincludes.h"        /* Afs-based standard headers */
-#include "../afs/afs_stats.h" /* statistics */
-#include "../afs/afs_cbqueue.h"
-#include "../afs/nfsclient.h"
-#include "../afs/afs_osidnlc.h"
+#if !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_OBSD_ENV) && !defined(AFS_NBSD_ENV)
+#include "afs/sysincludes.h"   /* Standard vendor system headers */
+#include "afsincludes.h"       /* Afs-based standard headers */
+#include "afs/afs_stats.h"     /* statistics */
+#include "afs/afs_cbqueue.h"
+#include "afs/nfsclient.h"
+#include "afs/afs_osidnlc.h"
 
 
 
-int afs_fid_vnodeoverflow=0, afs_fid_uniqueoverflow=0;
+int afs_fid_vnodeoverflow = 0, afs_fid_uniqueoverflow = 0;
 
 /*
  *  afs_fid
@@ -64,52 +62,51 @@ int afs_iauth_initd = 0;
 #endif
 
 
-extern int afs_NFSRootOnly; /* 1 => only allow NFS mounts of /afs. */
-#if !defined(AFS_DEC_ENV) && !defined(AFS_ATHENA_ENV)
+extern int afs_NFSRootOnly;    /* 1 => only allow NFS mounts of /afs. */
+
+#if !defined(AFS_ATHENA_ENV)
+int
 #ifdef AFS_AIX41_ENV
-afs_fid(OSI_VC_ARG(avc), fidpp, credp)
-    struct ucred *credp ;
-#else
-afs_fid(OSI_VC_ARG(avc), fidpp)
-#endif /* AFS_AIX41_ENV */
-OSI_VC_DECL(avc);
-#if    defined(AFS_AIX_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SUN54_ENV)
-struct fid *fidpp;
+afs_fid(OSI_VC_DECL(avc), struct fid *fidpp, struct ucred *credp)
+#elif defined(AFS_SUN5_ENV)
+afs_fid(OSI_VC_DECL(avc), struct fid *fidpp)
 #else
-struct fid **fidpp;
-#endif
+afs_fid(OSI_VC_DECL(avc), struct fid **fidpp)
+#endif                         /* AFS_AIX41_ENV */
 {
     struct SmallFid Sfid;
     long addr[2];
-    register struct cell *tcell;
+    struct cell *tcell;
     extern struct vcache *afs_globalVp;
     int SizeOfSmallFid = SIZEOF_SMALLFID;
     int rootvp = 0;
-    OSI_VC_CONVERT(avc)
+    OSI_VC_CONVERT(avc);
 
     AFS_STATCNT(afs_fid);
 
-    if (afs_shuttingdown) return EIO;
+    if (afs_shuttingdown)
+       return EIO;
 
-    if (afs_NFSRootOnly && (avc == afs_globalVp)) rootvp = 1;
+    if (afs_NFSRootOnly && (avc == afs_globalVp))
+       rootvp = 1;
     if (!afs_NFSRootOnly || rootvp
 #ifdef AFS_AIX41_ENV
        || USE_SMALLFID(credp)
 #endif
        ) {
-       tcell = afs_GetCell(avc->fid.Cell, READ_LOCK);
-       Sfid.Volume = avc->fid.Fid.Volume;
-       Sfid.Vnode =  avc->fid.Fid.Vnode;
-       Sfid.CellAndUnique = ((tcell->cellIndex << 24) +
-                             (avc->fid.Fid.Unique & 0xffffff));
+       tcell = afs_GetCell(avc->f.fid.Cell, READ_LOCK);
+       Sfid.Volume = avc->f.fid.Fid.Volume;
+       Sfid.Vnode = avc->f.fid.Fid.Vnode;
+       Sfid.CellAndUnique =
+           ((tcell->cellIndex << 24) + (avc->f.fid.Fid.Unique & 0xffffff));
        afs_PutCell(tcell, READ_LOCK);
-       if (avc->fid.Fid.Vnode > 0xffff)
+       if (avc->f.fid.Fid.Vnode > 0xffff)
            afs_fid_vnodeoverflow++;
-       if (avc->fid.Fid.Unique > 0xffffff)
+       if (avc->f.fid.Fid.Unique > 0xffffff)
            afs_fid_uniqueoverflow++;
     } else {
-#if defined(AFS_SUN57_64BIT_ENV) || (defined(AFS_SGI61_ENV) && (_MIPS_SZPTR == 64))
-       addr[1] = (long)AFS_XLATOR_MAGIC << 48 ;
+#if defined(AFS_SUN5_64BIT_ENV) || (defined(AFS_SGI61_ENV) && (_MIPS_SZPTR == 64))
+       addr[1] = (long)AFS_XLATOR_MAGIC << 48;
 #else /* defined(AFS_SGI61_ENV) && (_MIPS_SZPTR == 64) */
        addr[1] = AFS_XLATOR_MAGIC;
        SizeOfSmallFid = sizeof(addr);
@@ -117,35 +114,35 @@ struct fid **fidpp;
        addr[0] = (long)avc;
 #ifndef AFS_AIX41_ENV
        /* No post processing, so don't hold ref count. */
-       VN_HOLD(AFSTOV(avc));
+       AFS_FAST_HOLD(avc);
 #endif
     }
-#if    defined(AFS_AIX_ENV) || defined(AFS_SUN54_ENV)
+#if    defined(AFS_AIX_ENV) || defined(AFS_SUN5_ENV)
     /* Use the fid pointer passed to us. */
     fidpp->fid_len = SizeOfSmallFid;
 
     if (afs_NFSRootOnly) {
        if (rootvp
 #ifdef AFS_AIX41_ENV
-           ||  USE_SMALLFID(credp)
+           || USE_SMALLFID(credp)
 #endif
            ) {
-           memcpy(fidpp->fid_data, (caddr_t)&Sfid, SizeOfSmallFid);   
+           memcpy(fidpp->fid_data, (caddr_t) & Sfid, SizeOfSmallFid);
        } else {
-           memcpy(fidpp->fid_data, (caddr_t)addr, SizeOfSmallFid);   
+           memcpy(fidpp->fid_data, (caddr_t) addr, SizeOfSmallFid);
        }
     } else {
-       memcpy(fidpp->fid_data, (caddr_t)&Sfid, SizeOfSmallFid);   
+       memcpy(fidpp->fid_data, (caddr_t) & Sfid, SizeOfSmallFid);
     }
 #else
     /* malloc a fid pointer ourselves. */
-    *fidpp = (struct fid *) AFS_KALLOC(SizeOfSmallFid+2);
+    *fidpp = (struct fid *)AFS_KALLOC(SizeOfSmallFid + 2);
     (*fidpp)->fid_len = SizeOfSmallFid;
     if (afs_NFSRootOnly) {
        if (rootvp) {
            memcpy((*fidpp)->fid_data, (char *)&Sfid, SizeOfSmallFid);
        } else {
-           memcpy((*fidpp)->fid_data, (char *)addr, SizeOfSmallFid);   
+           memcpy((*fidpp)->fid_data, (char *)addr, SizeOfSmallFid);
        }
     } else {
        memcpy((*fidpp)->fid_data, (char *)&Sfid, SizeOfSmallFid);
@@ -156,4 +153,4 @@ struct fid **fidpp;
 #endif
 
 
-#endif /* !AFS_DUX40_ENV && !AFS_LINUX20_ENV */
+#endif /* !AFS_LINUX20_ENV */