bug-ddrescue
[Top][All Lists]
Advanced

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

Re: ddrescue: detect repeated reads of the same data


From: Antonio Diaz Diaz
Subject: Re: ddrescue: detect repeated reads of the same data
Date: Tue, 21 May 2024 17:28:41 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14

Hi Matheus,

Matheus Afonso Martins Moreira wrote:
Allow me to begin with words of gratitude.

You are welcome! I'm glad that ddrescue helped you to recover at least part of your data.

Still, I'd like to suggest a feature based on this experience:
detection of repeatedly equal non-null reads.

Thank you for your detailed report.

Ddrescue already provides the option '-J, --check-on-error' which after every read error, reads again the last good sector found and checks that it returns the same data.

This mechanism could be surely modified to check the last good sector after two identical non-zero reads, and enabled with an option like '--check-on-identical'. I'll take a look at it as soon as I can.

Even simply halting the rescue process until the user intervened
would be reasonable though.

I guess this is all ddrescue can do. At least until it acquires human-level AI and a robot body. :-)

In my case, I ended up reading what's likely invalid data from the disk
and writing it to the ddrescue image. This went on for an undefined
but hopefully short amount of time. The rescued data count falsely
increased and the sectors were marked as rescued in the ddrescue's
map file even though the data probably couldn't be read correctly.
They won't be retried in the later passes and when trimming and
scraping the disk.

Maybe a new mode that marks as non-tried the sectors containing known bad data could be added to ddrescue. Then a normal rescue run would reread those sectors.

Detecting this condition would increase the confidence that blocks
marked by ddrescue as rescued were truly rescued.

Indeed.

Best regards,
Antonio.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]