[Top][All Lists]

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

[Bug-ddrescue] Re: Algorithm used in ddrescue

From: Antonio Diaz Diaz
Subject: [Bug-ddrescue] Re: Algorithm used in ddrescue
Date: Mon, 03 May 2010 16:51:11 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.11) Gecko/20050905

Hello Nik,

address@hidden wrote:
first of all - thanks for your great work with ddrescue. It has helped
me a lot.

Glad to hear this.

There is one question which I had about the algorithm/strategy which
ddrescue used. This question has been posted to the mailing list two
years ago but has not been answered yet. You can find it here:

Yes. Sometimes I receive too many emails and forget to answer some of them.

Could you kindly do me the favor and answer this question? This would
help me :)

Of course.

How does ddrescue work on defective sectors? When does it decide to
skip sectors and much more important: how does it determine the size
of sectors to skip or jump ahead?

You'll need to look at copy_non_tried() in rescuebook.cc to answer this. The important points are: 1) while copying the non-tried parts of the input file, ddrescue jumps forward every time it finds a bad sector. 2) the skipped size is increased until a good sector is found or the end of the current block is reached.

Also I have read something about backward reading capabilities but
haven't seen ddrescue actually reading backwards. Does the current
ddrescue read backwards? If so - when?

From http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Algorithm

"3) Read backwards one sector at a time the non-trimmed blocks, until a bad sector is found. For each non-trimmed block, mark the bad sector found as bad-sector and mark the rest of that block as non-split."

Best regards,

reply via email to

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