From: Hartmut Reuter Date: Mon, 5 Aug 2002 22:03:34 +0000 (+0000) Subject: dcache-fix-alen-miscalculation-bug-20020805 X-Git-Tag: openafs-devel_1_3_3~25 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=b8c94524a3f9df86306cf4f4d9d326979b6f9683;hp=e2253172104e23b9c80de5e69a6af2564e599dd1 dcache-fix-alen-miscalculation-bug-20020805 *alen was being calculated wrong in GetDCache also fix fstrace items --- diff --git a/src/afs/afs_dcache.c b/src/afs/afs_dcache.c index 1efa8de..14d666a 100644 --- a/src/afs/afs_dcache.c +++ b/src/afs/afs_dcache.c @@ -1417,6 +1417,7 @@ static int afs_UFSCacheFetchProc(acall, afile, abase, adc, avc, (*abytesXferredP) = 0; #endif /* AFS_NOSTATS */ tbuffer = osi_AllocLargeSpace(AFS_LRALLOCSIZ); + adc->validPos = abase; do { if (moredata) { RX_AFS_GUNLOCK(); @@ -1470,7 +1471,7 @@ static int afs_UFSCacheFetchProc(acall, afile, abase, adc, avc, abase += tlen; length -= tlen; adc->validPos = abase; - afs_Trace4(afs_iclSetp, CM_TRACE_DCACHEWAIT, + afs_Trace4(afs_iclSetp, CM_TRACE_DCACHEWAKE, ICL_TYPE_STRING, __FILE__, ICL_TYPE_INT32, __LINE__, ICL_TYPE_POINTER, adc, @@ -2396,7 +2397,7 @@ RetryLookup: #endif /* AFS_NOSTATS */ tdc->dflags &= ~DFFetching; - afs_Trace4(afs_iclSetp, CM_TRACE_DCACHEWAIT, + afs_Trace4(afs_iclSetp, CM_TRACE_DCACHEWAKE, ICL_TYPE_STRING, __FILE__, ICL_TYPE_INT32, __LINE__, ICL_TYPE_POINTER, tdc, @@ -2487,7 +2488,7 @@ done: *aoffset = abyte; else *aoffset = AFS_CHUNKOFFSET(abyte); - *alen = *aoffset + tdc->f.chunkBytes - abyte; + *alen = (tdc->f.chunkBytes - *aoffset); ReleaseSharedLock(&tdc->lock); } diff --git a/src/afs/afs_trace.et b/src/afs/afs_trace.et index 910f68f..934cca1 100644 --- a/src/afs/afs_trace.et +++ b/src/afs/afs_trace.et @@ -153,12 +153,13 @@ error_table 2 ZCM ec CM_TRACE_STOREPROC2, "StoreProc got 0x%x" ec CM_TRACE_ADJUSTSIZE, "AdjustSize index %d oldSize %d newSize %d blocksUsed %d" ec CM_TRACE_SETLENGTH, "%s line %d: m.Length was (0x%x, 0x%x), now (0x%x, 0x%x)" - ec CM_TRACE_DCACHEWAIT, "%s line %d: sleeping or waiting for 0x%x flags 0x%x" + ec CM_TRACE_DCACHEWAIT, "%s line %d: waiting for 0x%x flags 0x%x" ec CM_TRACE_VNODEREAD, "UFSRead: tdc 0x%x, offset (0x%x, 0x%x) len (0x%x 0x%x)" ec CM_TRACE_SLEEP, "Sleep: evp 0x%x, count %d seq 0x%x evp->seq 0x%x" ec CM_TRACE_WAKE, "Wakeup: evp 0x%x, evp->seq 0x%x" ec CM_TRACE_DENTRYDELETE, "d_delete inode 0x%x d_name %s/%s" ec CM_TRACE_DENTRYIPUT, "d_iput inode 0x%x d_name %s/%s" ec CM_TRACE_TRYFLUSHDCACHECHILDREN, "TryFlushDcacheChildren ip 0x%x" + ec CM_TRACE_DCACHEWAKE, "%s line %d: waking up waiters for 0x%x flags 0x%x" end