As Julian Stacey wrote:

> Would be nice, Joerg W. (cc'd) looked in that direction somewhat
> I recall, I can't remember how far he got, I do recall some patches
> I didnt get to try, can't remember quite what for,   Joerg, can
> you recall ?

Use "fdread -r" for this (FreeBSD-current only).

> Anyway, if anyone does offer such a read(), I'll add it to valid().

Well, it's not that simple.  Have a look at how fdread implements
it...  Basically, there's no way how a Unix read(2) can both return
(erroneous) data /and/ simultaneously notify the caller there has been
an error.  The hack is that you explicitly need to turn off driver
error reporting once you know about your bad sector, then read the
sector with error reporting turned off, and eventually turn it on
again to continue.

-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to