[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
5. 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 non-tried blocks |
'*' | trimming non-trimmed blocks |
'/' | splitting non-split blocks |
'-' | retrying bad sectors |
'F' | filling specified blocks |
'G' | generating approximate logfile |
'+' | finished |
Every line in the list of data blocks describes a block of data. It contains 2 non-negative integers and a status character. The first integer is the starting position of the block in the input file, the second integer is the size (in bytes) of the block. The status character is one of these:
Character | Meaning |
'?' | non-tried block |
'*' | failed block non-trimmed |
'/' | failed block non-split |
'-' | failed block bad-sector(s) |
'+' | finished block |
And here is an example logfile:
# Rescue Logfile. Created by GNU ddrescue version 1.11
# 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.
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] | [ ? ] |