- dir_update_volume_info(jcr, dev, 0);
- if (!dir_create_jobmedia_record(jcr)) {
- Jmsg(jcr, M_ERROR, 0, _("Could not create JobMedia record for Volume=\"%s\" Job=%s\n"),
- jcr->VolCatInfo.VolCatName, jcr->Job);
- return 0;
+ dir_update_volume_info(dcr, false);
+ dev->dev_errno = ENOSPC;
+ return false;
+ }
+
+ /* Create a JobMedia record so restore can seek */
+ Dmsg0(100, "dir_update_volume_info\n");
+ dev->VolCatInfo.VolCatFiles = dev->file;
+ dir_update_volume_info(dcr, false);
+ if (!dir_create_jobmedia_record(dcr)) {
+ dev->dev_errno = EIO;
+ Jmsg(jcr, M_ERROR, 0, _("Could not create JobMedia record for Volume=\"%s\" Job=%s\n"),
+ dcr->VolCatInfo.VolCatName, jcr->Job);
+ if (!forge_on) {
+ return false;
+ }
+ }
+ dev->file_size = 0; /* reset file size */
+ /*
+ * Walk through all attached jcrs indicating the file has changed
+ */
+ Dmsg1(100, "Walk attached jcrs. Volume=%s\n", dev->VolCatInfo.VolCatName);
+#ifdef xxx
+ for (JCR *mjcr=NULL; (mjcr=next_attached_jcr(dev, mjcr)); ) {
+ if (mjcr->JobId == 0) {
+ continue; /* ignore console */