MReleaseWriteLock(&afs_xnfspag);
}
if (inname) {
- if (np->sysname) {
for(count=0; count < np->sysnamecount;++count) {
afs_osi_Free(np->sysname[count], MAXSYSNAME);
+ np->sysname[count] = NULL;
}
- }
for(count=0; count < *num;++count) {
np->sysname[count]= afs_osi_Alloc(MAXSYSNAME);
}
cp += t+1;
}
np->sysnamecount = *num;
- } else if (!np->sysnamecount) {
- return ENODEV; /* XXX */
}
if (allpags >= 0) {
/* Don't touch our arguments when called recursively */
{
register struct nfsclientpag *np, **tnp, *nnp;
register afs_int32 i, delflag;
+ int count;
#if defined(AFS_SGIMP_ENV)
osi_Assert(ISAFS_GLOCK());
if ((pag == -1) || (!pag && delflag)
|| (pag && (np->refCount == 0) && (np->pag == pag))) {
*tnp = np->next;
- if (np->sysname)
- afs_osi_Free(np->sysname, MAXSYSNAME);
+ for(count=0; count < np->sysnamecount;++count) {
+ afs_osi_Free(np->sysname[count], MAXSYSNAME);
+ }
afs_osi_Free(np, sizeof(struct nfsclientpag));
} else {
tnp = &np->next;
struct nfsclientpag *ep, *ptr;
{
char sysname[100];
+ int count;
- if (ep->sysname) {
- kread(kmem, (off_t) ep->sysname, sysname, (KDUMP_SIZE_T) 30);
- Sum_nfssysnames += MAXSYSNAME;
- }
if (pnt)
- printf("%lx: uid=%d, host=%x, pag=%x, @sys=%s, lastt=%d, ref=%d\n",
+ printf("%lx: uid=%d, host=%x, pag=%x, lastt=%d, ref=%d count=%d\n",
ptr, ep->uid, ep->host, ep->pag,
- (ep->sysname ? sysname : "nil"), ep->lastcall, ep->refCount);
+ ep->lastcall, ep->refCount, ep->sysnamecount);
+
+ for(count = 0; count < ep->sysnamecount; count++){
+ kread(kmem, (off_t) ep->sysname[count], sysname, (KDUMP_SIZE_T) 30);
+ printf(" %lx: @sys[%d]=%s\n",
+ ep->sysname[count], count, sysname);
+ Sum_nfssysnames += MAXSYSNAME;
+ }
}