]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/dird/ua_purge.c
Disabled ActionOnPurge waiting for a fix
[bacula/bacula] / bacula / src / dird / ua_purge.c
index 149072b06660fac3301a6ad4ec9f625d8c7f69d7..c031febc125efd5a4ea8916b6cbf0b01e8408dc3 100644 (file)
@@ -283,6 +283,10 @@ void purge_files_from_jobs(UAContext *ua, char *jobs)
    db_sql_query(ua->db, query.c_str(), NULL, (void *)NULL);
    Dmsg1(050, "Delete File sql=%s\n", query.c_str());
 
+   Mmsg(query, "DELETE FROM BaseFiles WHERE JobId IN (%s)", jobs);
+   db_sql_query(ua->db, query.c_str(), NULL, (void *)NULL);
+   Dmsg1(050, "Delete BaseFiles sql=%s\n", query.c_str());
+
    /*
     * Now mark Job as having files purged. This is necessary to
     * avoid having too many Jobs to process in future prunings. If
@@ -573,6 +577,7 @@ static BSOCK *open_sd_bsock(UAContext *ua)
  */
 bool mark_media_purged(UAContext *ua, MEDIA_DBR *mr)
 {
+   char dev_name[MAX_NAME_LENGTH];
    JCR *jcr = ua->jcr;
    if (strcmp(mr->VolStatus, "Append") == 0 ||
        strcmp(mr->VolStatus, "Full")   == 0 ||
@@ -583,15 +588,19 @@ bool mark_media_purged(UAContext *ua, MEDIA_DBR *mr)
          return false;
       }
 
+/* Code currently disabled */
+#if 0
       if (mr->ActionOnPurge > 0) {
          /* Send the command to truncate the volume after purge. If this feature
           * is disabled for the specific device, this will be a no-op.
           */
          BSOCK *sd;
          if ((sd=open_sd_bsock(ua)) != NULL) {
+            bstrncpy(dev_name, ua->jcr->wstore->dev_name(), sizeof(dev_name));
+            bash_spaces(dev_name);
             bash_spaces(mr->VolumeName);
             sd->fsend("action_on_purge %s vol=%s action=%d",
-                      ua->jcr->wstore->dev_name(),
+                      dev_name,
                      mr->VolumeName,
                      mr->ActionOnPurge);
             unbash_spaces(mr->VolumeName);
@@ -607,6 +616,7 @@ bool mark_media_purged(UAContext *ua, MEDIA_DBR *mr)
            return false;
         }
       }
+#endif
 
       pm_strcpy(jcr->VolumeName, mr->VolumeName);
       generate_job_event(jcr, "VolumePurged");