|
From: | Antonio Diaz Diaz |
Subject: | Re: [Bug-ddrescue] Tip: Improving recovery chances with Seagate "F3" models |
Date: | Wed, 04 Jun 2014 19:35:03 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.11) Gecko/20050905 |
Hello Scott, Scott Dwyer wrote:
I don't know exactly what you mean by a configure option, but I have had success in adding conditional code (#ifndef __APPLE__) in the source to check for and allow it to compile differently on a Mac (leaves out the good stuff), since otherwise it would not compile.
I mean passing an option to configure as in: ./configure --enable-passthrough && make && make install This way everybody else gets a normal ddrescue built.
First, when using the passthrough option it is unable to tell the difference between a drive and a partition. So sda1 or sda2 is seen as just sda. I handle this by failing if the source ends with a number instead of a letter. Not ideal, but the best I could come up with.
This is why I want a configure option. Strange behavior like what you describe is unacceptable in the normal ddrescue.
When doing a direct ATA passthrough, it is possible to know the first sector of the error. Meaning that reading a 128 sector block and it returns with a read error, it will return the first bad sector in the block. This means that a bad sector could be marked right away, the sectors before it could be marked as unread as they would be known to be readable yet, and the sectors after could be marked as non-tried as it is unknown if they are good or bad.
Ddrescue already works like this. It is the kernel the one returning a total block failure when it finds a bad sector. I wish the kernel behaved better in case of read error. (Maybe some kernel version behaves as you describe. I don't know).
Best regards, Antonio.
[Prev in Thread] | Current Thread | [Next in Thread] |