]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix migration code broken by previous virtual backup fix
authorKern Sibbald <kern@sibbald.com>
Fri, 29 Aug 2008 02:42:56 +0000 (02:42 +0000)
committerKern Sibbald <kern@sibbald.com>
Fri, 29 Aug 2008 02:42:56 +0000 (02:42 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@7524 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/stored/mac.c
bacula/src/version.h
bacula/technotes-2.5

index d988114b3b6332a1f9c4d038284e17e7a118f11f..de22d4f15b08ceb4a4926b3a655b0de67f308ab6 100644 (file)
@@ -208,22 +208,26 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec)
    case EOM_LABEL:
       return true;                    /* don't write vol labels */
    }
-   /*
-    * For normal migration jobs, FileIndex values are sequential because
-    *  we are dealing with one job.  However, for Vbackup (consolidation),
-    *  we will be getting records from multiple jobs and writing them back
-    *  out, so we need to ensure that the output FileIndex is sequential.
-    *  We do so by detecting a FileIndex change and incrementing the
-    *  JobFiles, which we then use as the output FileIndex.
-    */
-   if (rec->VolSessionId != last_VolSessionId || 
-       rec->VolSessionTime != last_VolSessionTime ||
-       (rec->FileIndex > 0 && rec->FileIndex != last_FileIndex)) {
-      jcr->JobFiles++;
-      last_VolSessionId = rec->VolSessionId;
-      last_VolSessionTime = rec->VolSessionTime;
-      last_FileIndex = rec->FileIndex;
-      rec->FileIndex = jcr->JobFiles;     /* set sequential output FileIndex */
+   if (jcr->get_JobType() == JT_BACKUP) {
+      /*
+       * For normal migration jobs, FileIndex values are sequential because
+       *  we are dealing with one job.  However, for Vbackup (consolidation),
+       *  we will be getting records from multiple jobs and writing them back
+       *  out, so we need to ensure that the output FileIndex is sequential.
+       *  We do so by detecting a FileIndex change and incrementing the
+       *  JobFiles, which we then use as the output FileIndex.
+       */
+      if (rec->VolSessionId != last_VolSessionId || 
+          rec->VolSessionTime != last_VolSessionTime ||
+          (rec->FileIndex > 0 && rec->FileIndex != last_FileIndex)) {
+         jcr->JobFiles++;
+         last_VolSessionId = rec->VolSessionId;
+         last_VolSessionTime = rec->VolSessionTime;
+         last_FileIndex = rec->FileIndex;
+      }
+      if (rec->FileIndex > 0) {
+         rec->FileIndex = jcr->JobFiles;     /* set sequential output FileIndex */
+      }
    }
    /*
     * Modify record SessionId and SessionTime to correspond to
index 363eb9c58a57117ce03de1c0bd10fcf8bc9bf997..66506f3234e29171d43caad3b42d85b15f565ba7 100644 (file)
@@ -4,8 +4,8 @@
 
 #undef  VERSION
 #define VERSION "2.5.3"
-#define BDATE   "28 Aug 2008"
-#define LSMDATE "28Aug08"
+#define BDATE   "29 Aug 2008"
+#define LSMDATE "29Aug08"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2008 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2008"       /* year for copyright messages in progs */
index e06dec0029446fa48f6888f489bccf89c4940a35..47682f1f14c74a0127cfd9327eeb6658cde08aab 100644 (file)
@@ -32,6 +32,8 @@ separator in console (!$%&'()*+,-/:;<>?[]^`{|}~)
 
 
 General:
+29Aug08
+kes  Fix migration code broken by previous virtual backup fix.
 28Aug08
 kes  Fix problem of Virtual backup not writing a sequential FileIndex.
 kes  Reset Virtual backup time/date to the value from the last backup.