#endif
{
afs_int32 code;
+ afs_int32 code_checkcode = 0;
struct brequest *tb;
struct vrequest treq;
#ifdef AFS_SGI65_ENV
tb->flags |= BUWAIT;
afs_osi_Sleep(tb);
}
- code = tb->code;
+ code = tb->code_raw;
+ code_checkcode = tb->code_checkcode;
afs_BRelease(tb);
}
#endif
/* printf("avc->vc_error=%d\n", avc->vc_error); */
code = avc->vc_error;
+ code_checkcode = 0;
avc->vc_error = 0;
}
ReleaseWriteLock(&avc->lock);
}
AFS_DISCON_UNLOCK();
afs_PutFakeStat(&fakestat);
- code = afs_CheckCode(code, &treq, 5);
+
+ if (code_checkcode) {
+ code = code_checkcode;
+ } else {
+ code = afs_CheckCode(code, &treq, 5);
+ }
return code;
}