]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/job.c
Implement MaxVirtualFullInterval
[bacula/bacula] / bacula / src / dird / job.c
index 75840f601c4c0405537cfbe7c4b7ff02363f2dbd..9ed9c27083800a0e2bb744e0382249e03939c9eb 100644 (file)
@@ -118,7 +118,10 @@ bool setup_job(JCR *jcr)
    jcr->db = db_init_database(jcr, jcr->catalog->db_driver, jcr->catalog->db_name,
                 jcr->catalog->db_user, jcr->catalog->db_password,
                 jcr->catalog->db_address, jcr->catalog->db_port,
-                jcr->catalog->db_socket, jcr->catalog->mult_db_connections,
+                jcr->catalog->db_socket, jcr->catalog->db_ssl_key,
+                jcr->catalog->db_ssl_cert, jcr->catalog->db_ssl_ca,
+                jcr->catalog->db_ssl_capath, jcr->catalog->db_ssl_cipher,
+                jcr->catalog->mult_db_connections,
                 jcr->catalog->disable_batch_insert);
    if (!jcr->db || !db_open_database(jcr, jcr->db)) {
       Jmsg(jcr, M_FATAL, 0, _("Could not open database \"%s\".\n"),
@@ -266,7 +269,10 @@ static bool setup_resume_job(JCR *jcr, JOB_DBR *jr)
    jcr->db = db_init_database(jcr, jcr->catalog->db_driver, jcr->catalog->db_name,
                               jcr->catalog->db_user, jcr->catalog->db_password,
                               jcr->catalog->db_address, jcr->catalog->db_port,
-                              jcr->catalog->db_socket, jcr->catalog->mult_db_connections,
+                              jcr->catalog->db_socket, jcr->catalog->db_ssl_key,
+                              jcr->catalog->db_ssl_cert, jcr->catalog->db_ssl_ca,
+                              jcr->catalog->db_ssl_capath, jcr->catalog->db_ssl_cipher,
+                              jcr->catalog->mult_db_connections,
                               jcr->catalog->disable_batch_insert);
    if (!jcr->db || !db_open_database(jcr, jcr->db)) {
       Jmsg(jcr, M_FATAL, 0, _("Could not open database \"%s\".\n"),
@@ -1169,6 +1175,17 @@ void apply_pool_overrides(JCR *jcr)
          }
       }
       break;
+   case L_VIRTUAL_FULL:
+      if (jcr->vfull_pool) {
+         jcr->pool = jcr->vfull_pool;
+         pool_override = true;
+         if (jcr->run_vfull_pool_override) {
+            pm_strcpy(jcr->pool_source, _("Run VFullPool override"));
+         } else {
+            pm_strcpy(jcr->pool_source, _("Job VFullPool override"));
+         }
+      }
+      break;
    case L_INCREMENTAL:
       if (jcr->inc_pool) {
          jcr->pool = jcr->inc_pool;
@@ -1433,6 +1450,7 @@ void dird_free_jcr(JCR *jcr)
    free_and_null_pool_memory(jcr->rpool_source);
    free_and_null_pool_memory(jcr->wstore_source);
    free_and_null_pool_memory(jcr->rstore_source);
+   free_and_null_pool_memory(jcr->next_vol_list);
 
    /* Delete lists setup to hold storage pointers */
    free_rwstorage(jcr);
@@ -1495,7 +1513,9 @@ void set_jcr_defaults(JCR *jcr, JOB *job)
       jcr->setJobLevel(job->JobLevel);
       break;
    }
-
+   if (!jcr->next_vol_list) {
+      jcr->next_vol_list = get_pool_memory(PM_FNAME);
+   }
    if (!jcr->fname) {
       jcr->fname = get_pool_memory(PM_FNAME);
    }
@@ -1534,6 +1554,7 @@ void set_jcr_defaults(JCR *jcr, JOB *job)
       pm_strcpy(jcr->next_pool_source, _("Job Pool's NextPool resource"));
    }
    jcr->full_pool = job->full_pool;
+   jcr->vfull_pool = job->vfull_pool;
    jcr->inc_pool = job->inc_pool;
    jcr->diff_pool = job->diff_pool;
    if (job->pool->catalog) {