badblock_progress.render = render_badblock_progress;
progress_additem(&progress, &badblock_progress);
- r.buf = buf; r.sz = sz; r.pos = r.start = r.end = 0;
- r.good_lo = r.good_hi = 0;
-
want = sz; if (want > end - pos) want = end - pos;
for (retry = 0; retry < max_retries; retry++) {
report_bad_blocks_progress(pos, errno);
- n = recovery_read(&r, pos, want);
+ n = read_sectors(pos, buf, want);
#ifdef DEBUG
progress_clear(&progress);
printf(";; [retry] try reading %"PRIuSEC" .. %"PRIuSEC" -> %zd\n",
}
}
+ r.buf = buf; r.sz = sz; r.pos = r.start = r.end = 0;
+ r.good_lo = r.good_hi = 0;
+
bad_lo = pos; bad_hi = pos + 1;
for (;;) {
report_bad_blocks_progress(bad_hi, errno);