]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl Add patch for #1190
authorEric Bollengier <eric@eb.homelinux.org>
Thu, 11 Dec 2008 19:53:38 +0000 (19:53 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Thu, 11 Dec 2008 19:53:38 +0000 (19:53 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@8141 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/patches/testing/fix_1190.patch [new file with mode: 0644]

diff --git a/bacula/patches/testing/fix_1190.patch b/bacula/patches/testing/fix_1190.patch
new file mode 100644 (file)
index 0000000..a80b076
--- /dev/null
@@ -0,0 +1,66 @@
+Index: src/stored/match_bsr.c
+===================================================================
+--- src/stored/match_bsr.c     (rĂ©vision 8116)
++++ src/stored/match_bsr.c     (copie de travail)
+@@ -317,6 +317,7 @@
+          return_bsr = bsr;
+       }
+    }
++   Dmsg1(dbglevel, "find_smallest_volfile done=%i\n", return_bsr->done);
+    return return_bsr;
+ }
+@@ -607,14 +608,6 @@
+ static int match_volblock(BSR *bsr, BSR_VOLBLOCK *volblock, DEV_RECORD *rec, bool done)
+ {
+-   /*
+-    * Currently block matching does not work correctly for disk
+-    * files in all cases, so it is "turned off" by the following 
+-    * return statement.
+-    */
+-   return 1;
+-
+-
+    if (!volblock) {
+       return 1;                       /* no specification matches all */
+    }
+Index: src/stored/read_record.c
+===================================================================
+--- src/stored/read_record.c   (rĂ©vision 8116)
++++ src/stored/read_record.c   (copie de travail)
+@@ -160,7 +160,6 @@
+          }
+       }
+       Dmsg2(dbglvl, "Read new block at pos=%u:%u\n", dev->file, dev->block_num);
+-#ifdef if_and_when_FAST_BLOCK_REJECTION_is_working
+       /* this does not stop when file/block are too big */
+       if (!match_bsr_block(jcr->bsr, block)) {
+          if (try_repositioning(jcr, rec, dcr)) {
+@@ -168,7 +167,6 @@
+          }
+          continue;                    /* skip this record */
+       }
+-#endif
+       /*
+        * Get a new record for each Job as defined by
+@@ -338,6 +336,7 @@
+       rec->Block = 0;
+       return true;
+    }
++   Dmsg1(dbglvl, "try_repositioning bsr=0x%p\n", bsr);
+    if (bsr) {
+       /*
+        * ***FIXME*** gross kludge to make disk seeking work.  Remove
+@@ -345,8 +344,8 @@
+        *   completed.
+        */
+       if (dev->file > bsr->volfile->sfile ||             
+-         (dev->file == bsr->volfile->sfile && dev->block_num > bsr->volblock->sblock)) {
+-         return false;
++          (dev->file == bsr->volfile->sfile && dev->block_num > bsr->volblock->sblock)) {
++         Jmsg(jcr, M_ERROR, 0, "Will read back to the media!!! %i > %i || (%i == %i && %i > %i)\n", dev->file, bsr->volfile->sfile, dev->file, bsr->volfile->sfile, dev->block_num, bsr->volblock->sblock);
+       }
+       if (verbose) {
+          Jmsg(jcr, M_INFO, 0, _("Reposition from (file:block) %u:%u to %u:%u\n"),