]> git.sur5r.net Git - bacula/bacula/commitdiff
Update 1.38.10 patches
authorKern Sibbald <kern@sibbald.com>
Sun, 25 Jun 2006 13:08:50 +0000 (13:08 +0000)
committerKern Sibbald <kern@sibbald.com>
Sun, 25 Jun 2006 13:08:50 +0000 (13:08 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@3073 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/patches/1.38.10-dvd-eof.patch [new file with mode: 0644]
bacula/patches/1.38.10-scheduler.patch [new file with mode: 0644]

diff --git a/bacula/patches/1.38.10-dvd-eof.patch b/bacula/patches/1.38.10-dvd-eof.patch
new file mode 100644 (file)
index 0000000..26cb3a7
--- /dev/null
@@ -0,0 +1,35 @@
+Index: src/stored/block.c
+===================================================================
+RCS file: /cvsroot/bacula/bacula/src/stored/block.c,v
+retrieving revision 1.116.2.3
+diff -u -u -b -r1.116.2.3 block.c
+--- src/stored/block.c 24 Mar 2006 16:35:23 -0000      1.116.2.3
++++ src/stored/block.c 12 Jun 2006 16:19:27 -0000
+@@ -9,7 +9,7 @@
+  *
+  */
+ /*
+-   Copyright (C) 2001-2005 Kern Sibbald
++   Copyright (C) 2001-2006 Kern Sibbald
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+@@ -910,13 +910,12 @@
+    Dmsg3(100, "Tests : %d %d %d\n", (dev->VolCatInfo.VolCatParts > 0), 
+          ((dev->file_addr-dev->part_start) == dev->part_size), 
+          (dev->part <= dev->VolCatInfo.VolCatParts));*/
+-   /* Check for part file end */
+-   if ((dev->num_parts > 0) &&
+-        ((dev->file_addr-dev->part_start) == dev->part_size) && 
+-        (dev->part < dev->num_parts)) {
++   /* Check for DVD part file end */
++   if (dev->at_eof() && dev->is_dvd() && dev->num_parts > 0 &&
++        dev->part < dev->num_parts) {
+       if (dvd_open_next_part(dcr) < 0) {
+-         Jmsg2(dcr->jcr, M_FATAL, 0, _("Unable to open device next part %s: ERR=%s\n"),
+-               dev->print_name(), strerror_dev(dev));
++         Jmsg3(dcr->jcr, M_FATAL, 0, _("Unable to open device part=%d %s: ERR=%s\n"),
++               dev->part, dev->print_name(), strerror_dev(dev));
+          dev->dev_errno = EIO;
+          return false;
+       }
diff --git a/bacula/patches/1.38.10-scheduler.patch b/bacula/patches/1.38.10-scheduler.patch
new file mode 100644 (file)
index 0000000..292c4d6
--- /dev/null
@@ -0,0 +1,28 @@
+
+ This patch should correct the FreeBSD mutex crash that happens in
+ the Director after a sudden clock shift or after the "reload" command.
+ Apply it to 1.38.10 (will not work with prior version) with:
+
+  cd <bacula-source>
+  patch -p0 <1.38.10-scheduler.patch
+  make
+  make install
+  ...
+
+
+
+Index: src/dird/scheduler.c
+===================================================================
+RCS file: /cvsroot/bacula/bacula/src/dird/scheduler.c,v
+retrieving revision 1.33.2.2
+diff -u -r1.33.2.2 scheduler.c
+--- src/dird/scheduler.c       4 Jun 2006 12:24:39 -0000       1.33.2.2
++++ src/dird/scheduler.c       24 Jun 2006 17:25:58 -0000
+@@ -151,6 +151,7 @@
+               free(next_job);
+           }
+           schedules_invalidated = false;
++          unlock_jobs();
+           goto again;
+       }
+       unlock_jobs();