Radomir Tomis wrote:
OTOH, talking about mapfile emergency save, I experienced (same recovery
session few days ago) the following problem with mapfile:
ddrescue ...
Timeout expired
ddrescue [exactly the same parameters, immediately after "Timeout expired"]
ddrescue: error in mapfile 'ddrescue.log', line 4736.
awk 'NR>= 4733&& NR<= 4738 {print NR,$0} {next}' ddrescue.log | cat -evt
4733 0x59A9320200 0x08FAFC00 /$
4734 0x59B22CFE00 0x00000200 -$
4735 0x59B22D0000 0x0BF90000 +$
4736 0x59BE260000 0x000000xCF87050000 0x00980000 ?$
4737 0xCF879D0000 0x00020000 *$
4738 0xCF879F0000 0x01310000 ?$
Like some problem for ddrescue to write out the mapfile completely/correctly.
The free space on the drive holding the mapfile was only ~44 kB (copying 1
TB *disk device* to 1 TB *file system*, you know ...), the mapfile itself
was ~134 kB.
But there was no "Error writing mapfile 'mapfile': No space left on device"
Thank you for reporting this.
I have no idea what can be the cause of the problem that you describe (a
hole in the middle of the mapfile). Ddrescue writes the mapfile calling
'fprintf' in a loop, once per line, and checks the return value of 'fclose'.
All I can do is making ddrescue also check the return value of each
'fprintf' in case the problem is a temporary failure of 'fprintf' that is
not signaled at closing time.
Best regards,
Antonio.