]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/backup.c
Re-enable the new job code editing (%f).
[bacula/bacula] / bacula / src / dird / backup.c
index 93de742f0359656640325a0cbfba09b581e7bda3..96ed0787282f1c7f1463b957f9e48625a755042b 100644 (file)
@@ -200,7 +200,7 @@ bool do_backup(JCR *jcr)
       }
    }
 
-   bnet_fsend(fd, storaddr, store->address, store->SDDport, tls_need);
+   fd->fsend(storaddr, store->address, store->SDDport, tls_need);
    if (!response(jcr, fd, OKstore, "Storage", DISPLAY_ERROR)) {
       goto bail_out;
    }
@@ -226,7 +226,7 @@ bool do_backup(JCR *jcr)
    }
 
    /* Send backup command */
-   bnet_fsend(fd, backupcmd);
+   fd->fsend(backupcmd);
    if (!response(jcr, fd, OKbackup, "backup", DISPLAY_ERROR)) {
       goto bail_out;
    }
@@ -245,9 +245,7 @@ bail_out:
    set_jcr_job_status(jcr, JS_ErrorTerminated);
    Dmsg1(400, "wait for sd. use=%d\n", jcr->use_count());
    /* Cancel SD */
-   if (jcr->store_bsock) {
-      jcr->store_bsock->fsend("cancel Job=%s\n", jcr->Job);
-   }
+   cancel_storage_daemon_job(jcr);
    wait_for_storage_daemon_termination(jcr);
    Dmsg1(400, "after wait for sd. use=%d\n", jcr->use_count());
    return false;
@@ -293,9 +291,14 @@ int wait_for_job_termination(JCR *jcr)
 
    if (is_bnet_error(fd)) {
       Jmsg(jcr, M_FATAL, 0, _("Network error with FD during %s: ERR=%s\n"),
-          job_type_to_str(jcr->JobType), bnet_strerror(fd));
+          job_type_to_str(jcr->JobType), fd->bstrerror());
+   }
+   fd->signal(BNET_TERMINATE);   /* tell Client we are terminating */
+
+   /* Force cancel in SD if failing */
+   if (job_canceled(jcr) || !fd_ok) {
+      cancel_storage_daemon_job(jcr);
    }
-   bnet_sig(fd, BNET_TERMINATE);   /* tell Client we are terminating */
 
    /* Note, the SD stores in jcr->JobFiles/ReadBytes/JobBytes/Errors */
    wait_for_storage_daemon_termination(jcr);
@@ -385,7 +388,7 @@ void backup_cleanup(JCR *jcr, int TermCode)
          term_msg = _("*** Backup Error ***");
          msg_type = M_ERROR;          /* Generate error message */
          if (jcr->store_bsock) {
-            bnet_sig(jcr->store_bsock, BNET_TERMINATE);
+            jcr->store_bsock->signal(BNET_TERMINATE);
             if (jcr->SD_msg_chan) {
                pthread_cancel(jcr->SD_msg_chan);
             }
@@ -394,7 +397,7 @@ void backup_cleanup(JCR *jcr, int TermCode)
       case JS_Canceled:
          term_msg = _("Backup Canceled");
          if (jcr->store_bsock) {
-            bnet_sig(jcr->store_bsock, BNET_TERMINATE);
+            jcr->store_bsock->signal(BNET_TERMINATE);
             if (jcr->SD_msg_chan) {
                pthread_cancel(jcr->SD_msg_chan);
             }
@@ -463,7 +466,7 @@ void backup_cleanup(JCR *jcr, int TermCode)
 "  Rate:                   %.1f KB/s\n"
 "  Software Compression:   %s\n"
 "  VSS:                    %s\n"
-"  Encryption:             %s\n"
+"  Storage Encryption:     %s\n"
 "  Volume name(s):         %s\n"
 "  Volume Session Id:      %d\n"
 "  Volume Session Time:    %d\n"