bug-ddrescue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-ddrescue] Bad blocks skipping are too slow


From: Alexander Sashnov
Subject: [Bug-ddrescue] Bad blocks skipping are too slow
Date: Mon, 01 Apr 2013 17:47:55 +0700

Hello,

I'm trying to recover data from 1Tb seagate freeagent disk with following command
(I use new 1.5 Tb disk as the destination):

# ddrescue -d -f -n -v -i25G --skip-size=1M --try-again /dev/sda /dev/sdc rescue.log
--------------
About to copy 975204 MBytes from /dev/sda to /dev/sdc
Starting positions: infile = 25000 MB, outfile = 25000 MB Copy block size: 128 sectors Initial skip size: 1954 sectors
Sector size: 512 Bytes

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 17812 MB, errsize: 2605 MB, errors: 1834801
...
--------------


Command was ran at 16:00. At 16:23 I've seen at console following:

--------------
Current status
rescued: 17812 MB, errsize: 2605 MB, current rate: 0 B/s
ipos: 25022 MB, errors: 1834792, average rate: 0 B/s opos: 25022 MB, time since last successful read: 24.5 m
--------------


My concern is 'too slow progress' here.

Also I could see following in /var/log/kern.log (Ubuntu 12.04 x64, 3.2.0-37-generic #58-Ubuntu SMP)

Apr 1 16:00:42 umbrella kernel: [13016.728404] end_request: I/O error, dev sda, sector 48871829 Apr 1 16:03:02 umbrella kernel: [13156.564408] end_request: I/O error, dev sda, sector 48871954 Apr 1 16:05:25 umbrella kernel: [13299.572396] end_request: I/O error, dev sda, sector 48871956 Apr 1 16:07:30 umbrella kernel: [13424.540397] end_request: I/O error, dev sda, sector 48871958 Apr 1 16:09:47 umbrella kernel: [13562.064398] end_request: I/O error, dev sda, sector 48871959 Apr 1 16:11:35 umbrella kernel: [13669.324543] end_request: I/O error, dev sda, sector 48872080 Apr 1 16:14:02 umbrella kernel: [13816.340532] end_request: I/O error, dev sda, sector 48872082 Apr 1 16:16:05 umbrella kernel: [13939.336397] end_request: I/O error, dev sda, sector 48872084 Apr 1 16:18:32 umbrella kernel: [14086.976381] end_request: I/O error, dev sda, sector 48872086 Apr 1 16:20:56 umbrella kernel: [14230.372555] end_request: I/O error, dev sda, sector 48872087

Why it tries sectors with too small distance???

If I use 128 sectors as cluster size and 1M skip block I wouldn't expected to see IO errors nearer than 128 sectors between them.


My suggestion is to use ioctl(SGIO,...) as 'hdparm --read-sector' does. Most block devices are support SCSI protocol directly or via libata in Linux kernel.

---
Alexander Sashnov.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]