[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ddrescue: detect repeated reads of the same data
From: |
Matheus Afonso Martins Moreira |
Subject: |
Re: ddrescue: detect repeated reads of the same data |
Date: |
Tue, 21 May 2024 10:46:43 +0000 |
For future reference:
> I found these forum posts on the web about it:
>
> https://www.recoveryforce.com/forums/viewtopic.php?t=595&start=10
>
This is a very interesting comment:
> No, the data in the original sector is theoretically there
> and can frequently be recovered with multiple reads
> or donor heads. The pattern we see is only given
> if the timeout is long fairly long... if you set it to 100ms,
> it will likely report an error, rather than provide garbage.
The following command does that on Linux:
# substitute your own
DRIVE=sda
echo 1 > /sys/block/"${DRIVE}"/device/timeout
Setting it to 0.1 as suggested didn't work unfortunately.
However, the one second timeout completely worked
around this issue. Now ddrescue gets the expected
errors instead of some "moLD" pattern corruption.
I don't know if it's advisable to reduce the timeout
like this in the general ddrescue use case.
The default is 30 seconds.
Also the forum comment suggests that the data
might be read via repeated attempts which to my
understanding is what ddrescue's scraping is all
about. My rescue is still in the copying phase,
how can I move all the non-tried blocks to the
scraping phase? I tried editing the map file by
searching and replacing ? and * with / but it
didn't have the desired effect.
Thanks,
-- Matheus