} else {
/* I/O error or strange end of tape */
display_tape_error_status(jcr, dev);
- if (jcr->ignore_label_errors) {
+ if (forge_on || jcr->ignore_label_errors) {
fsr_dev(dev, 1); /* try skipping bad record */
Dmsg0(000, "Did fsr\n");
continue; /* try to continue */
* VolSessionId and VolSessionTime
*/
bool found = false;
- for (rec=(DEV_RECORD *)recs->first(); rec; rec=(DEV_RECORD *)recs->next(rec)) {
+ foreach_dlist(rec, recs) {
if (rec->VolSessionId == block->VolSessionId &&
rec->VolSessionTime == block->VolSessionTime) {
found = true;
// Dmsg2(100, "Position=(file:block) %d:%d\n", dev->file, dev->block_num);
/* Walk down list and free all remaining allocated recs */
- for (rec=(DEV_RECORD *)recs->first(); rec; ) {
- DEV_RECORD *nrec = (DEV_RECORD *)recs->next(rec);
+ while (!recs->empty()) {
+ rec = (DEV_RECORD *)recs->first();
recs->remove(rec);
free_record(rec);
- rec = nrec;
}
delete recs;
print_block_read_errors(jcr, block);
return 1;
}
if (bsr) {
- if (verbose > 1) {
+ if (verbose) {
Jmsg(jcr, M_INFO, 0, "Reposition from (file:block) %d:%d to %d:%d\n",
dev->file, dev->block_num, bsr->volfile->sfile,
bsr->volblock->sblock);