[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,
Antonio.