ports/132314: [MAINTAINER-UPDATE] sysutils/bacula-server patch to fix very annoying bug
Dan Langille
dan at langille.org
Wed Mar 4 17:20:01 UTC 2009
>Number: 132314
>Category: ports
>Synopsis: [MAINTAINER-UPDATE] sysutils/bacula-server patch to fix very annoying bug
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Wed Mar 04 17:20:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Dan Langille
>Release: FreeBSD 6.2-STABLE i386
>Organization:
The FreeBSD Diary
>Environment:
System: FreeBSD bast.example.org 6.2-STABLE FreeBSD 6.2-STABLE #3: Wed Feb 28 22:21:12 EST 2007 dan at bast.example.org:/usr/obj/usr/src/sys/BAST i386
>Description:
This patch fixes hang during multiple simultaneous backups.
see http://bugs.bacula.org/view.php?id=1213
There won't be another release for a few months, so we patch locally.
>How-To-Repeat:
>Fix:
--- bacula-stored.patch begins here ---
diff -ruN /usr/ports/sysutils/bacula-server/Makefile bacula-server/Makefile
--- /usr/ports/sysutils/bacula-server/Makefile 2009-01-06 12:59:23.000000000 -0500
+++ bacula-server/Makefile 2009-03-04 11:40:42.000000000 -0500
@@ -7,6 +7,7 @@
PORTNAME= bacula
DISTVERSION= 2.4.4
+PORTREVISION= 1
CATEGORIES?= sysutils
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= bacula
diff -ruN /usr/ports/sysutils/bacula-server/files/patch-src-stored-acquire.c bacula-server/files/patch-src-stored-acquire.c
--- /usr/ports/sysutils/bacula-server/files/patch-src-stored-acquire.c 1969-12-31 19:00:00.000000000 -0500
+++ bacula-server/files/patch-src-stored-acquire.c 2009-03-04 11:40:02.000000000 -0500
@@ -0,0 +1,23 @@
+Index: src/stored/acquire.c
+===================================================================
+--- src/stored/acquire.c (revision 8426)
++++ src/stored/acquire.c (working copy)
+@@ -1,7 +1,7 @@
+ /*
+ Bacula® - The Network Backup Solution
+
+- Copyright (C) 2002-2008 Free Software Foundation Europe e.V.
++ Copyright (C) 2002-2009 Free Software Foundation Europe e.V.
+
+ The main author of Bacula is Kern Sibbald, with contributions from
+ many others, a complete list can be found in the file AUTHORS.
+@@ -647,8 +647,8 @@
+
+ /* Detach this dcr only if attached */
+ if (dcr->attached_to_dev && dev) {
++ dev->dlock();
+ dcr->unreserve_device();
+- dev->dlock();
+ dcr->dev->attached_dcrs->remove(dcr); /* detach dcr from device */
+ dcr->attached_to_dev = false;
+ // remove_dcr_from_dcrs(dcr); /* remove dcr from jcr list */
diff -ruN /usr/ports/sysutils/bacula-server/files/patch-src-stored-reserve.c bacula-server/files/patch-src-stored-reserve.c
--- /usr/ports/sysutils/bacula-server/files/patch-src-stored-reserve.c 1969-12-31 19:00:00.000000000 -0500
+++ bacula-server/files/patch-src-stored-reserve.c 2009-03-04 11:40:11.000000000 -0500
@@ -0,0 +1,28 @@
+Index: src/stored/reserve.c
+===================================================================
+--- src/stored/reserve.c (revision 8426)
++++ src/stored/reserve.c (working copy)
+@@ -1,7 +1,7 @@
+ /*
+ Bacula® - The Network Backup Solution
+
+- Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
++ Copyright (C) 2000-2009 Free Software Foundation Europe e.V.
+
+ The main author of Bacula is Kern Sibbald, with contributions from
+ many others, a complete list can be found in the file AUTHORS.
+@@ -498,7 +498,6 @@
+ void DCR::unreserve_device()
+ {
+ lock_volumes();
+- dev->dlock();
+ if (is_reserved()) {
+ clear_reserved();
+ reserved_volume = false;
+@@ -514,7 +513,6 @@
+ volume_unused(this);
+ }
+ }
+- dev->dunlock();
+ unlock_volumes();
+ }
--- bacula-stored.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list