Hi. Recently I was trying to recover data from old DDS tape and was hoping ddrescue would help me. While the program is quite useful, I stumbled upon unexpected behaviour (say, undocumented feature?), that is, it doesn't position tape before reading. To clarify, I'll describe the scenario:
1. start from position 0; 2. ddrescue reads the tape and writes to a file; 3. there is tape reading error, after some retries system reports error to application; 3a. if uninterrupted, ddrescue will try to read further, marking further locations as erroneous, while in truth the drive stops and doesn't read anything, just reporting read errors; 4. to reset drive, tape must be rewound; 5. after tape is repositioned at 0 and ddrescue is restarted with log file, it will append new data at the end of output file, but it will read it from the beginning of the tape; I don't feel if there is good solution to the issue stated in point 3a. It might be drive dependent, software handler dependend, and so on. But what happens at point 5, whether intentional or not, defies the ddrescue's magic. Right now, when hardware reports error, I need to check tape position or calculate it from logfile, so I know where was last good data (3a) and then manually rewind tape and feed ddrescue with ipos and outpos arguments so it does put the data in order. My point is that without the second isse, ddrescue could be used in fire-and-forget mode, with the only problem being too big areas marked as bad (split or not), which would be eventually filled. But as for today, it provides just a little more functionality than that provided by old dd. The version of ddrescue which I'm referring to is 1.2. Best regards. -- Grzegorz Nowakowski _______________________________________________ Bug-ddrescue mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-ddrescue
