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