]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Modify the Verify output to specify if files are missing on
authorKern Sibbald <kern@sibbald.com>
Tue, 7 Aug 2007 16:01:19 +0000 (16:01 +0000)
committerKern Sibbald <kern@sibbald.com>
Tue, 7 Aug 2007 16:01:19 +0000 (16:01 +0000)
     the Volume(s) or disk.  Fixes confusion in bug #916.
kes  When more than one Volume is read in a migration job, the last
     Volume bytes reported are from the last read volume rather than
     the last written volume. Fixed. This fixes bug #910.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@5300 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/dird/migrate.c
bacula/src/dird/verify.c
bacula/technotes-2.1

index 32afb06a95a9a5802cdb79d9f90e53dfcd4ba7e2..223328c1f561b55f12f69988ffb65f4b5f7e9f91 100644 (file)
@@ -1079,12 +1079,6 @@ void migration_cleanup(JCR *jcr, int TermCode)
          set_jcr_job_status(jcr, JS_ErrorTerminated);
       }
 
-      bstrncpy(mr.VolumeName, jcr->VolumeName, sizeof(mr.VolumeName));
-      if (!db_get_media_record(jcr, jcr->db, &mr)) {
-         Jmsg(jcr, M_WARNING, 0, _("Error getting Media record for Volume \"%s\": ERR=%s"),
-            mr.VolumeName, db_strerror(jcr->db));
-         set_jcr_job_status(jcr, JS_ErrorTerminated);
-      }
 
       update_bootstrap_file(mig_jcr);
 
@@ -1100,6 +1094,20 @@ void migration_cleanup(JCR *jcr, int TermCode)
          }
          mig_jcr->VolumeName[0] = 0;         /* none */
       }
+
+      if (mig_jcr->VolumeName[0]) {
+         /* Find last volume name. Multiple vols are separated by | */
+         char *p = strrchr(mig_jcr->VolumeName, '|');
+         if (!p) {
+            p = mig_jcr->VolumeName;
+         }
+         bstrncpy(mr.VolumeName, p, sizeof(mr.VolumeName));
+         if (!db_get_media_record(jcr, jcr->db, &mr)) {
+            Jmsg(jcr, M_WARNING, 0, _("Error getting Media record for Volume \"%s\": ERR=%s"),
+               mr.VolumeName, db_strerror(jcr->db));
+         }
+      }
+
       switch (jcr->JobStatus) {
       case JS_Terminated:
          if (jcr->Errors || jcr->SDErrors) {
index f32c73872311ce9e29d973680ddac6fcb75df213..85651452b400a9aa03d5051029114deb39c82ba1 100644 (file)
@@ -470,7 +470,7 @@ void verify_cleanup(JCR *jcr, int TermCode)
          jcr->jr.Job,
          jcr->fileset->hdr.name,
          level_to_str(jcr->JobLevel),
-         jcr->client->hdr.name,
+         jcr->client->name(),
          jcr->previous_jr.JobId,
          Name,
          sdt,
@@ -761,8 +761,8 @@ static int missing_handler(void *ctx, int num_fields, char **row)
       return 1;
    }
    if (!jcr->fn_printed) {
-      Jmsg(jcr, M_INFO, 0, "\n");
-      Jmsg(jcr, M_INFO, 0, _("The following files are in the Catalog but not on disk:\n"));
+      Jmsg(jcr, M_INFO, 0, _("\nThe following files are in the Catalog but not on %s:\n"),
+       jcr->JobLevel == L_VERIFY_VOLUME_TO_CATALOG ? "the Volume(s)" : "disk");
       jcr->fn_printed = true;
    }
    Jmsg(jcr, M_INFO, 0, "      %s%s\n", row[0]?row[0]:"", row[1]?row[1]:"");
@@ -777,6 +777,6 @@ static void prt_fname(JCR *jcr)
 {
    if (!jcr->fn_printed) {
       Jmsg(jcr, M_INFO, 0, _("File: %s\n"), jcr->fname);
-      jcr->fn_printed = TRUE;
+      jcr->fn_printed = true;
    }
 }
index 6454893fe8e034435219cb7c6aa75584df70ca16..b43d5e65605d6224c9300d2267158383d605af0c 100644 (file)
@@ -2,6 +2,11 @@
 
 General:
 07Aug07 
+kes  Modify the Verify output to specify if files are missing on    
+     the Volume(s) or disk.  Fixes confusion in bug #916.
+kes  When more than one Volume is read in a migration job, the last
+     Volume bytes reported are from the last read volume rather than
+     the last written volume. Fixed. This fixes bug #910.
 kes  Fix display of Recycle flag after update volume=foo recycle=yes.
      It previously printed New Recyle flag is: no. This fixes bug
      #917.