*BSD News Article 7815


Return to BSD News archive

Xref: sserve comp.unix.bsd:7866 comp.benchmarks:2396 comp.arch:28219 comp.arch.storage:696
Newsgroups: comp.unix.bsd,comp.benchmarks,comp.arch,comp.arch.storage
Path: sserve!manuel.anu.edu.au!munnari.oz.au!hp9000.csc.cuhk.hk!saimiri.primate.wisc.edu!zaphod.mps.ohio-state.edu!menudo.uh.edu!nuchat!sugar!ficc!peter
From: peter@ferranti.com (peter da silva)
Subject: Re: Disk performance issues, was IDE vs SCSI-2 using iozone
Message-ID: <id.WFYU.34K@ferranti.com>
Organization: Xenix Support, FICC
References: <36794@cbmvax.commodore.com> <1992Nov10.170022.21624@igor.tamri.com> <36994@cbmvax.commodore.com>
Date: Fri, 13 Nov 1992 17:36:25 GMT
Lines: 59

In article <36994@cbmvax.commodore.com> jesup@cbmvax.commodore.com (Randell Jesup) writes:
> I strongly suspect that this will continue, as the benefits
> of zone recording, sector replacement, etc are too large to ignore (a number
> of filesystems (most?) require that the device drivers present them with a
> perfect media, no unusable blocks.

Yes, we've had this discussion before. This is a very bad idea. The filesystem
is the only system component that understands the semantics of a block being
bad. Since it's impossible to create a virtual error-free surface (what do
you do about lost blocks? Fill 'em in with zeroes? You gotta tell the FS that
it just lost that data somehow) pretending that you can leads to ignorance
about pending disk problems until the bad block table fills and there's no way
to gracefully clean up.

I've been bitten by this on SCSI disks on Unix (Intel 520) and AmigaOS.

The right place to handle bad blocks is the filesystem. Anywhere else and
you're asking for trouble. Even better would be to provide an application
level interface for this, so an application can find out if this block full
of nulls is real or a disk error.

The same is true of network file systems. Forcing statelessness so you can
create an illusion that the network doesn't exist is a bad idea.

> 	There's a big philosophical argument over who should deal with media
> problems.  The consensus seems to be that they should be pushed into the
> lowest level possible (fs->driver->host controller->drive controller).

You forgot "application".

> Having
> written both filesystems and device drivers, I must agree with that (and yes
> I've had to implement bad-block mapping at the driver level, such as for IDE).

It makes some the software easier to write, I'm sure, but it sure makes things
tough on us users. I'd much rather have the goal be end-to-end reliability
instead of setting up a bunch of point-to-point reliable links.

> >What I said was enough ... the UNIX interfaces are more general by DESIGN
> >and a simplistic OS

AmigaOS is *not* a simplistic O/S. It's really quite a beautiful structure,
with a VERY clean method of creating extensions, and a well-defined API and
set of API design rules. I'd love to have something with UNIX semantics on
top of something like AmigaOS.

> 	Other reasonably modern OS's can also get very good IO numbers, such
> as QNX.

Ah, if only Quantum would go after the low-end market... :->

> To be or not to be = 0xff

Nope, it's -1 unless you're programming in PL/M.
-- 
Peter da Silva / 77487-5012 USA / +1 713 274 5180
true(<<VV$@\\$'&O 9$O%'$LT$&$"V6"$&$<4$?'&$ #I&&?$=$<<@)24 24 scale 3 21 moveto
{dup 36 eq{pop not}{dup 7 and 4 sub exch 56 and 8 div 4 sub 2 index{rlineto}{
rmoveto}ifelse}ifelse}forall stroke pop showpage % Har du kramat din varg idag?