Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Dec 1997 07:23:28 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, julian@whistle.com
Cc:        current@freebsd.org
Subject:   Re: DEVFS: new sample code
Message-ID:  <199712122023.HAA04091@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>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.

That's what I meant.  In my code, the disklabel layer is below drivers
because drivers call it.  It doesn't actually handle bad144 because
only one driver needed (wd) it so leaving the handling in that driver
was good enough.

>> > * 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. 

I don't see any need to entirely replace them.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712122023.HAA04091>