afs: Clarify vcache->mvid accesses
[openafs.git] / src / afs / IRIX / osi_idbg.c
index 3e176f4..db7f64c 100644 (file)
 #include <afsconfig.h>
 #include "afs/param.h"
 
-RCSID("$Header$");
 
 #ifdef AFS_SGI62_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_stats.h"     /* statistics */
 
 
 /*
  * debugging routine - invoked by calling kp vnode xx
  */
 static void
-printflags(register unsigned int flags, register char **strings)
+printflags(unsigned int flags, char **strings)
 {
-    register int mask = 1;
+    int mask = 1;
 
     while (flags != 0) {
        if (mask & flags) {
@@ -40,135 +39,139 @@ printflags(register unsigned int flags, register char **strings)
 }
 
 char *tab_vcache[] = {
-       "CStatd",           /* 1 */
-       "CBackup",          /* 2 */
-       "CRO",                  /* 4 */
-       "CMValid",              /* 8 */
-       "CCore",                /* 0x10 */
-       "CDirty",               /* 0x20 */
-       "CSafeStore",           /* 0x40 */
-       "CMAPPED",              /* 0x80 */
-       "CNSHARE",              /* 0x100 */
+    "CStatd",                  /* 1 */
+    "CBackup",                 /* 2 */
+    "CRO",                     /* 4 */
+    "CMValid",                 /* 8 */
+    "CCore",                   /* 0x10 */
+    "CDirty",                  /* 0x20 */
+    "CSafeStore",              /* 0x40 */
+    "CMAPPED",                 /* 0x80 */
+    "CNSHARE",                 /* 0x100 */
 };
 
 int
 idbg_prafsnode(OSI_VC_DECL(avc))
 {
-    OSI_VC_CONVERT(avc)
+    OSI_VC_CONVERT(avc);
 
     AFS_GLOCK();
     qprintf("   Len %d DV %d Date %d Own %d Grp %d Mode 0%o Lnk %d\n",
-           avc->m.Length, avc->m.DataVersion, avc->m.Date,
-           avc->m.Owner, avc->m.Group, avc->m.Mode, avc->m.LinkCount);
+           avc->f.m.Length, avc->f.m.DataVersion, avc->f.m.Date, avc->f.m.Owner,
+           avc->f.m.Group, avc->f.m.Mode, avc->f.m.LinkCount);
     qprintf("   flushDV %d mapDV %d truncpos 0x%x cb 0x%x cbE 0x%x\n",
-           avc->flushDV, avc->mapDV, avc->truncPos,
-           avc->callback, avc->cbExpires);
-    qprintf("   opens %d ex/wr %d flckcnt %d state 0x%x ",
-           avc->opens, avc->execsOrWriters, avc->flockCount,
-           avc->states);
-    printflags(avc->states, tab_vcache);
+           avc->flushDV, avc->mapDV, avc->f.truncPos, avc->callback,
+           avc->cbExpires);
+    qprintf("   opens %d ex/wr %d flckcnt %d state 0x%x ", avc->opens,
+           avc->execsOrWriters, avc->flockCount, avc->f.states);
+    printflags(avc->f.states, tab_vcache);
     qprintf("\n");
 #ifdef AFS_SGI64_ENV
     qprintf("   mapcnt %llu, mvstat %d anyAcc 0x%x Access 0x%x\n",
-           avc->mapcnt, avc->mvstat, avc->anyAccess, avc->Access);
-    qprintf("   mvid 0x%x &lock 0x%x cred 0x%x\n",
-           avc->mvid, &avc->lock, avc->cred);
-    qprintf("   rwlock 0x%x (%d) id %llu trips %d\n",
-           &avc->vc_rwlock, valusema(&avc->vc_rwlock), avc->vc_rwlockid,
-           avc->vc_locktrips);
+           avc->mapcnt, avc->mvstat, avc->f.anyAccess, avc->Access);
+    qprintf("   mvid 0x%x &lock 0x%x cred 0x%x\n", avc->mvid.target_root, &avc->lock,
+           avc->cred);
+    qprintf("   rwlock 0x%x (%d) id %llu trips %d\n", &avc->vc_rwlock,
+           valusema(&avc->vc_rwlock), avc->vc_rwlockid, avc->vc_locktrips);
 #else
-    qprintf("   mapcnt %d mvstat %d anyAcc 0x%x Access 0x%x\n",
-           avc->mapcnt, avc->mvstat, avc->anyAccess, avc->Access);
-    qprintf("   mvid 0x%x &lock 0x%x cred 0x%x\n",
-           avc->mvid, &avc->lock, avc->cred);
-    qprintf("   rwlock 0x%x (%d) id %d trips %d\n",
-           &avc->vc_rwlock, valusema(&avc->vc_rwlock), avc->vc_rwlockid,
-           avc->vc_locktrips);
+    qprintf("   mapcnt %d mvstat %d anyAcc 0x%x Access 0x%x\n", avc->mapcnt,
+           avc->mvstat, avc->f.anyAccess, avc->Access);
+    qprintf("   mvid 0x%x &lock 0x%x cred 0x%x\n", avc->mvid.target_root, &avc->lock,
+           avc->cred);
+    qprintf("   rwlock 0x%x (%d) id %d trips %d\n", &avc->vc_rwlock,
+           valusema(&avc->vc_rwlock), avc->vc_rwlockid, avc->vc_locktrips);
 #endif
     AFS_GUNLOCK();
     return 0;
 }
 
-extern struct afs_q VLRU;                      /*vcache LRU*/
+extern struct afs_q VLRU;      /*vcache LRU */
 static char *tab_vtypes[] = {
-        "VNON",
-        "VREG",
-        "VDIR",
-        "VBLK",
-        "VCHR",
-        "VLNK",
-        "VFIFO",
-        "VXNAM",
-        "VBAD",
-        "VSOCK",
-        0
+    "VNON",
+    "VREG",
+    "VDIR",
+    "VBLK",
+    "VCHR",
+    "VLNK",
+    "VFIFO",
+    "VXNAM",
+    "VBAD",
+    "VSOCK",
+    0
 };
 
 int
 idbg_afsvfslist()
 {
-       struct vcache *tvc;
-       register struct afs_q *tq;
-       struct afs_q *uq;
-       afs_int32 nodeid;       /* what ls prints as 'inode' */
-
-       AFS_GLOCK();
-       for(tq = VLRU.prev; tq != &VLRU; tq = uq) {
-               tvc = QTOV(tq);
-               uq = QPrev(tq);
-               nodeid = tvc->fid.Fid.Vnode + (tvc->fid.Fid.Volume << 16);
-               nodeid &= 0x7fffffff;
-               qprintf("avp 0x%x type %s cnt %d pg %d map %d nodeid %d(0x%x)\n",
-                       tvc, tab_vtypes[((vnode_t *)tvc)->v_type],
-                       ((vnode_t *)tvc)->v_count,
-                       (int) VN_GET_PGCNT((vnode_t *)tvc),
-                       (int)tvc->mapcnt, nodeid, nodeid);
-       }
-       AFS_GUNLOCK();
-       return 0;
+    struct vcache *tvc;
+    struct afs_q *tq;
+    struct afs_q *uq;
+    afs_int32 nodeid;          /* what ls prints as 'inode' */
+
+    AFS_GLOCK();
+    for (tq = VLRU.prev; tq != &VLRU; tq = uq) {
+       tvc = QTOV(tq);
+       uq = QPrev(tq);
+       nodeid = afs_calc_inum(tvc->f.fid.Cell, tvc->f.fid.Fid.Volume,
+                              tvc->f.fid.Fid.Vnode);
+       qprintf("avp 0x%x type %s cnt %d pg %d map %d nodeid %lu(0x%lx)\n", tvc,
+               tab_vtypes[((vnode_t *) tvc)->v_type],
+               ((vnode_t *) tvc)->v_count,
+               (int)VN_GET_PGCNT((vnode_t *) tvc), (int)tvc->mapcnt,
+               (long unsigned)nodeid, (long unsigned)nodeid);
+    }
+    AFS_GUNLOCK();
+    return 0;
 }
 
 static char *tab_userstates[] = {
-       "UHasTokens",
-       "UTokensBad",
-       "UPrimary",
-       "UNeedsReset",
-       "UPAGcounted",
-       "UNK",
+    "UHasTokens",
+    "UTokensBad",
+    "UPrimary",
+    "UNeedsReset",
+    "UPAGcounted",
+    "UNK",
 };
 
 static void
 idbg_pruser(struct unixuser *tu)
 {
-    qprintf("@0x%x nxt 0x%x uid %d (0x%x) cell 0x%x vid 0x%x ref %d\n",
-           tu, tu->next, tu->uid, tu->uid, tu->cell,
-           tu->vid, tu->refCount);
-    qprintf("time %d stLen %d stp 0x%x exp 0x%x ",
-           tu->tokenTime, tu->stLen, tu->stp, tu->exporter);
+    union tokenUnion *token;
+
+    token = afs_FindToken(tu->tokens, RX_SECIDX_KAD);
+
+    qprintf("@0x%x nxt 0x%x uid %d (0x%x) cell 0x%x vid 0x%x ref %d\n", tu,
+           tu->next, tu->uid, tu->uid, tu->cell, tu->viceId, tu->refCount);
+    qprintf("time %dRX_SECIDX_KADstLen %d stp 0x%x exp 0x%x ", tu->tokenTime,
+           (token != NULL)?token->rxkad.ticketLen:0,
+           (token != NULL)?token->rxkad.ticket:NULL,
+           tu->exporter);
     printflags(tu->states, tab_userstates);
     qprintf("\n");
     qprintf("ClearToken: handle 0x%x ViceID 0x%x Btime %d Etime %d\n",
-               tu->ct.AuthHandle, tu->ct.ViceId, tu->ct.BeginTimestamp,
-               tu->ct.EndTimestamp);
+           (token != NULL)?token->rxkad.clearToken.AuthHandle:0,
+           tu->viceId,
+           (token != NULL)?token->rxkad.clearToken.BeginTimestamp:0,
+           (token != NULL)?token->rxkad.clearToken.EndTimestamp:0);
 }
 
 extern struct unixuser *afs_users[NUSERS];
 int
 idbg_afsuser(void *x)
 {
-       struct unixuser *tu;
-       int i;
-       AFS_GLOCK();
-
-       if (x == (void *)-1L) {
-               for (i = 0; i < NUSERS; i++)
-                       for (tu = afs_users[i]; tu; tu = tu->next)
-                               idbg_pruser(tu);
-       } else
-               idbg_pruser((struct unixuser *)x);
-
-       AFS_GUNLOCK();
-       return 0;
+    struct unixuser *tu;
+    int i;
+    AFS_GLOCK();
+
+    if (x == (void *)-1L) {
+       for (i = 0; i < NUSERS; i++)
+           for (tu = afs_users[i]; tu; tu = tu->next)
+               idbg_pruser(tu);
+    } else
+       idbg_pruser((struct unixuser *)x);
+
+    AFS_GUNLOCK();
+    return 0;
 }
 
 #endif /* AFS_SGI62_ENV */