Thanks for your answers so far.
I probably was not clear enough:
The thread reads then encrypts then writes blocks of x sectors. The read
fails because an unknown number (1-n) of sectors within x is bad.
If, as somebody said, the data and size (ioStatusBlock.Information) should
be considered both unreliable when I recevied the sector fails, then even
the position within x would be unclear, and the data received so far I must
not use to encrypt and write back.
I do not need to encrypt this bad sector/s.
But I am to go on, in some intelligent manner skipping the bad sectors and
finding the next sane sectors (instead of leaving the volume alone). The
disk could contain a single bad sector, but it might as well be near total
corruption.
I heard that past the failure it is better to really go in single sectors
because each repeated hit to bad sectors is probably slower than going in
single sectors steps ?
Regards
Else
----- Forwarded by Else Kluger/Munich/Utimaco/DE on 01/09/2008 12:00 PM
|---------±-------------------------------->
| | Else Kluger |
| | | | e> |
| | Sent by: |
| | bounce-310636-16691@li|
| | sts.osr.com |
| | |
| | |
| | 01/09/2008 09:04 AM |
| | Please respond to |
| | “Windows System |
| | Software Devs Interest|
| | List” |
|---------±-------------------------------->
>-----------------------------------------------------------------------------------------------------------|
| |
| To: “Windows System Software Devs Interest List” |
| cc: |
| Subject: [ntdev] bad sectors |
>-----------------------------------------------------------------------------------------------------------|
Hi all,
I’m writing a sector based disk encryption filter.
If a bad sector is detected (=read request of the sector fails) during the
initial encryption of a volume I currently skip the volume leaving it only
partly encrypted. This seems to be not acceptable and our customers request
to fully encrypt such a volume.
- Can I rely on ioStatusBlock.Information returning me the size of read
bytes in front of the bad sector ?
- Is there an intelligent way / algorithm to do this without risking
further damage to the drive ?
Regards
Else
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer