]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/acquire.c
kes Make sure valid argument passed to str_to_utime() where Arno
[bacula/bacula] / bacula / src / stored / acquire.c
index 34b28609862e99a480acad067d92bee711086fbf..50c79ebca28558738d4c1fb14975f32b4b602e3a 100644 (file)
@@ -88,6 +88,7 @@ bool acquire_device_for_read(DCR *dcr)
       int stat;
       DCR *dcr_save = jcr->dcr;
 
+      lock_reservations();
       jcr->dcr = NULL;
       memset(&rctx, 0, sizeof(RCTX));
       rctx.jcr = jcr;
@@ -109,6 +110,7 @@ bool acquire_device_for_read(DCR *dcr)
        */
       stat = search_res_for_device(rctx);
       release_msgs(jcr);              /* release queued messages */
+      unlock_reservations();
       if (stat == 1) {
          DCR *new_dcr = jcr->read_dcr;
          dev->unblock();
@@ -383,6 +385,7 @@ DCR *acquire_device_for_append(DCR *dcr)
          }
          goto get_out;
       }
+      Dmsg2(190, "Output pos=%u:%u\n", dcr->dev->file, dcr->dev->block_num);
    }
 
    dev->num_writers++;                /* we are now a writer */
@@ -458,7 +461,7 @@ bool release_device(DCR *dcr)
          }
          /* If no more writers, write an EOF */
          if (!dev->num_writers && dev->can_write()) {
-            weof_dev(dev, 1);
+            dev->weof(1);
             write_ansi_ibm_labels(dcr, ANSI_EOF_LABEL, dev->VolHdr.VolumeName);
          }
          if (!dev->at_weot()) {