[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
4. Logfile Structure
The logfile is a text file easy to read and edit. It is formed of two parts, the status line and the list of data blocks.
NOTE: Logfiles generated by a version of ddrescue prior to 1.6 lack the status line. If you want to use an old logfile with ddrescue 1.6 or later, you will have to insert a line like ‘0 +’ at the beginning of the logfile.
The first non-comment line is the status line. It contains a non-negative integer and a status character. The integer is the position being tried in the input file. The status character is one of these:
Character | Meaning |
'?' | copying data |
'*' | trimming bad areas |
'/' | splitting bad areas |
'-' | retrying bad hardware blocks |
'F' | filling specified areas |
'G' | generating approximate logfile |
'+' | finished |
Every line in the list of data blocks describes a block of data, and contains 2 non-negative integers and a status character. The first integer is a position in the input file, the second is the size (in bytes) of the data to be copied. The status character is one of these:
Character | Meaning |
'?' | non-tried |
'*' | bad area non-trimmed |
'/' | bad area non-split |
'-' | bad hardware block(s) |
'+' | finished |
And here is an example logfile:
# Rescue Logfile. Created by GNU ddrescue version 1.9
# current_pos current_status
0x00120000 ?
# pos size status
0x00000000 | 0x00117000 | + |
0x00117000 | 0x00000200 | - |
0x00117200 | 0x00001000 | / |
0x00118200 | 0x00007E00 | * |
0x00120000 | 0x00048000 | ? |
Any line beginning with ‘#’ is a comment line. The blocks must be contiguous and non-overlapping. The size field of the last line is special. If it is -1 means that the size of the file is undefined and end of file has not been reached yet.
If you edit the file, you may use decimal, hexadecimal or octal values, using the same syntax that integer constants in C++.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |