Hello!
I suggest to implement a parameter that forces ddrescue not to run for more 
than <seconds> (I need 3) on slow areas with non-increasing average rate. Then 
I want the program either to --exit-on-slow or SKIP -K<skip_size>. Is it 
possible?

I have a 3Tb disk with one slow head. The average reading rate (with options 
-b4096 -c1 -R) is 15 Mb/s, but slow areas are being read at no more than 100 
kb/s, sometimes even taking some seconds to read 1 physical sector (avg.rate ~1 
kb/s).
I used --exit-on-slow with modified line 151 of ddrescue.h 1.22-pre3 (having 
changed 30 s to 1 s)
I used also -O -T0 -X -a4194304 - but nothing helps enough. Sometimes ddrescue 
worked for 2 minutes at speed about 4...16 kb/s without stopping by any reason. 
I interrupted it manually.

I also wrote a script to cycle the skipping, here it follows:

#!/bin/bash
# script for cycling the run of GNU ddrescue on disk with slow areas
# for (( i=1276000; $i<=2720000; i=$i+1280 )); do #best suits the skip size

     for (( i=1297760; i<=2720000; i+=500  )) ; do 
     ia=$i'Mi'
     echo -i$ia
     echo ./ddrescue /dev/sdb /dev/sda /home/k/log_toshiba_to_wd.txt -f -v -v 
-v -v -b4096 -c1 --cpass=1 -O -X -R -a4194304 -K120Mi -i$ia -s500Mi 
--exit-on-slow --mapfile-interval=5 -T0
              ./ddrescue /dev/sdb /dev/sda /home/k/log_toshiba_to_wd.txt -f -v 
-v -v -v -b4096 -c1 --cpass=1 -O -X -R -a4194304 -K120Mi -i$ia -s500Mi 
--exit-on-slow --mapfile-interval=5 -T0
done
_______________________________________________
Bug-ddrescue mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-ddrescue

Reply via email to