From owner-freebsd-current Fri Dec 12 11:11:46 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id LAA15394 for current-outgoing; Fri, 12 Dec 1997 11:11:46 -0800 (PST) (envelope-from owner-freebsd-current) Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id LAA15386 for ; Fri, 12 Dec 1997 11:11:37 -0800 (PST) (envelope-from julian@whistle.com) Received: (from daemon@localhost) by alpo.whistle.com (8.8.5/8.8.5) id LAA04756; Fri, 12 Dec 1997 11:02:13 -0800 (PST) Received: from UNKNOWN(), claiming to be "current1.whistle.com" via SMTP by alpo.whistle.com, id smtpd004754; Fri Dec 12 11:02:09 1997 Date: Fri, 12 Dec 1997 10:59:32 -0800 (PST) From: Julian Elischer To: Bruce Evans cc: current@freebsd.org Subject: Re: DEVFS: new sample code In-Reply-To: <199712121837.FAA00920@godzilla.zeta.org.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Disclaimer: *this of course only applies to what I'm doing of course* It ain't going to get done there it's getting done in a layer just below, and in conjunction with, the disk label layer. The disklabel layer notices the bad144 flag and sticks the bad144 'wedge' below itself. the bad144 has no business being lower than that because it doesn't cover other slices. They may have their own badblock handlers. it CERTAINLY doesn't get to be in the disk driver because THAT only knows how to move blocks of data and how to propogate up error reports. I've CC'd "current" because this is an issue that I'd like others to comment on. On Sat, 13 Dec 1997, Bruce Evans wrote: > >changes: > > * Disklabel probes can actually fail if there is no disklabel. > > * Debug messages at boot make a lot more sense. > > * Accidentally included (old) bad144 code ifdef'd out (I don't yet > > support that and the lowest level driver is definitly not the place to > > do that anyhow). > > Yes it is. dscheck() should clip the transfer at bad sector boundaries > and somehow get called again if there is more to transfer. dscheck is no longer IN this code. dsxxx() functions are not used by this code. That's the whole point. To replace them with a more modular interface. > > Bruce > julian "help, help I'm being repressed" " Come see the violence inherrent in the system" -Monty Python and the Holy Grail-