]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/migrate.c
- Tweak catalog make scripts.
[bacula/bacula] / bacula / src / dird / migrate.c
index defc5e504a00b3e448236ba01388ccf56ac1a9b9..e30fb296500ac96563c7649db67defb940ff1a22 100644 (file)
@@ -271,11 +271,16 @@ bool do_migration(JCR *jcr)
    wait_for_storage_daemon_termination(jcr);
 
    set_jcr_job_status(jcr, jcr->SDJobStatus);
-   if (jcr->JobStatus == JS_Terminated) {
-      migration_cleanup(jcr, jcr->JobStatus);
-      return true;
+   if (jcr->JobStatus != JS_Terminated) {
+      return false;
    }
-   return false;
+   migration_cleanup(jcr, jcr->JobStatus);
+   if (prev_jcr) {
+      UAContext *ua = new_ua_context(jcr);
+      purge_files_from_job(ua, jcr->previous_jr.JobId);
+      free_ua_context(ua);
+   }
+   return true;
 }
 
 struct idpkt {
@@ -340,7 +345,7 @@ const char *sql_job =
 
 /* Get JobIds from regex'ed Job names */
 const char *sql_jobids_from_job =
-   "SELECT DISTINCT Job.JobId FROM Job,Pool"
+   "SELECT DISTINCT Job.JobId,Job.StartTime FROM Job,Pool"
    " WHERE Job.Name='%s' AND Pool.Name='%s' AND Job.PoolId=Pool.PoolId"
    " ORDER by Job.StartTime";
 
@@ -352,7 +357,7 @@ const char *sql_client =
 
 /* Get JobIds from regex'ed Client names */
 const char *sql_jobids_from_client =
-   "SELECT DISTINCT Job.JobId FROM Job,Pool"
+   "SELECT DISTINCT Job.JobId,Job.StartTime FROM Job,Pool"
    " WHERE Client.Name='%s' AND Pool.Name='%s' AND Job.PoolId=Pool.PoolId"
    " AND Job.ClientId=Client.ClientId "
    " ORDER by Job.StartTime";
@@ -365,7 +370,7 @@ const char *sql_vol =
 
 /* Get JobIds from regex'ed Volume names */
 const char *sql_jobids_from_vol =
-   "SELECT DISTINCT Job.JobId FROM Media,JobMedia,Job"
+   "SELECT DISTINCT Job.JobId,Job.StartTime FROM Media,JobMedia,Job"
    " WHERE Media.VolumeName='%s' AND Media.MediaId=JobMedia.MediaId"
    " AND JobMedia.JobId=Job.JobId" 
    " ORDER by Job.StartTime";
@@ -387,7 +392,7 @@ const char *sql_oldest_vol =
    " ORDER BY LastWritten ASC LIMIT 1";
 
 const char *sql_jobids_from_mediaid =
-   "SELECT DISTINCT Job.JobId FROM JobMedia,Job"
+   "SELECT DISTINCT Job.JobId,Job.StartTime FROM JobMedia,Job"
    " WHERE JobMedia.JobId=Job.JobId AND JobMedia.MediaId=%s"
    " ORDER by Job.StartTime";