From 9dd6ce87c91518356d7f058799d57e8aa0e097cf Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Thu, 8 Dec 2005 20:32:17 +0000 Subject: [PATCH] - Apply patch supplied by user (slightly modified) to fix correct detection of holes in block devices and FIFOs. Bug # 506. - Apply patch supplied by user (slightly modified) to fix SD hang with multiple pools and bad client IP. Fixes bug # 508. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@2653 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/kernstodo | 4 +--- bacula/kes-1.38 | 14 +++++++------- bacula/kes-1.39 | 9 +++++++++ bacula/src/filed/backup.c | 4 +++- bacula/src/stored/acquire.c | 2 +- bacula/src/version.h | 4 ++-- 6 files changed, 23 insertions(+), 14 deletions(-) diff --git a/bacula/kernstodo b/bacula/kernstodo index 0e1013f55a..c57a9a624c 100644 --- a/bacula/kernstodo +++ b/bacula/kernstodo @@ -1,11 +1,9 @@ Kern's ToDo List - 30 November 2005 + 07 December 2005 Major development: Project Developer ======= ========= -Version 1.37 Kern (see below) -======================================================== Document: - Does ClientRunAfterJob fail the job on a bad return code? diff --git a/bacula/kes-1.38 b/bacula/kes-1.38 index f3491fef9a..e02f99b215 100644 --- a/bacula/kes-1.38 +++ b/bacula/kes-1.38 @@ -3,8 +3,8 @@ General: -Changes to 1.38.2: -20Oct05 +Changes to 1.38.2: 22 November 2005 +20Nov05 - Fix crash in tray-monitor when daemon disconnects. Bug #479. - Fix bnet-server bug found on OpenBSD. Bug #486 (bug originator says this does not fix *his* bug). @@ -17,8 +17,8 @@ Changes to 1.38.2: - Add Pool name to SD status output. - Add Python install dir for Solaris to configure. Bug #492 -Changes to 1.38.1: -14Oct05 +Changes to 1.38.1: 15 November 2005 +14Nov05 - Apply SunOS patch for ACLs submitted by David Duchscher. - Make sure to set storage before trying to set drive. - Add bacula_mail_summary.sh to examples directory. It makes @@ -26,7 +26,7 @@ Changes to 1.38.1: by Adrew J. Millar. - Make sure when we do a mount to unblock the device even if the drive could not be opened. -13Oct05 +13Nov05 - Merge Scott's new spec files. - Add doc on setting up Win32 environment variable supplied by Kees van den Broek. @@ -34,7 +34,7 @@ Changes to 1.38.1: the user. - Add Solaris ACL detection in configure.in as supplied by Attila Fulop. -12Oct05 +12Nov05 - Implement "autochanger drives" protocol so that Dir knows how many drives an autochanger has. - Do not request drive number in label, ... if only one drive. @@ -47,7 +47,7 @@ Changes to 1.38.1: - Make a few error message numbers unique. - Make a few error messages more correct. - Apply patch from Thorsten to fix Win98 stat() command. -10Oct05 +10Nov05 - Remove delete of CVS from all makefiles. - Fix seg fault when clicking on Add button in wx-console restore panel. Bug #470. diff --git a/bacula/kes-1.39 b/bacula/kes-1.39 index 125c05baee..1a4bca88f1 100644 --- a/bacula/kes-1.39 +++ b/bacula/kes-1.39 @@ -4,7 +4,16 @@ General: Changes to 1.39.2: +08Dec05 +- Apply patch supplied by user (slightly modified) to fix + correct detection of holes in block devices and FIFOs. + Bug # 506. +- Apply patch supplied by user (slightly modified) + to fix SD hang with multiple pools and bad client + IP. Fixes bug # 508. 07Dec05 +- Add nagios plugin to the examples directory. Submitted by + Christian Masopust. - Remove warning message about multiple saves of hardlinked files from find_one.c as it can generate too many warning messages. - Modify most restore error messages to be queued so that they diff --git a/bacula/src/filed/backup.c b/bacula/src/filed/backup.c index e25d7d0f86..9ba76b4168 100644 --- a/bacula/src/filed/backup.c +++ b/bacula/src/filed/backup.c @@ -553,7 +553,9 @@ int send_data(JCR *jcr, int stream, FF_PKT *ff_pkt, DIGEST *digest, DIGEST *sign if (ff_pkt->flags & FO_SPARSE) { ser_declare; if (sd->msglen == rsize && - (fileAddr+sd->msglen < (uint64_t)ff_pkt->statp.st_size)) { + fileAddr+sd->msglen < (uint64_t)ff_pkt->statp.st_size || + ((ff_pkt->type == FT_RAW || ff_pkt->type == FT_FIFO) && + (uint64_t)ff_pkt->statp.st_size == 0)) { sparseBlock = is_buf_zero(rbuf, rsize); } diff --git a/bacula/src/stored/acquire.c b/bacula/src/stored/acquire.c index 4741c58375..b9d0338b46 100644 --- a/bacula/src/stored/acquire.c +++ b/bacula/src/stored/acquire.c @@ -111,6 +111,7 @@ void free_dcr(DCR *dcr) } free_unused_volume(dcr); /* free unused vols attached to this dcr */ free(dcr); + pthread_cond_broadcast(&wait_device_release); } /********************************************************************* @@ -511,6 +512,5 @@ bool release_device(DCR *dcr) } else { jcr->dcr = NULL; } - pthread_cond_broadcast(&wait_device_release); return ok; } diff --git a/bacula/src/version.h b/bacula/src/version.h index 5284968573..42ac09512c 100644 --- a/bacula/src/version.h +++ b/bacula/src/version.h @@ -4,8 +4,8 @@ #undef VERSION #define VERSION "1.39.2" -#define BDATE "07 December 2005" -#define LSMDATE "07Dec05" +#define BDATE "08 December 2005" +#define LSMDATE "08Dec05" /* Debug flags */ #undef DEBUG -- 2.39.5