]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/filed/verify_vol.c
First cut of bat rerun a Job from Jobs Run
[bacula/bacula] / bacula / src / filed / verify_vol.c
index bd94ad3a6589fbcdc1ff28347437b5c747713b75..bf0ef5c8cf896ff2d3ab9c6e1924597451c3179e 100644 (file)
@@ -1,21 +1,12 @@
-/*
- *  Bacula File Daemon  verify-vol.c Verify files on a Volume
- *    versus attributes in Catalog
- *
- *    Kern Sibbald, July MMII
- *
- *   Version $Id$
- *
- */
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2002-2006 Free Software Foundation Europe e.V.
+   Copyright (C) 2002-2010 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    This program is Free Software; you can redistribute it and/or
-   modify it under the terms of version two of the GNU General Public
+   modify it under the terms of version three of the GNU Affero General Public
    License as published by the Free Software Foundation and included
    in the file LICENSE.
 
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
+   You should have received a copy of the GNU Affero General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark of John Walker.
+   Bacula® is a registered trademark of Kern Sibbald.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
 */
+/*
+ *  Bacula File Daemon  verify-vol.c Verify files on a Volume
+ *    versus attributes in Catalog
+ *
+ *    Kern Sibbald, July MMII
+ *
+ */
 
 #include "bacula.h"
 #include "filed.h"
@@ -147,12 +145,6 @@ void do_verify_volume(JCR *jcr)
             goto bail_out;
          }
          Dmsg2(30, "Got Attr: FilInx=%d type=%d\n", record_file_index, type);
-         if (record_file_index != file_index) {
-            Jmsg(jcr, M_FATAL, 0, _("Record header file index %ld not equal record index %ld\n"),
-               file_index, record_file_index);
-            Dmsg0(0, "File index error\n");
-            goto bail_out;
-         }
          ap = sd->msg;
          while (*ap++ != ' ')         /* skip record file index */
             ;
@@ -199,6 +191,11 @@ void do_verify_volume(JCR *jcr)
             stat = bnet_fsend(dir, "%d %d %s %s%c%s%c%s%c", jcr->JobFiles,
                           STREAM_UNIX_ATTRIBUTES, "pinsug5", fname,
                           0, ap, 0, lname, 0);
+         /* for a deleted record, we set fileindex=0 */
+         } else if (type == FT_DELETED)  {
+            stat = bnet_fsend(dir,"%d %d %s %s%c%s%c%c", 0,
+                          STREAM_UNIX_ATTRIBUTES, "pinsug5", fname,
+                          0, ap, 0, 0);
          } else {
             stat = bnet_fsend(dir,"%d %d %s %s%c%s%c%c", jcr->JobFiles,
                           STREAM_UNIX_ATTRIBUTES, "pinsug5", fname,
@@ -211,19 +208,6 @@ void do_verify_volume(JCR *jcr)
          }
          break;
 
-      /* Data streams to ignore */
-      case STREAM_ENCRYPTED_SESSION_DATA:
-      case STREAM_FILE_DATA:
-      case STREAM_SPARSE_DATA:
-      case STREAM_WIN32_DATA:
-      case STREAM_WIN32_GZIP_DATA:
-      case STREAM_GZIP_DATA:
-      case STREAM_SPARSE_GZIP_DATA:
-      case STREAM_SIGNED_DIGEST:
-
-        /* Do nothing */
-        break;
-
       case STREAM_MD5_DIGEST:
          bin_to_base64(digest, sizeof(digest), (char *)sd->msg, CRYPTO_DIGEST_MD5_SIZE, true);
          Dmsg2(400, "send inx=%d MD5=%s\n", jcr->JobFiles, digest);
@@ -256,9 +240,10 @@ void do_verify_volume(JCR *jcr)
          Dmsg2(20, "bfiled>bdird: SHA512 len=%d: msg=%s\n", dir->msglen, dir->msg);
          break;
 
+      /* Ignore everything else */
       default:
-         Pmsg2(0, "None of above!!! stream=%d data=%s\n", stream,sd->msg);
          break;
+
       } /* end switch */
    } /* end while bnet_get */
    set_jcr_job_status(jcr, JS_Terminated);