From: Chas Williams Date: Mon, 19 Nov 2001 16:58:02 +0000 (+0000) Subject: startrxafs-fetchdata64-always-show-result-and-EFBIG-at-7fffffff-20011119 X-Git-Tag: openafs-devel-1_3_0~120 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=b460d2950287840ac1c10f3300b467e10771c14f;p=packages%2Fo%2Fopenafs.git startrxafs-fetchdata64-always-show-result-and-EFBIG-at-7fffffff-20011119 show fetch64 errors also mask high bit for reporting EFBIG --- diff --git a/src/afs/afs_dcache.c b/src/afs/afs_dcache.c index 535c35001..488da1c32 100644 --- a/src/afs/afs_dcache.c +++ b/src/afs/afs_dcache.c @@ -2030,11 +2030,15 @@ struct dcache *afs_GetDCache(avc, abyte, areq, aoffset, alen, aflags) #ifdef RX_ENABLE_LOCKS AFS_GLOCK(); #endif /* RX_ENABLE_LOCKS */ + afs_Trace2(afs_iclSetp, CM_TRACE_FETCH64CODE, + ICL_TYPE_POINTER, avc, ICL_TYPE_INT32, code); } else { bytes = rx_Read(tcall, (char *)&length_hi, sizeof(afs_int32)); #ifdef RX_ENABLE_LOCKS AFS_GLOCK(); #endif /* RX_ENABLE_LOCKS */ + afs_Trace2(afs_iclSetp, CM_TRACE_FETCH64CODE, + ICL_TYPE_POINTER, avc, ICL_TYPE_INT32, code); if (bytes == sizeof(afs_int32)) { length_hi = ntohl(length_hi); } else { @@ -2047,14 +2051,12 @@ struct dcache *afs_GetDCache(avc, abyte, areq, aoffset, alen, aflags) #ifdef RX_ENABLE_LOCKS AFS_GLOCK(); #endif /* RX_ENABLE_LOCKS */ - afs_Trace2(afs_iclSetp, CM_TRACE_FETCH64CODE, - ICL_TYPE_POINTER, avc, ICL_TYPE_INT32, code); tcall = (struct rx_call *) 0; } } } if (code == RXGEN_OPCODE || afs_serverHasNo64Bit(tc)) { - if (Position > 0xFFFFFFFF) { + if (Position > 0x7FFFFFFF) { code = EFBIG; } else { afs_int32 pos;