]> git.sur5r.net Git - bacula/bacula/commitdiff
Make SD aware of Virtual Backup jobs.
authorKern Sibbald <kern@sibbald.com>
Tue, 15 Jul 2008 14:15:16 +0000 (14:15 +0000)
committerKern Sibbald <kern@sibbald.com>
Tue, 15 Jul 2008 14:15:16 +0000 (14:15 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@7386 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/dird/vbackup.c
bacula/src/jcr.h
bacula/src/stored/dircmd.c
bacula/src/stored/job.c
bacula/src/stored/mac.c
bacula/technotes-2.5

index 4548a27bc579dc4625d2d2cc247af10a50c34e7c..d0e4056d98addf9b1728b9ddd0abbb95da0c6c36 100644 (file)
@@ -174,13 +174,15 @@ bool do_vbackup(JCR *jcr)
    if (!start_storage_daemon_job(jcr, jcr->rstorage, jcr->wstorage)) {
       return false;
    }
-   Dmsg0(150, "Storage daemon connection OK\n");
+   Dmsg0(000, "Storage daemon connection OK\n");
 
    if (!send_bootstrap_file(jcr, sd) ||
        !response(jcr, sd, OKbootstrap, "Bootstrap", DISPLAY_ERROR)) {
       return false;
    }
 
+   Dmsg0(000, "Bootstrap file sent\n");
+
    /*    
     * We re-update the job start record so that the start
     *  time is set after the run before job.  This avoids 
@@ -485,8 +487,8 @@ static bool create_bootstrap_file(JCR *jcr, POOLMEM *jobids)
 #endif
 
    complete_bsr(ua, rx.bsr);
-   Dmsg0(000, "Print bsr\n");
-   print_bsr(ua, rx.bsr);
+// Dmsg0(000, "Print bsr\n");
+// print_bsr(ua, rx.bsr);
 
    jcr->ExpectedFiles = write_bsr_file(ua, rx);
    Dmsg1(000, "Found %d files to consolidate.\n", jcr->ExpectedFiles);
index 9db54c3b652b029a1398b6dc08e47b90eb3cb102..6abd92408946c01d45057e53a36b669b54d91384 100644 (file)
@@ -385,6 +385,7 @@ public:
    alist *reserve_msgs;               /* reserve fail messages */
    bool write_part_after_job;         /* Set to write part after job */
    bool PreferMountedVols;            /* Prefer mounted vols rather than new */
+   bool need_fd;                      /* set if we need FD connection */
    
    uint32_t FileId;                   /* Last file id inserted */
 
index 6b358750e146783c9ea2e65e7869720a6ba19b63..a53efa31c3cb443e4e22fdb178df95e1333652a0 100644 (file)
@@ -937,6 +937,10 @@ static bool release_cmd(JCR *jcr)
 
 static bool bootstrap_cmd(JCR *jcr)
 {
+   /* If getting the bootstrap file succeeds, we do not need
+    *  the FD because we will be reading.
+    */
+   jcr->need_fd = false;
    return get_bootstrap_file(jcr, jcr->dir_bsock);
 }
 
index 3d9765091850a59096fd97f7823374beabe0a5fa..187f4639ec671f1517c6a3ab22c7e67190785890 100644 (file)
@@ -146,6 +146,7 @@ bool job_cmd(JCR *jcr)
    jcr->PreferMountedVols = PreferMountedVols;
 
    jcr->authenticated = false;
+   jcr->need_fd = true;
 
    /*
     * Pass back an authorization key for the File daemon
@@ -169,12 +170,11 @@ bool run_cmd(JCR *jcr)
 
    Dsm_check(1);
    Dmsg1(200, "Run_cmd: %s\n", jcr->dir_bsock->msg);
-   /* The following jobs don't need the FD */
-   switch (jcr->JobType) {
-   case JT_COPY:
-   case JT_MIGRATE:
-   case JT_ARCHIVE:
-      jcr->authenticated = true;
+
+   /* If we do not need the FD, we are doing a migrate, copy, or virtual
+    *   backup.
+    */
+   if (!jcr->need_fd) {
       do_mac(jcr);
       return false;
    }
index e3ea9214d1e3924fd48b7fc067fdfe26d2983d39..1d6cde5e0652ec816fecbf1bf76f4d744a8afe05 100644 (file)
@@ -27,7 +27,7 @@
 */
 /*
  * SD -- mac.c --  responsible for doing
- *     migration, archive, and copy jobs.
+ *     migration, archive, copy, and virtual backup jobs.
  *
  *     Kern Sibbald, January MMVI
  *
@@ -67,6 +67,9 @@ bool do_mac(JCR *jcr)
    case JT_COPY:
       Type = "Copy";
       break;
+   case JT_BACKUP:
+      Type = "Virtual Backup";
+      break;
    default:
       Type = "Unknown";
       break;
index 4a27f648bfcf91286a06b04f2d0bc4c761b56a20..d03e727554654d81337467e9d60325ef8dd45fb2 100644 (file)
@@ -31,6 +31,7 @@ vtape driver
 
 General:
 15Jul08
+kes  Make SD aware of Virtual Backup jobs.
 kes  Add VirtualFull for bat.
 kes  Changes to get read storage correct for Virtual Backup.
 14Jul08