|
|
1.1 ! root 1: /* ! 2: * DEC STD 144 bad block replacement ! 3: * given a cylinder, track, sector ! 4: * return a replacement block ! 5: * the return is an offset: ! 6: * lbn = (size of disk) - (size of a track) - repno ! 7: */ ! 8: ! 9: #include "sys/bad144.h" ! 10: ! 11: int ! 12: bad144rep(bt, cyl, trk, sec) ! 13: register struct bad144 *bt; ! 14: { ! 15: register int i; ! 16: register long blk, bblk; ! 17: ! 18: blk = ((long)cyl << 16) + (trk << 8) + sec; ! 19: for (i = 0; i < NBADDESC; i++) { ! 20: bblk = ((long)bt->bt_bad[i].bt_cyl << 16) + bt->bt_bad[i].bt_trksec; ! 21: if (blk == bblk) ! 22: return (i); ! 23: if (blk < bblk || bblk < 0) ! 24: break; ! 25: } ! 26: return (-1); ! 27: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.