+/*
+ * Switch from current device to given device
+ * (not yet used)
+ */
+void switch_device(DCR *dcr, DEVICE *dev)
+{
+ // lock_reservations();
+ DCR save_dcr;
+
+ dev->dlock();
+ memcpy(&save_dcr, dcr, sizeof(save_dcr));
+ clean_device(dcr); /* clean up the dcr */
+
+ dcr->dev = dev; /* get new device pointer */
+ Jmsg(dcr->jcr, M_INFO, 0, _("Device switch. New device %s chosen.\n"),
+ dcr->dev->print_name());
+
+ bstrncpy(dcr->VolumeName, save_dcr.VolumeName, sizeof(dcr->VolumeName));
+ bstrncpy(dcr->media_type, save_dcr.media_type, sizeof(dcr->media_type));
+ dcr->VolCatInfo.Slot = save_dcr.VolCatInfo.Slot;
+ bstrncpy(dcr->pool_name, save_dcr.pool_name, sizeof(dcr->pool_name));
+ bstrncpy(dcr->pool_type, save_dcr.pool_type, sizeof(dcr->pool_type));
+ bstrncpy(dcr->dev_name, dev->dev_name, sizeof(dcr->dev_name));
+
+ dev->reserved_device++;
+ dcr->reserved_device = true;
+
+ dev->dunlock();
+}
+