int vol_label_status;
int retry = 0;
- Dmsg1(950, "jcr->dcr=%p\n", jcr->dcr);
+ Dmsg2(950, "dcr=%p dev=%p\n", dcr, dcr->dev);
+ Dmsg2(950, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
dev->dblock(BST_DOING_ACQUIRE);
if (dev->num_writers > 0) {
lock_reservations();
memset(&rctx, 0, sizeof(RCTX));
rctx.jcr = jcr;
+ jcr->read_dcr = dcr;
jcr->reserve_msgs = New(alist(10, not_owned_by_alist));
rctx.any_drive = true;
rctx.device_name = vol->device;
goto get_out;
}
}
+ Dmsg2(400, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
dev->clear_unload();
}
goto default_path;
case VOL_NAME_ERROR:
- Dmsg0(50, "Vol name error.\n");
+ Dmsg3(50, "Vol name=%s want=%s drv=%s.\n", dev->VolHdr.VolumeName,
+ dcr->VolumeName, dev->print_name());
if (dev->is_volume_to_unload()) {
goto default_path;
}
if (!unload_autochanger(dcr, -1)) {
/* at least free the device so we can re-open with correct volume */
dev->close();
+ free_volume(dev);
}
dev->set_load();
/* Fall through */
*/
if (dev->requires_mount()) {
dev->close();
+ free_volume(dev);
}
/* Call autochanger only once unless ask_sysop called */
} else {
dev->dunlock(); /* dunblock() unlock the device too */
}
- Dmsg1(950, "jcr->dcr=%p\n", jcr->dcr);
+ Dmsg2(950, "dcr=%p dev=%p\n", dcr, dcr->dev);
+ Dmsg2(950, "MediaType dcr=%s dev=%s\n", dcr->media_type, dev->device->media_type);
return ok;
}
if (dev->num_writers == 0 && (!dev->is_tape() || !dev->has_cap(CAP_ALWAYSOPEN))) {
dvd_remove_empty_part(dcr); /* get rid of any empty spool part */
dev->close();
+ free_volume(dev);
}
/* Fire off Alert command and include any output */