+ return true; /* device locked */
+}
+
+/*
+ * We have a new Volume mounted, so reset the Volume parameters
+ * concerning this job. The global changes were made earlier
+ * in the dev structure.
+ */
+void set_new_volume_parameters(DCR *dcr)
+{
+ JCR *jcr = dcr->jcr;
+ DEVICE *dev = dcr->dev;
+ if (dcr->NewVol && !dir_get_volume_info(dcr, GET_VOL_INFO_FOR_WRITE)) {
+ Jmsg1(jcr, M_ERROR, 0, "%s", jcr->errmsg);
+ }
+ /* Set new start/end positions */
+ if (dev_state(dev, ST_TAPE)) {
+ dcr->StartBlock = dev->block_num;
+ dcr->StartFile = dev->file;
+ } else {
+ dcr->StartBlock = (uint32_t)dev->file_addr;
+ dcr->StartFile = (uint32_t)(dev->file_addr >> 32);
+ }
+ /* Reset indicies */
+ dcr->VolFirstIndex = 0;
+ dcr->VolLastIndex = 0;
+ jcr->NumVolumes++;
+ dcr->NewVol = false;
+ dcr->WroteVol = false;
+}
+
+/*
+ * We are now in a new Volume file, so reset the Volume parameters
+ * concerning this job. The global changes were made earlier
+ * in the dev structure.
+ */
+void set_new_file_parameters(DCR *dcr)
+{
+ DEVICE *dev = dcr->dev;
+
+ /* Set new start/end positions */
+ if (dev_state(dev, ST_TAPE)) {
+ dcr->StartBlock = dev->block_num;
+ dcr->StartFile = dev->file;
+ } else {
+ dcr->StartBlock = (uint32_t)dev->file_addr;
+ dcr->StartFile = (uint32_t)(dev->file_addr >> 32);
+ }
+ /* Reset indicies */
+ dcr->VolFirstIndex = 0;
+ dcr->VolLastIndex = 0;
+ dcr->NewFile = false;
+ dcr->WroteVol = false;