Hanging VAX 11/780 - any solutions?

Chris Torek chris at umcp-cs.UUCP
Sat Oct 6 17:48:53 AEST 1984


There DOES seem to be a bug in various versions of the 4.2BSD UDA50
driver.  In particular, ``df'' will appear to hang frequently when
the disk is busy.  (If you are careful and lucky, you can unhang it
with another ``df''.)

The reason is that the UDA50 driver has code in udopen() that checks
to make sure the drive is really there, by doing an on line command.
Unfortunately it doesn't block interrupts while doing it.  The command
takes long enough that this isn't usually a problem, but if the disk
is busy, blammo!  (Other random interrupt load could do it too.)

The funny thing is that it doesn't even need to do the on-line in most
cases.

There may be DMF driver bugs, but we haven't run into any yet.

[Fix to UDA driver is simply move the splx(s)'s around so that the
test on ui->ui_flags==0 followed by a M_OP_ONLIN is atomic; it's also
a good idea to not bother with the on line if the drive is on line
already.]
-- 
(This mind accidently left blank.)

In-Real-Life: Chris Torek, Univ of MD Comp Sci (301) 454-7690
UUCP:	{seismo,allegra,brl-bmd}!umcp-cs!chris
CSNet:	chris at umcp-cs		ARPA:	chris at maryland



More information about the Comp.unix.wizards mailing list