]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/block.c
Make out of freespace non-fatal for removable devices -- i.e. behaves like tape
[bacula/bacula] / bacula / src / stored / block.c
index a0f33705cd6d7eb00dc5db218ce61bfe470d51c8..1a0ef854727f1508645037fb7da55027e7117ae0 100644 (file)
@@ -301,8 +301,12 @@ bool DCR::write_block_to_dev()
       if (dev->dev_errno == ENOSPC) {
          dev->update_freespace();
          if (dev->is_freespace_ok() && dev->free_space < dev->min_free_space) {
+            int mtype = M_FATAL;
             dev->set_nospace();
-            Jmsg(jcr, M_FATAL, 0, _("Out of freespace caused End of Volume \"%s\" at %s on device %s. Write of %u bytes got %d.\n"),
+            if (dev->is_removable()) {
+               mtype = M_INFO;
+            }
+            Jmsg(jcr, mtype, 0, _("Out of freespace caused End of Volume \"%s\" at %s on device %s. Write of %u bytes got %d.\n"),
                dev->getVolCatName(),
                dev->print_addr(ed1, sizeof(ed1)), dev->print_name(), wlen, stat);
          } else {
@@ -447,7 +451,7 @@ bool DCR::read_block_from_dev(bool check_block_numbers)
    DCR *dcr = this;
    boffset_t pos;
    char ed1[50];
-   int data_len;
+   uint32_t data_len;
 
    if (job_canceled(jcr)) {
       Mmsg(dev->errmsg, _("Job failed or canceled.\n"));