changer = get_pool_memory(PM_FNAME);
if (slot <= 0) {
- Jmsg(jcr, M_INFO, 0, _("Invalid slot=%d defined, cannot autoload Volume.\n"), slot);
+ Jmsg(jcr, M_INFO, 0, _("Invalid slot=%d defined in catalog. Manual load my be required.\n"), slot);
rtn_stat = 0;
} else if (!dcr->device->changer_name) {
- Jmsg(jcr, M_INFO, 0, _("No \"Changer Device\" given cannot autoload Volume.\n"));
+ Jmsg(jcr, M_INFO, 0, _("No \"Changer Device\" manual load of Volume may be required.\n"));
rtn_stat = 0;
} else if (!dcr->device->changer_command) {
- Jmsg(jcr, M_INFO, 0, _("No \"Changer Command\" given cannot autoload Volume.\n"));
+ Jmsg(jcr, M_INFO, 0, _("No \"Changer Command\" manual load of Volume may be requird.\n"));
rtn_stat = 0;
} else {
/* Attempt to load the Volume */
return dev->Slot;
}
/* Virtual disk autochanger */
- if (dcr->device->changer_command[0]) {
+ if (dcr->device->changer_command[0] ==0) {
return 1;
}
*results.c_str() = 0;
Dmsg1(100, "Run program=%s\n", changer);
status = run_program_full_output(changer, timeout, results.c_str());
- Dmsg3(100, "run_prog: %s stat=%d result=%s\n", changer, status, results.c_str());
+ Dmsg3(100, "run_prog: %s stat=%d result=%s", changer, status, results.c_str());
if (status == 0) {
loaded = str_to_int32(results.c_str());
if (loaded > 0) {
}
break;
}
- P(dev->mutex);
+ dev->dlock();
if (dev->is_busy()) {
Jmsg(jcr, M_WARNING, 0, _("Volume \"%s\" is in use by device %s\n"),
dcr->VolumeName, dev->print_name());
Dmsg4(100, "Vol %s for dev=%s is busy dev=%s slot=%d\n",
dcr->VolumeName, dcr->dev->print_name(), dev->print_name(), slot);
Dmsg2(100, "num_writ=%d reserv=%d\n", dev->num_writers, dev->reserved_device);
- V(dev->mutex);
+ dev->dunlock();
return false;
}
Dmsg0(100, "Slot unloaded\n");
}
unlock_changer(dcr);
- V(dev->mutex);
+ dev->dunlock();
free_pool_memory(changer_cmd);
return ok;
}