OpenAFS CVS Commit: openafs/src/libafs by shadow
Wed, 26 Dec 2001 15:04:49 EST
Update of /cvs/openafs/src/libafs
In directory GRAND.CENTRAL.ORG:/data/sb/openafs-stable-1.2/openafs/src/libafs
"apparently the rev 1 r5000 chips implement 'cvt' incorrectly. the irix
kernel works around this problem by checking each text page mapped into
memory and doing a fixup on the cvt instructions. it tries to maintain
a hash of these pages using fid2() or fid() if fid2() returns ENOSYS.
afs, in an effort to prevent people from doing checkpoints on an afs
filesystem, makes fid2() return EINVAL. this also keeps the kernel from
mapping executables that are in afs space on the broken r5000's.
this is the patch i have been using for the past couple years while
waiting for an official fix. it makes fid2() return ENOSYS, so you
now need to have to have v_ckpt. however i disabled the rest of the
CKPT code since i have no idea how well that code actually works.
additionally, this behavior is only functional on machines with the
'broken' r5000 h/w. i cant think of a better way to fix this problem
since i cant change the irix kernel."
--- DELTA config for openafs-stable-1_2_x follows ---
STABLE12-sgi-ip20-work-around-cvt-bug-20011226 openafs/src/libafs/MakefileProto.IRIX.in 1.11 22.214.171.124