tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bad144 - how useful still? Because it's annoyingly ubiquitous.



By the way - I might have been a little confused in my previous reply.
I thought we had bad sectors also in the disklabel, but we don't. So ignore that bit. But we do have the replacement sectors. I guess that's what you want to get out, right?

Also, the bad144 program is honestly somewhat broken, if we're talking about the DEC STD 144 bad sector handling. What we have in bad144 sortof works, but it's not correct or complete. There are actually two lists of bad sectors as specified by DEC STD 144. Manufacture marked bad sectors, and field marked bad sectors. And they are kept in two different areas.

But that is getting somewhat off topic here. In general, I agree that this should only exist for machines where it makes sense. Not sure how to go about that in a good way, though.

  Johnny

On 5/27/26 14:00, Jason Thorpe wrote:
I am on a quest to properly unify the m68k user-land, which means addressing some long-standing ABI differences in some of the darker corners ofthe system.  One particularly dark corner is BSD disklabel handling, which, from where I sit, is a giant toxic dumpster fire raging in the middleof the Bog of Eternal Stench.  But I don’t have time for that rant this morning.

So, let’s focus on DEC STD 144, a.k.a. bad144, a.k.a. dkbad.  It’s a 1970s-era bad sector remapping scheme that was already mostly obsolete by the mid-80s (ever since SCSI drives were able to maintain their own bad sector remapping information).  It is totally and completely useless on any drive made since the 1990s.  And yet, its tendrils infest many a NetBSD port’s BSD disklabel handling because, as far as I can tell, cargo-cultism.

I figure there are a handful of legit use cases for bad144 in NetBSD still:

- The vax port, obviously, but only with the really old drives.  (VAX peeps please help me out here - is bad144 useful drives behind an MSCP-compliant controller?)

- hp300 port maybe (for HP-IB drives).

- sun3 / sun4 (Xylogics controllers and SMD drives)

- i386 (ESDI, ST506, other ancient drive technologies that can plug into ISA or MCA)

What I would like to propose is that bad144 be completely decoupled from “disklabel” and refactored out as set of library routines (slash module) that drivers can use.  But, most importantly, get it out of the main “BSD disklabel” code path.

And so, let’s discuss.

-- thorpej




Home | Main Index | Thread Index | Old Index