]> git.sur5r.net Git - bacula/bacula/blob - bacula/patches/2.4.2-migration-deadlock.patch
ba43d2fee5a50bff937b6e701a1d9041ad617182
[bacula/bacula] / bacula / patches / 2.4.2-migration-deadlock.patch
1
2   This patch fixes migration SQL not to migrate a job that has not 
3   terminated, or in otherwords do not migrate a running job.
4   This is a partial fix to bug #1164.
5
6   Any prior patches to src/dird/migration must already be applied.
7   Apply it to 2.4.2 with:
8
9   cd <bacula-source>
10   patch -p0 <2.4.2-migration-deadlock.patch
11   ./configure <your-options>
12   make
13   ...
14   make install
15
16
17 Index: src/dird/migrate.c
18 ===================================================================
19 --- src/dird/migrate.c  (revision 7729)
20 +++ src/dird/migrate.c  (working copy)
21 @@ -554,7 +554,7 @@
22  const char *sql_jobids_from_mediaid =
23     "SELECT DISTINCT Job.JobId,Job.StartTime FROM JobMedia,Job"
24     " WHERE JobMedia.JobId=Job.JobId AND JobMedia.MediaId IN (%s)"
25 -   " AND Job.Type='B'"
26 +   " AND Job.Type='B' AND Job.JobStatus = 'T'"
27     " ORDER by Job.StartTime";
28  
29  /* Get the number of bytes in the pool */
30 @@ -563,7 +563,7 @@
31     " (SELECT DISTINCT Job.JobId from Pool,Job,Media,JobMedia WHERE"
32     " Pool.Name='%s' AND Media.PoolId=Pool.PoolId AND"
33     " VolStatus in ('Full','Used','Error','Append') AND Media.Enabled=1 AND"
34 -   " Job.Type='B' AND"
35 +   " Job.Type='B' AND Job.JobStatus = 'T' AND"
36     " JobMedia.JobId=Job.JobId AND Job.PoolId=Media.PoolId)";
37  
38  /* Get the number of bytes in the Jobs */
39 @@ -582,7 +582,7 @@
40     "SELECT DISTINCT Job.JobId from Pool,Job,Media,JobMedia WHERE"
41     " Pool.Name='%s' AND Media.PoolId=Pool.PoolId AND"
42     " VolStatus in ('Full','Used','Error') AND Media.Enabled=1 AND"
43 -   " Job.Type='B' AND"
44 +   " Job.Type='B' AND Job.JobStatus = 'T' AND"
45     " JobMedia.JobId=Job.JobId AND Job.PoolId=Media.PoolId"
46     " AND Job.RealEndTime<='%s'";
47