- pfatal("THE FOLLOWING SECTORS COULD NOT BE READ:");
- for (cp = buf, i = 0; i < size; i += DEV_BSIZE, cp += DEV_BSIZE) {
- if (read(fcp->rfdes, cp, DEV_BSIZE) < 0) {
- printf(" %d,", blk + i / DEV_BSIZE);
- bzero(cp, DEV_BSIZE);
+ bzero(buf, size);
+ printf("THE FOLLOWING DISK SECTORS COULD NOT BE READ:");
+ for (cp = buf, i = 0; i < size; i += secsize, cp += secsize) {
+ if (read(fcp->rfdes, cp, secsize) < 0) {
+ lseek(fcp->rfdes, blk * dev_bsize + i + secsize, 0);
+ if (secsize != dev_bsize && dev_bsize != 1)
+ printf(" %d (%d),",
+ (blk * dev_bsize + i) / secsize,
+ blk + i / dev_bsize);
+ else
+ printf(" %d,", blk + i / dev_bsize);