Article View: net.bugs.2bsd
Article #18ts.c and rm.c bugs
From: pur-phymad
Date: Tue, 05 Jan 1982 11:48
Date: Tue, 05 Jan 1982 11:48
30 lines
1557 bytes
1557 bytes
There are a couple of problems with the ts-11 driver distributed with 2.8. First, a minor typo exists in tsclose, the constant 200 (to check for the no-rewind flag) should be 0200. This doesn't cause too many problems since 200 has the 0200 bit on. The second problem screws up raw i/o. It appears on both the source, and also, in the ts driver in the distributed xpunix. In tsphys, the assignment: ts_nxrec[unit] = dbtofsb(a+1); should be: ts_nxrec[unit] = dbtofsb(a)+1; (or replace '9' in the preceding shift with BSHIFT and get rid of the dbtofsb stuff in tsphys) Another problem with this driver is that TCC 6 errors seem to hang the system. (Try reading a 800 bpi tape.) I've got fixes, but they haven't been tested enough to distribute. Contact me directly if interested. There also seems to be a problem with the rm driver's handling of the missing current cylinder register. This is simulated by having an array rmcc[] that contains the current cylinder for each unit. This is initialized to -1, and only assigned to in rmintr at the completion of a disk transfer. The problem is that the assignment is conditional on rmcc's current value being >= 0. It appears that rmcc can never be set. I've got a relatively untested driver with a fix for this plus ecc code. Contact me directly if interested. Mike DeMoney
Technical Details
Message-ID:
<anews.Apur-phy.179>Path:
arc1-ca.pugleaf.net!utzoo!decvax!pur-ee!pur-phy!madShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!decvax!pur-ee!pur-phy!mad From: pur-phy!mad Newsgroups: net.bugs.2bsd Subject: ts.c and rm.c bugs Date: Tue, 05 Jan 1982 11:48:54 +0000 Message-ID: <anews.Apur-phy.179>