Dmsg1(dbglvl, "%s", msg.c_str());
}
-#ifdef xxx
- DEVICE *dev = NULL;
- foreach_dlist(vol, vol_list) {
- if (vol->dev == dev) {
- Dmsg0(dbglvl, "Two Volumes on same device.\n");
- ASSERT(0);
- dev = vol->dev;
- }
- }
-#endif
-
unlock_volumes();
}
}
Dmsg2(dbglvl, "reserve_vol free vol=%s at %p\n", vol->vol_name, vol->vol_name);
free_volume(dev);
+// volume_unused(dcr);
dev->set_unload(); /* have to unload current volume */
debug_list_volumes("reserve_vol free");
}
Dmsg3(dbglvl, "==== Swap vol=%s from dev=%s to %s\n",
VolumeName, vol->dev->print_name(), dev->print_name());
free_volume(dev); /* free any volume attached to our drive */
+// volume_unused(dcr);
+ dev->set_unload(); /* Unload any volume that is on our drive */
dcr->dev = vol->dev; /* temp point to other dev */
- slot = get_autochanger_loaded_slot(dcr); /* get slot */
+ slot = get_autochanger_loaded_slot(dcr); /* get slot on other drive */
dcr->dev = dev; /* restore dev */
vol->set_slot(slot); /* save slot */
vol->dev->set_unload(); /* unload the other drive */
vol->dev->print_name());
vol->set_in_use();
dcr->reserved_volume = true;
+ bstrncpy(dcr->VolumeName, vol->vol_name, sizeof(dcr->VolumeName));
}
debug_list_volumes("end new volume");
unlock_volumes();
if (!vol->is_swapping()) {
dev->vol = NULL;
vol_list->remove(vol);
- Dmsg2(dbglvl, "=== free_volume %s dev=%s\n", vol->vol_name, dev->print_name());
+ Dmsg2(dbglvl, "=== remove volume %s dev=%s\n", vol->vol_name, dev->print_name());
free_vol_item(vol);
debug_list_volumes("free_volume");
}
Dmsg0(dbglvl, "deleted temp vol list\n");
Dmsg0(dbglvl, "unlock volumes\n");
unlock_volumes();
- debug_list_volumes("=== After free temp table\n");
+ debug_list_volumes("after free temp table");
}
if (ok) {
Dmsg1(dbglvl, "OK dev found. Vol=%s from in-use vols list\n", rctx.VolumeName);