- dcr->VolumeName, dcr->dev->print_name(), dev->print_name(), slot);
- Dmsg2(100, "num_writ=%d reserv=%d\n", dev->num_writers, dev->reserved_device);
- dev->dunlock();
+ dcr->VolumeName, dcr->dev->print_name(), dev->print_name(), dev->get_slot());
+ Dmsg2(100, "num_writ=%d reserv=%d\n", dev->num_writers, dev->num_reserved());
+ volume_unused(dcr);
+ return false;
+ }
+ return unload_dev(dcr, dev);
+}
+
+/*
+ * Unconditionally unload a specified drive
+ */
+bool unload_dev(DCR *dcr, DEVICE *dev)
+{
+ JCR *jcr = dcr->jcr;
+ bool ok = true;
+ uint32_t timeout = dcr->device->max_changer_wait;
+ AUTOCHANGER *changer = dcr->dev->device->changer_res;
+ DEVICE *save_dev;
+ int save_slot;
+
+ if (!changer) {