jcr->MediaId = mr->MediaId;
pm_strcpy(jcr->VolumeName, mr->VolumeName);
bash_spaces(mr->VolumeName);
- stat = bnet_fsend(sd, OK_media, mr->VolumeName, mr->VolJobs,
+ stat = sd->fsend(OK_media, mr->VolumeName, mr->VolJobs,
mr->VolFiles, mr->VolBlocks, edit_uint64(mr->VolBytes, ed1),
mr->VolMounts, mr->VolErrors, mr->VolWrites,
edit_uint64(mr->MaxVolBytes, ed2),
}
}
Dmsg2(400, "Update media: BefVolJobs=%u After=%u\n", mr.VolJobs, sdmr.VolJobs);
+
/*
* Check if the volume has been written by the job,
* and update the LastWritten field if needed.
if (mr.VolBlocks != sdmr.VolBlocks && VolLastWritten != 0) {
mr.LastWritten = VolLastWritten;
}
+
+ /*
+ * Update to point to the last device used to write the Volume.
+ * However, do so only if we are writing the tape, i.e.
+ * the number of VolWrites has increased.
+ */
+ if (jcr->wstore && jcr->wstore->StorageId && sdmr.VolWrites > mr.VolWrites) {
+ mr.StorageId = jcr->wstore->StorageId;
+ }
+
/* Copy updated values to original media record */
mr.VolJobs = sdmr.VolJobs;
mr.VolFiles = sdmr.VolFiles;
if (sdmr.VolWriteTime >= 0) {
mr.VolWriteTime = sdmr.VolWriteTime;
}
- /*
- * Update to point to the last device used to write the Volume.
- * However, do so only if we are writing the tape, i.e.
- * the number of VolBlocks has increased.
- */
- if (jcr->wstore && jcr->wstore->StorageId && mr.VolBlocks != sdmr.VolBlocks) {
- mr.StorageId = jcr->wstore->StorageId;
- }
Dmsg2(400, "db_update_media_record. Stat=%s Vol=%s\n", mr.VolStatus, mr.VolumeName);
/*