*BSD News Article 18197


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!ariel.ucs.unimelb.EDU.AU!werple.apana.org.au!news
From: andrew@werple.apana.org.au (Andrew Herbert)
Newsgroups: comp.os.386bsd.bugs
Subject: Re: Those NetBSD hard-drive hangs...
Date: 10 Jul 1993 10:41:51 +1000
Organization: werple public-access unix, Melbourne
Lines: 26
Message-ID: <21l38f$42t@werple.apana.org.au>
References: <9319017.15979@mulga.cs.mu.OZ.AU>
NNTP-Posting-Host: werple.apana.org.au

summer@ee.mu.OZ.AU (Mark Summerfield) writes:

>I, too, had problems with NetBSD 0.8 hanging with the hard-drive light on.
>...  I removed the
>/dev/drum device driver, and replaced it with a plain file (i.e. "touch
>/dev/drum").  I haven't had the problem since (and the system has had a few
>workouts compiling various things, including a couple of kernels).

>So, basically I'm happy with this as a workaround, but I'm curious to know
>*why* it works, and what other effects it may have.  I don't really
>understand the details of the way paging works, so I don't know what
>/dev/drum is usually used for.

/dev/drum is used to access the swap area.  On a system with just one swap
region it is basically equivalent to that swap region - i.e. /dev/rsd0b,
/dev/rwd0b or similar, depending on your hardware.  If you have multiple
swap partitions in use, /dev/drum interleaves all these to form a single
logical partition.

A problem in the sd driver (/sys/scsi/sd.c) allowed unpalatable transfer
lengths - anything that was not a multiple of 512 bytes - to be sent to the
scsi controller, which may then hang.  The problem is fixed in
netbsd-current.  I have not seen this occur in my (limited) testing of a
wd-based system.

Andrew