]> git.sur5r.net Git - bacula/bacula/commitdiff
Commit orphaned job fix
authorKern Sibbald <kern@sibbald.com>
Sun, 2 Nov 2008 13:54:49 +0000 (13:54 +0000)
committerKern Sibbald <kern@sibbald.com>
Sun, 2 Nov 2008 13:54:49 +0000 (13:54 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/branches/Branch-2.4@7967 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/patches/2.4.3-orphaned-jobs.patch [new file with mode: 0644]
bacula/patchnotes-2.4
bacula/src/dird/ua_prune.c
bacula/technotes-2.4

diff --git a/bacula/patches/2.4.3-orphaned-jobs.patch b/bacula/patches/2.4.3-orphaned-jobs.patch
new file mode 100644 (file)
index 0000000..6162c9e
--- /dev/null
@@ -0,0 +1,24 @@
+
+ This patch fixes a case of orphaned jobs (and possible deadlock)
+ during pruning.
+ Apply it to Bacula 2.4.3 (possibly earlier versions) with:
+
+ cd <bacula-source>
+ patch -p0 <2.4.3-orphaned-jobs.patch
+ ./configure <your-options>
+ make
+ ...
+ make install
+
+Index: src/dird/ua_prune.c
+===================================================================
+--- src/dird/ua_prune.c        (revision 7949)
++++ src/dird/ua_prune.c        (working copy)
+@@ -468,6 +468,7 @@
+             break;
+          }
+       }
++      endeach_jcr(jcr);
+       if (skip) {
+          continue;
+       }
index 6ac66e94393de685d30680df2a0b037f4e61cfc6..1a709a41c0dbfdf46a67a0234d40e5506385c985 100644 (file)
@@ -5,6 +5,7 @@ Patches Released to Source Forge:
 
 Patches Committed:
 28Oct08
+2.4.3-orphaned-jobs.patch
 2.4.3-migrate-log.patch
 2.4.3-migrate.patch
 2.4.3-prune.patch
@@ -12,6 +13,10 @@ Patches Committed:
 2.4.3-win32-runscript-unicode-path.patch
 
 Patches being Tested:
+02Nov08
+2.4.3-orphaned-jobs.patch
+kes  This patch fixes a case of orphaned jobs (and possible deadlock)
+     during pruning.
 28Oct08
 2.4.3-migrate-log.patch
 kes This patch should cause all Job Log records to be migrated when the
index 19bc1d4f6e31d5966ded9475bc79dc89cffc3b0d..3d91cc2329d0ca03d73b7dbfc69be1ab1b45818a 100644 (file)
@@ -468,6 +468,7 @@ int get_prune_list_for_volume(UAContext *ua, MEDIA_DBR *mr, del_ctx *del)
             break;
          }
       }
+      endeach_jcr(jcr);
       if (skip) {
          continue;
       }
index 7a363ea640b66ba368b9f654838bb7e1c79a5141..01548ef6a1fc46429766a4e80bb0fb1fb0852426 100644 (file)
@@ -1,6 +1,8 @@
               Technical notes on version 2.4
 
 General:
+02Nov08
+kes  Fix orphaned jobs (possible deadlock) while pruning.
 31Oct08
 ebl  Backport of the btraceback script that keeps trace file on working dir
 28Oct08
@@ -8,7 +10,7 @@ kes  Migrate DB Log records too. This fixes last part of bug #1171.
 24Oct08
 kes  Modify SQL so that jobs that failed will not be migrated.
 kes  Correct bug where long retention periods caused immediate
-     prunning.
+     pruning.
 
 Release Version 2.4.3   
 27Oct08
@@ -69,7 +71,7 @@ kes  Break the do_swapping into do_unload, do_swapping, and
 kes  Implement a set_dcr_from_vol subroutine in acquire.c for
      reading volumes. This allows the dcr to be refreshed after being
      zapped when the wrong volume is mounted.
-     This should fix bug #1126 -- During multiple tape restore, bacula
+     This should fix bug #1126 -- During multiple tape restore, Bacula
      does not ask for physical tape change, but rereads same tape
 23Jul08
 kes  Apply patch submitted for bug #1107 with a small modification.
@@ -129,7 +131,7 @@ Release Beta version 2.4.1-b1
 kes  Back out bad src/lib/base64.c change.
 27Jun08
 kes  Generally clean up the manual tape loading code. The main
-     conceptial change is that when a volume is marked to be unloaded,
+     conceptual change is that when a volume is marked to be unloaded,
      its volume name is retained, and it is only marked as unloaded
      when either the autoloader says it is unloaded or another tape
      is read on that drive.