mirror of
https://git.openafs.org/openafs.git
synced 2025-01-22 17:00:15 +00:00
startrxafs-fetchdata64-always-show-result-and-EFBIG-at-7fffffff-20011119
show fetch64 errors also mask high bit for reporting EFBIG
This commit is contained in:
parent
cae92b082c
commit
b460d29502
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user