]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix restore spanning volumes
authorKern Sibbald <kern@sibbald.com>
Sat, 2 Aug 2003 19:49:18 +0000 (19:49 +0000)
committerKern Sibbald <kern@sibbald.com>
Sat, 2 Aug 2003 19:49:18 +0000 (19:49 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@658 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/ChangeLog
bacula/CheckList
bacula/src/dird/bsr.c
bacula/src/version.h

index 0c7bf25f70e214faa83ce4884c51a2e403ac848a..fe57758ad63d1f97adde17728b67b01724ccc22d 100644 (file)
@@ -1,5 +1,10 @@
 
-2003-08-02 Version 1.31 30Jul03 Released
+2003-08-02 Version 1.31a 02Aug03 Released
+- Yifang Dai reported a case where he stress tested Bacula and
+  backed up to four volumes, but only two were selected for the
+  restore. This is because I forgot that the selection could
+  span a volume entirely.
+
 - Added a missing CLIENT_FOUND_ROWS to the second attempt to open
   the MySQL database -- this prevents UPDATE errors if nothing
   actually changed.
index 64aa5787d4f2956859b203c76dcbdee1aea7ef94..ff26ed374ba20c6aadb3de2120a4ffdce661ef98 100644 (file)
@@ -15,4 +15,4 @@
 - cvs -q tag Release-1_nn
 - cd bacula
 - rm -rf bacula-1.nn
-- cvs -q export -r Release-1_nn -d bacula-1.nn bacula
+- cvs -z3 export -r Release-1_nn -d bacula-1.nn bacula
index f843a6f20d59297b13a54c43638cb9a7977a41e1..1280b87ad272b581c1fe56a8569d5e7ce7528fc7 100644 (file)
@@ -79,12 +79,17 @@ static void write_findex(UAContext *ua, RBSR_FINDEX *fi,
    }
 }
 
+/*
+ * Find out if Volume defined with FirstIndex and LastIndex
+ *   falls within the range of selected files in the bsr.
+ */
 static bool is_volume_selected(RBSR_FINDEX *fi, 
              int32_t FirstIndex, int32_t LastIndex) 
 {
    if (fi) {
       if ((fi->findex >= FirstIndex && fi->findex <= LastIndex) ||
-         (fi->findex2 >= FirstIndex && fi->findex2 <= LastIndex)) {
+         (fi->findex2 >= FirstIndex && fi->findex2 <= LastIndex) ||
+         (fi->findex < FirstIndex && fi->findex2 > LastIndex)) {
         return true;
       }
       return is_volume_selected(fi->next, FirstIndex, LastIndex);
index 7c2a606e2f3619d5568126752af6846a1898eb29..3e26c96c2dbe49e84417837dfe6d75606741fb1b 100644 (file)
@@ -1,8 +1,8 @@
 /* */
-#define VERSION "1.31"
+#define VERSION "1.31a"
 #define VSTRING "1"
-#define BDATE   "30 Jul 2003"
-#define LSMDATE "30Jul03"
+#define BDATE   "02 Aug 2003"
+#define LSMDATE "02Aug03"
 
 /* Debug flags */
 #define DEBUG 1