Dmsg1(dbglvl, "OK, vol=%s on device.\n", VolumeName);
goto get_out; /* Volume already on this device */
} else {
- Dmsg2(dbglvl, "reserve_vol free vol=%s at %p\n",
- vol->vol_name, vol->vol_name);
- debug_list_volumes("reserve_vol free");
+ Dmsg2(dbglvl, "reserve_vol free vol=%s at %p\n", vol->vol_name, vol->vol_name);
vol_list->remove(vol);
free_vol_item(vol);
+ debug_list_volumes("reserve_vol free");
}
}
}
if (dev->is_busy()) {
- Dmsg1(dbglvl, "vol_unused: no vol on %s\n", dev->print_name());
+ Dmsg1(dbglvl, "vol_unused: busy on %s\n", dev->print_name());
debug_list_volumes("dev busy cannot unreserve_volume");
return false;
}
/* Drive Pool not suitable for us */
Mmsg(jcr->errmsg, _(
"3608 JobId=%u wants Pool=\"%s\" but have Pool=\"%s\" nreserve=%d on drive %s.\n"),
- jcr->JobId, dcr->pool_name, dev->pool_name,
+ (uint32_t)jcr->JobId, dcr->pool_name, dev->pool_name,
dev->reserved_device, dev->print_name());
queue_reserve_message(jcr);
Dmsg2(dbglvl, "failed: busy num_writers=0, reserved, pool=%s wanted=%s\n",
rctx.PreferMountedVols, rctx.exact_match, rctx.suitable_device,
rctx.autochanger_only, rctx.any_drive);
+ /* Check for max jobs on this Volume */
+ if (!is_max_jobs_ok(dcr)) {
+ return 0;
+ }
+
/* setting any_drive overrides PreferMountedVols flag */
if (!rctx.any_drive) {
/*
if (dev->num_writers == 0) {
/* Now check if there are any reservations on the drive */
if (dev->reserved_device) {
- if (!is_max_jobs_ok(dcr)) {
- return 0;
- }
return is_pool_ok(dcr);
} else if (dev->can_append()) {
if (is_pool_ok(dcr)) {
* available if pool is the same).
*/
if (dev->can_append() || dev->num_writers > 0) {
- if (!is_max_jobs_ok(dcr)) {
- return 0;
- }
return is_pool_ok(dcr);
} else {
Pmsg1(000, _("Logic error!!!! JobId=%u Should not get here.\n"), (int)jcr->JobId);