[Top][All Lists]

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

Re: [Bug-ddrescue] Reverse mode?

From: Antonio Diaz Diaz
Subject: Re: [Bug-ddrescue] Reverse mode?
Date: Wed, 23 May 2012 16:11:24 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.11) Gecko/20050905

Hello Théo,

Théo Koelz wrote:
I understand that a reverse mode has been added in the latest ddrescue
but the ddrescue manual isn't to clear about what it does (I thought
ddrescue's algorithm automatically switched to reverse mode when
needed). Can you explain us what it does and what is its use?

In my opinion, reverse mode is only useful in rare occasions.

Note that ddrescue *reads backwards* when it is needed (trimming skipped blocks). This is not the same that "switching to reverse mode when needed".

As you can see in the Algorithm section of the manual[1], ddrescue performs four main passes; copying, trimming, splitting and retrying. In "normal" (not reverse) mode, copying, splitting and retrying are run forwards, while trimming is run backwards from the end of each non-trimmed block.

Reverse mode inverts all the passes. This means that copying, splitting and retrying are run backwards, while trimming is run forwards from the beginning of each non-trimmed block.

Given that reading backwards is much slower than reading forwards, and that trimming is usually the pass which reads less data by a wide margin, reverse mode tends to be much slower than normal mode. Even so, it seems some users have found cases where reverse mode helped them to recover the data.

[1] http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html

Best regards,

reply via email to

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