]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/append.c
Update doc, default working directory bscan
[bacula/bacula] / bacula / src / stored / append.c
index 1a47a3ba4ec96c0728700246fe7cea8b7468d7cc..635477d5b8fcd9b48183c90020da929d31a9cb6e 100644 (file)
@@ -126,15 +126,15 @@ int do_append_data(JCR *jcr)
        *    info       (Info for Storage daemon -- compressed, encryped, ...)
        *       info is not currently used, so is read, but ignored!
        */
-      if ((n=bget_msg(ds)) < 0) { 
+     if ((n=bget_msg(ds)) <= 0) {
+        if (n == BNET_SIGNAL && ds->msglen == BNET_EOD) {
+           break;                    /* end of data */
+        }
          Jmsg1(jcr, M_FATAL, 0, _("Error reading data header from FD. ERR=%s\n"),
            bnet_strerror(ds));
         ok = FALSE;
         break;
       }
-      if (n == 0 || job_cancelled(jcr)) {
-        break;                       /* all done */
-      }
       sm_check(__FILE__, __LINE__, False);
       ds->msg[ds->msglen] = 0;
       if (sscanf(ds->msg, "%ld %ld %100s", &file_index, &stream, info) != 3) {
@@ -218,7 +218,7 @@ int do_append_data(JCR *jcr)
         }
         sm_check(__FILE__, __LINE__, False);
       }
-      if (n < 0) {
+      if (is_bnet_error(ds)) {
          Jmsg1(jcr, M_FATAL, 0, _("Network error on data channel. ERR=%s\n"),
            bnet_strerror(ds));
         ok = FALSE;