[pkg-bacula-commits] [bacula] 01/01: Imported upstream version 7.4.0

Carsten Leonhardt leo at moszumanska.debian.org
Sun Jan 24 10:54:17 UTC 2016


This is an automated email from the git hooks/post-receive script.

leo pushed a commit to annotated tag upstream/7.4.0+dfsg
in repository bacula.

commit d8aaab46b1c7958dac3c368cca3a18adfe531eaa
Author: Carsten Leonhardt <leo at debian.org>
Date:   Sun Jan 24 11:50:53 2016 +0100

    Imported upstream version 7.4.0
    
    Changes from upstream:
    src/lib/sha1.{h,c}: (#658326) remove, DFSG-nonfree, RFC 3174
---
 AUTHORS                                      |   1 +
 ChangeLog                                    | 314 ++++++++++++++++++++++++++-
 ReleaseNotes                                 | 171 ++++++++++++++-
 configure                                    |  45 +++-
 src/cats/mysql.c                             |   2 +-
 src/cats/sql_list.c                          |  10 +-
 src/dird/backup.c                            |  25 ++-
 src/dird/dird_conf.h                         |   3 +
 src/dird/fd_cmds.c                           |  17 +-
 src/dird/job.c                               |  12 +
 src/dird/jobq.c                              |   2 +
 src/dird/run_conf.c                          |   4 +
 src/dird/scheduler.c                         |   4 +
 src/dird/vbackup.c                           |  24 +-
 src/jcr.h                                    |   2 +
 src/lib/bregex.c                             |   1 +
 src/qt-console/tray-monitor/authenticate.cpp |   2 +-
 src/stored/autochanger.c                     |  41 ++--
 src/stored/label.c                           |  11 +-
 src/version.h                                |   4 +-
 20 files changed, 631 insertions(+), 64 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 27ff6c8..462cc81 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -114,6 +114,7 @@ Scott Bailey
 Sergey Svishchev
 Simone Caronni
 Stefan Reddig
+Thomas Lohman
 Thomas Glatthor
 Thorsten Enge
 Tim Oberfoell
diff --git a/ChangeLog b/ChangeLog
index 9029f06..e2b91d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,318 @@
-              Changelog on version 7.2.0
+              Changelog on version 7.4.0
 
 
+Release Version 7.4.0
+
+
+
+14Jan16
+ - Put back missing line in copyright
+ - Update date
+ - Implement MaxVirtualFullInterval
+ - Update AUTHORS
+
+13Jan16
+ - Ensure relabel has latest vol info may fix bug #1412
+ - Update AUTHORS
+
+12Jan16
+ - Change license as per agreement with FSFE
+ - Apply Carsten's patch that fixes bug #2192 builds on kfreebsd
+ - Update AUTHORS file
+ - Add some additional tape slot debug code
+
+11Jan16
+ - baculum: Add Wanderlei Huttel to AUTHORS
+ - baculum: Enable Portuguese language on web interface
+ - baculum: Implement Portuguese language support
+ - baculum: Assign Baculum copyright to Kern Sibbald
+ - Add more debug to recycle-test
+ - More debug info when aborting
+
+10Jan16
+ - baculum: Fix sorting in restore by group most recent backups
+ - Change copyright as per agreement with FSFE
+ - Update po files
+ - Change copyright as per agreement with FSFE
+
+09Jan16
+ - baculum: Fix restore group most recent backups for MySQL
+
+06Jan16
+ - Fix FD DisableCommands
+
+05Jan16
+ - baculum: Fix to change user password
+
+04Jan16
+ - Add ExpiresIn field in list and llist media output
+ - Fix #1548 about Solaris SIGBUS with accurate mode backup
+
+02Jan16
+ - Change copyright as per agreement with FSFE + update copyright year
+ - Finish revert of patch
+ - Revert commit 1157f172ea1c3b3
+ - Update year to 2016
+ - Backport some Enterprise code to sql_list.c
+
+01Jan16
+ - Change copyright as per agreement with FSFE
+ - Add info message of #jobs consolidated in Virtual Full
+ - baculum: Unify user validation
+ - baculum: Fix showing bconsole test result in configuration wizard
+ - baculum: Fix auto-login after finishing wizard
+ - baculum: Check if auth data exists before log in try
+ - Add HasBase+Comment to llist Jobs
+ - Fix a few debug outputs that should be unsigned
+
+31Dec15
+ - baculum: Add php-xml to requirements
+ - Fix seg fault in btape fixes bug #2180
+ - Fix slight error in autoprune -- should fix bug #2151
+ - Change copyright as per agreement with FSFE
+ - baculum: Add first unit tests
+
+30Dec15
+ - Fix #1545 about fix in manual_prune.pl script with large number of volumes
+ - Fix false status output. Fixes bug #2103
+ - Integrate patch into latest version, which fixes bug #1882
+ - Fix bug #2090 correct detection of GCC
+ - baculum: Add support for terminated with warnings job status
+ - baculum: Hide users input on ESC key press
+ - baculum: Fix logout action on Apache web server
+ - baculum: Implement users management from web interface
+ - baculum: Prevent opening new sessions for each request
+
+27Dec15
+ - Fix CLANG warning messages -- fixes bug #2090
+ - Add new chio-changer-freebase from bug #2115
+ - Applied modified patch from bug#2117 to fix bpipe end of stream
+ - Apply patch from bug #2165 to fix the update sqlite3 script
+ - baculum: Rework access by restricted consoles
+
+26Dec15
+ - Fix update MD5 failure bug reported by Peter Keller
+
+25Dec15
+ - baculum: Add dashboard panel
+
+23Dec15
+ - Patch to add MySQL ssl access
+
+21Dec15
+ - Change copyright as per agreement with FSFE
+
+20Dec15
+ - Manually apply patch in bug #2156 to allow building on KFreeBSD
+ - Fix bug #2153 with patch submitted by Ana Arruda
+ - Prevent possible seg fault
+ - Fix possible seg fault if debug mode set
+ - baculum: Close console on press ESC key
+ - Change copyright as per agreement with FSFE
+ - baculum: Switch to started job status just after job start
+
+19Dec15
+ - baculum: Add possibility to open configuration windows from URL
+ - Fix restore when storage specified on command line
+ - baculum: Add jobbytes and media type to volumes list
+ - Set jcr in heartbeat thread of FD
+ - Remove not yet implemented from UA Verify Volume Data message
+
+18Dec15
+ - Fix restore of Windows streams to non-Windows machines
+ - Add new verify data test
+ - Implement level=Data to the Verify job
+ - baculum: Fix requirements path
+
+16Dec15
+ - Fix #1524 about bextract trace file location
+ - Partial modification of copyrights as per agreement with FSFE
+ - Fix truncate bug free_volume problem
+
+14Dec15
+ - baculum: Fix showing table header
+ - baculum: Search field works with all table cells
+
+13Dec15
+ - baculum: Do not refresh window lists if toolbar is open or elements are 
+  checked
+ - baculum: Remember sort order for data grids
+ - baculum: Add example Nginx config
+ - baculum: Fix working with php-fpm
+ - baculum: Fix sorting formatted values in tables
+ - baculum: Improve size formatter precision
+ - baculum: Fix jobs count in job list
+ - baculum: Show jobid in job configuration window
+ - baculum: Add jobbytes and jobfiles columns in job list
+
+12Dec15
+ - baculum: Get system timezone for PHP if possible
+ - baculum: Fix restore when a lot of jobids given
+ - baculum: Remove temporary Bvfs table when restore starts
+ - baculum: Show copy job label in job list
+ - baculum: Set default job attributes (level, client, fileset, pool, storage, 
+  priority) in Run job panel
+ - baculum: Get job show result by job name or jobid
+
+11Dec15
+ - baculum: Set half size window as default window size
+ - baculum: Not remember controls state in jobs window
+ - baculum: Add session cache
+ - Fix truncate race bug #1382
+ - Fix some low level messages to display correctly
+
+28Nov15
+ - baculum: Remove deprecated message in initial wizard
+ - baculum: Update SELinux policy module
+ - baculum: Fix update pool action when no volumes in pool
+ - baculum: Split configuration windows into two tabs: actions and console
+ - baculum: Change default elements limit to 500 elements
+ - baculum: Add drive parameter to bconsole release command execution
+ - baculum: Switch interface from performance mode to normal mode due to no 
+  cache checking in performance mode
+
+27Nov15
+ - Fix #1470 Fix setdebug command when all components are selected
+ - baculum: Set default elements limit in window to 1000 elements
+
+25Nov15
+ - baculum: Fix expectation failed error during restore
+ - baculum: Switch to debug mode only when debug is enabled in config
+ - baculum: Switch interface to performance mode
+ - baculum: Add JSMin from framework for complete switch interface to performance 
+  mode
+ - baculum: Add Ulrich Leodolter to AUTHORS
+ - baculum: Fix end-of-file warning in bconsole calls. Patch from Ulrich Leodolter
+
+22Nov15
+ - baculum: Fix remove users file during upgrade deb packages
+
+21Nov15
+ - Add new JOB_DBR field
+ - #ifdef out bpluginfo since it does not compile
+
+20Nov15
+ - Fix #1449 about a FileDaemon segfault with the fstype option
+
+17Nov15
+ - Remove vestiges of rechdr_queue hopefully fixes bug #2180
+ - Apply bconsole manpage patch from bug #2182
+ - Apply ppc64el configure detection patch from bug #2183
+
+12Nov15
+ - Fix #1414 When the FD is down, status dir now prints "is waiting for Client 
+  xx-fd"
+
+11Nov15
+ - Ensure that JOB_DBR is properly initialized before a db_list_job_records()
+
+10Nov15
+ - Implement new options in list command
+ - Add @tall command to log both input/output in a log file
+
+31Oct15
+ - Fix #1360 about bextract -t not documented in the man page
+
+30Oct15
+ - Update spec file for latest OSX versions
+ - Fix compilation on MacOS
+
+28Oct15
+ - fix syntax error
+
+27Oct15
+ - Improve Jmsg in response(), display SIGNAL number when appropriate
+ - Avoid segfault in dump_block() when the block_len is invalid
+
+23Oct15
+ - Fix #1368 about xattr error not displayed correctly at restore time
+
+22Oct15
+ - If we swapped a Volume, clear in_use bit on Volume
+
+19Oct15
+ - Fix #1362 about libgcc dependency in sles12 bat package
+ - Remove installation of manpage for bplugininfo
+ - Fix bug 2171 cannot build tray-monitor
+
+18Oct15
+ - Enhance bvfs performance .bvfs_update for MySQL
+ - Do some sanity checks on user inputs
+ - Enhance bvfs performance .bvfs_update for MySQL
+ - Enhance bvfs performance .bvfs_update for MySQL
+ - Recompile configure.in
+ - Fix bug 2173 QT tray monitor can not be built due to missing files in configure
+
+16Oct15
+ - dedup fix bextract bug
+
+15Oct15
+ - Move plugin_free() in free_jcr()
+ - Fix bug #2083 -- Fix sockaddr_to_ascii for FreeBSD
+
+10Oct15
+ - Fix fadvise bug found by Robert Heinzmann
+
+22Sep15
+ - Fix compilation without zlib and lzo
+ - Fix compilation error with new fstype_cmp() function
+ - Fix compilation problem with AFS
+
+19Sep15
+ - Fix compilation on Solaris/FreeBSD
+
+18Sep15
+ - Fix segfault in open_bpipe() when the program is empty
+
+17Sep15
+ - Modify find_next_volume_for_append() to not send the same volume twice
+
+15Sep15
+ - Avoid <NULL> string displayed in restore menu
+ - Do not update state file after a bacula-xxx -t
+
+10Sep15
+ - Fix #804 about misleading message with the purge command
+ - Fix automount feature after a label command
+
+20Aug15
+ - rpms: Add Fedora22 and Systemd support for redhat rpms
+
+19Aug15
+ - Add missing required packages versions
+
+18Aug15
+ - Reinsert tabs in systemd Makefile.in
+
+17Aug15
+ - Remove old DVD.conf in examples
+
+16Aug15
+ - baculum: Fix default values in Makefile
+ - baculum: Split deb result package into baculum, baculum-lighttpd and baculum-apache2 
+  packages
+ - baculum: Provide LICENSE-FOSS file content in Baculum deb packages (copyright 
+  file)
+ - baculum: Add deb template files and deb configs examples
+ - baculum: Change Makefile to using also for deb packages template
+
+11Aug15
+ - Use Client Catalog resource in get_catalog_resource() if "client" is specified 
+  in command line
+
+07Jul15
+ - Fix #1131 about Job::Next Pool resource precedence over the Pool::Next pool 
+  directive
+
+11Feb15
+ - Fix #898 truncate volumes larger than 200 bytes
+
+Bugs fixed/closed since last release:
+1131 1360 1362 1368 1382 1412 1414 1449 1470 1524 1545 1548 1882 2083 2090
+2103 2115 2117 2151 2153 2156 2165 2180 2182 2183 2192 804 898
+
+==========================================================
+
 Release Version 7.2.0
 
 12Aug15
diff --git a/ReleaseNotes b/ReleaseNotes
index 3e03d15..eaba613 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -1,6 +1,174 @@
 
-               Release Notes for Bacula 7.2.0
+               Release Notes for Bacula 7.4.0
 
+Release version 7.4.0
+
+The diff between Bacula 7.0.6 and Bacula 7.2.0 is 254,442
+which represents very large change, for the most part 
+contributed to the Bacula project by Bacula Systems SA.
+
+This is a new release with a new version number. It has been
+very thourouly tested, but as always, the new features may not
+always work as expected.
+
+The Catalog database format has not changed since version the
+prior release (7.2.0).
+
+Compatibility:
+--------------
+As always, both the Community Director and Storage daemon(s) must be upgraded
+at the same time.  Any File daemon running on the same machine as a Director
+or Storage daemon must be of the same version.
+
+Older File Daemons should be compatible with the 7.4.0 Director and Storage
+daemons.  There should be no need to upgrade older File Daemons.
+
+New features and changes:
+Please see the New Features chapter of the manual for documentation on
+the new features.  The new features are currently only in the New Features
+chapter and have not yet been integrated into the main chapters of the
+manual.
+
+New Features and changes summary:
+- Support for KFREEBSD OS
+- Improved support for Clang
+- Configure SSL connection to MySQL
+- New chio-changer-freebase in examples/autochangers
+  New directives in bacula-dir.conf in Catalog{} resource
+     for the MySQL backend (not currently implemented for
+     Postgresql or SQLite).
+   dbsslkey
+   dbsslcert
+   dbsslca
+   dbsslcapath
+   dbsslcipher
+- examples/autochangers/rc-chio-changer removed
+- examples/devices/DVD.conf removed
+- updated copyrights
+- Add "Expires in" to list and llist volumes
+- Implement a more efficient Volume selection algorithm between DIR and SD
+- Implement new list/llist command keywords:
+   order=asc|ascending
+   order=desc|decending
+   limit=nn
+   jobstatus=
+   Client=
+   JobErrors
+- Implement new bconsole @tall command that outputs input and
+  output to console and terminal.  Note, this also outputs 
+  bconsole input commands.
+- Implement MaxVirtualFullInterval
+- Implement VirtualFullPool override
+- Pool overrides work better
+- Automatic selection of catalog from client where possible.
+- Implement VerifyData level type for Verify jobs.
+
+
+More detailed changes:
+
+14Jan16
+ - Implement MaxVirtualFullInterval
+ - Update AUTHORS
+ - Ensure relabel has latest vol info may fix bug #1412
+ - Change license as per agreement with FSFE
+ - Apply Carsten's patch that fixes bug #2192 builds on kfreebsd
+ - baculum: Enable Portuguese language on web interface
+ - baculum: Implement Portuguese language support
+ - baculum: Assign Baculum copyright to Kern Sibbald
+ - baculum: Fix sorting in restore by group most recent backups
+ - baculum: Fix restore group most recent backups for MySQL
+ - Fix FD DisableCommands
+ - baculum: Fix to change user password
+ - Add ExpiresIn field in list and llist media output
+ - Fix #1548 about Solaris SIGBUS with accurate mode backup
+ - Backport more Enterprise code to sql_list.c
+ - Add info message of #jobs consolidated in Virtual Full
+ - baculum: Unify user validation
+ - Add HasBase+Comment to llist Jobs
+ - Fix seg fault in btape fixes bug #2180
+ - Fix slight error in autoprune -- should fix bug #2151
+ - baculum: Add first unit tests
+ - Fix #1545 about fix in manual_prune.pl script with large number of volumes
+ - Fix false status output. Fixes bug #2103
+ - Integrate patch into latest version, which fixes bug #1882
+ - Fix bug #2090 correct detection of GCC
+ - Fix CLANG warning messages -- fixes bug #2090
+ - Add new chio-changer-freebase from bug #2115
+ - Applied modified patch from bug#2117 to fix bpipe end of stream
+ - Apply patch from bug #2165 to fix the update sqlite3 script
+ - Fix update MD5 failure bug reported by Peter Keller
+ - baculum: Add dashboard panel
+ - Patch to add MySQL ssl access
+ - Manually apply patch in bug #2156 to allow building on KFreeBSD
+ - Fix bug #2153 with patch submitted by Ana Arruda
+ - baculum: Switch to started job status just after job start
+ - baculum: Add possibility to open configuration windows from URL
+ - Fix restore when storage specified on command line
+ - Fix restore of Windows streams to non-Windows machines
+ - Implement level=Data to the Verify job
+ - Fix #1524 about bextract trace file location
+ - Fix truncate bug free_volume problem
+ - baculum: Remember sort order for data grids
+ - baculum: Improve size formatter precision
+ - baculum: Fix jobs count in job list
+ - baculum: Add jobbytes and jobfiles columns in job list
+ - baculum: Get system timezone for PHP if possible
+ - baculum: Fix restore when a lot of jobids given
+ - baculum: Set default job attributes (level, client, fileset, pool, storage, 
+  priority) in Run job panel
+ - Fix truncate race bug #1382
+ - baculum: Fix update pool action when no volumes in pool
+ - baculum: Split configuration windows into two tabs: actions and console
+ - baculum: Change default elements limit to 500 elements
+ - baculum: Add drive parameter to bconsole release command execution
+ - Fix #1470 Fix setdebug command when all components are selected
+ - baculum: Fix expectation failed error during restore
+ - Add new JOB_DBR field
+ - #ifdef out bpluginfo since it does not compile
+ - Fix #1449 about a FileDaemon segfault with the fstype option
+ - Remove vestiges of rechdr_queue hopefully fixes bug #2180
+ - Apply bconsole manpage patch from bug #2182
+ - Apply ppc64el configure detection patch from bug #2183
+ - Fix #1414 When the FD is down, status dir now prints "is waiting for Client 
+  xx-fd"
+ - Implement new options in list command
+ - Add @tall command to log both input/output in a log file
+ - Fix #1360 about bextract -t not documented in the man page
+ - Update spec file for latest OSX versions
+ - Fix compilation on MacOS
+ - Improve Jmsg in response(), display SIGNAL number when appropriate
+ - Avoid segfault in dump_block() when the block_len is invalid
+ - Fix #1368 about xattr error not displayed correctly at restore time
+ - Fix bug 2173 QT tray monitor can not be built due to missing files in configure
+ - Move plugin_free() in free_jcr()
+ - Fix bug #2083 -- Fix sockaddr_to_ascii for FreeBSD
+ - Fix fadvise bug found by Robert Heinzmann
+ - Fix compilation without zlib and lzo
+ - Fix compilation error with new fstype_cmp() function
+ - Fix compilation problem with AFS
+ - Fix compilation on Solaris/FreeBSD
+ - Fix segfault in open_bpipe() when the program is empty
+ - Modify find_next_volume_for_append() to not send the same volume twice
+ - Avoid <NULL> string displayed in restore menu
+ - Do not update state file after a bacula-xxx -t
+ - Fix #804 about misleading message with the purge command
+ - Fix automount feature after a label command
+ - Reinsert tabs in systemd Makefile.in
+ - baculum: Provide LICENSE-FOSS file content in Baculum deb packages (copyright 
+  file)
+ - Use Client Catalog resource in get_catalog_resource() if "client" is specified 
+  in command line
+ - Fix #1131 about Job::Next Pool resource precedence over the Pool::Next pool 
+  directive
+ - Fix #898 truncate volumes larger than 200 bytes
+
+Bugs fixed/closed since last release:
+1131 1360 1362 1368 1382 1412 1414 1449 1470 1524 1545 1548 1882 2083 2090
+2103 2115 2117 2151 2153 2156 2165 2180 2182 2183 2192 804 898
+
+
+
+================================================================
 Release version 7.2.0
 
 Bacula code: Total files = 733 Total lines = 303,426
@@ -674,4 +842,3 @@ Detailed changes:
  - Improve SQL failure reporting
  - First cut backport BEE to community
  - Add copyright to mtx-changer.in
-
diff --git a/configure b/configure
index 3602d58..a59610f 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for bacula 7.2.1.
+# Generated by GNU Autoconf 2.69 for bacula 7.4.0.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='bacula'
 PACKAGE_TARNAME='bacula'
-PACKAGE_VERSION='7.2.1'
-PACKAGE_STRING='bacula 7.2.1'
+PACKAGE_VERSION='7.4.0'
+PACKAGE_STRING='bacula 7.4.0'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -761,6 +761,8 @@ MSGFMT
 USE_NLS
 MKINSTALLDIRS
 SET_MAKE
+HAVE_KFREEBSD_OS_FALSE
+HAVE_KFREEBSD_OS_TRUE
 HAVE_DARWIN_OS_FALSE
 HAVE_DARWIN_OS_TRUE
 HAVE_IRIX_OS_FALSE
@@ -1564,7 +1566,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures bacula 7.2.1 to adapt to many kinds of systems.
+\`configure' configures bacula 7.4.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1633,7 +1635,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of bacula 7.2.1:";;
+     short | recursive ) echo "Configuration of bacula 7.4.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1831,7 +1833,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-bacula configure 7.2.1
+bacula configure 7.4.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2766,7 +2768,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by bacula $as_me 7.2.1, which was
+It was created by bacula $as_me 7.4.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -17077,6 +17079,31 @@ else
 fi
 fi
 
+if test $HAVE_UNAME=yes -a x`uname -s` = xGNU/kFreeBSD
+then
+
+
+if $TRUEPRG; then
+  HAVE_KFREEBSD_OS_TRUE=
+  HAVE_KFREEBSD_OS_FALSE='#'
+else
+  HAVE_KFREEBSD_OS_TRUE='#'
+  HAVE_KFREEBSD_OS_FALSE=
+fi
+    $as_echo "#define HAVE_KFREEBSD_OS 1" >>confdefs.h
+
+else
+
+
+if $FALSEPRG; then
+  HAVE_KFREEBSD_OS_TRUE=
+  HAVE_KFREEBSD_OS_FALSE='#'
+else
+  HAVE_KFREEBSD_OS_TRUE='#'
+  HAVE_KFREEBSD_OS_FALSE=
+fi
+fi
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Operating System Distribution" >&5
 $as_echo_n "checking for Operating System Distribution... " >&6; }
@@ -31410,7 +31437,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by bacula $as_me 7.2.1, which was
+This file was extended by bacula $as_me 7.4.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -31476,7 +31503,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-bacula config.status 7.2.1
+bacula config.status 7.4.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/src/cats/mysql.c b/src/cats/mysql.c
index d722bf4..52546b7 100644
--- a/src/cats/mysql.c
+++ b/src/cats/mysql.c
@@ -37,7 +37,7 @@
  
 #include "cats.h" 
 #include <mysql.h> 
-#define __BDB_MYSQL_H_ 1 
+#define  BDB_MYSQL_H_ 1 
 #include "bdb_mysql.h" 
  
 /* ----------------------------------------------------------------------- 
diff --git a/src/cats/sql_list.c b/src/cats/sql_list.c
index 309e0db..55b6a85 100644
--- a/src/cats/sql_list.c
+++ b/src/cats/sql_list.c
@@ -579,17 +579,19 @@ void BDB::bdb_list_base_files_for_job(JCR *jcr, JobId_t jobid, DB_LIST_HANDLER *
     * Stupid MySQL is NON-STANDARD !
     */
    if (bdb_get_type_index() == SQL_TYPE_MYSQL) {
-      Mmsg(cmd, "SELECT CONCAT(Path.Path,File.Filename) AS Filename "
-           "FROM BaseFiles, File, Path "
+      Mmsg(cmd, "SELECT CONCAT(Path.Path,Filename.Name) AS Filename "
+           "FROM BaseFiles, File, Filename, Path "
            "WHERE BaseFiles.JobId=%s AND BaseFiles.BaseJobId = File.JobId "
            "AND BaseFiles.FileId = File.FileId "
+           "AND Filename.FilenameId=File.FilenameId "
            "AND Path.PathId=File.PathId",
          edit_int64(jobid, ed1));
    } else {
-      Mmsg(cmd, "SELECT Path.Path||File.Filename AS Filename "
-           "FROM BaseFiles, File, Path "
+      Mmsg(cmd, "SELECT Path.Path||Filename.Name AS Filename "
+           "FROM BaseFiles, File, Filename, Path "
            "WHERE BaseFiles.JobId=%s AND BaseFiles.BaseJobId = File.JobId "
            "AND BaseFiles.FileId = File.FileId "
+           "AND Filename.FilenameId=File.FilenameId "
            "AND Path.PathId=File.PathId",
            edit_int64(jobid, ed1));
    }
diff --git a/src/dird/backup.c b/src/dird/backup.c
index 932751b..6e4c7c8 100644
--- a/src/dird/backup.c
+++ b/src/dird/backup.c
@@ -64,19 +64,19 @@ bool do_backup_init(JCR *jcr)
    /* Make local copy */
    jcr->RescheduleIncompleteJobs = jcr->job->RescheduleIncompleteJobs;
 
-   if (jcr->is_JobLevel(L_VIRTUAL_FULL)) {
-      return do_vbackup_init(jcr);
-   }
-   free_rstorage(jcr);                   /* we don't read so release */
-
    if (!get_or_create_fileset_record(jcr)) {
+      Dmsg1(100, "JobId=%d no FileSet\n", (int)jcr->JobId);
       return false;
    }
 
    /*
     * Get definitive Job level and since time
+    * unless it's a virtual full.  In that case
+    * it is not needed.
     */
-   get_level_since_time(jcr, jcr->since, sizeof(jcr->since));
+   if (!jcr->is_JobLevel(L_VIRTUAL_FULL)) {
+      get_level_since_time(jcr, jcr->since, sizeof(jcr->since));
+   }
 
    apply_pool_overrides(jcr);
 
@@ -86,9 +86,22 @@ bool do_backup_init(JCR *jcr)
 
    jcr->jr.PoolId = get_or_create_pool_record(jcr, jcr->pool->name());
    if (jcr->jr.PoolId == 0) {
+      Dmsg1(100, "JobId=%d no PoolId\n", (int)jcr->JobId);
+      Jmsg(jcr, M_FATAL, 0, _("Could not get or create a Pool record.\n"));
       return false;
    }
 
+   /*
+    * If we are a virtual full job or got upgraded to one
+    * then we divert at this point and call the virtual full 
+    * backup init method
+    */ 
+   if (jcr->is_JobLevel(L_VIRTUAL_FULL)) {
+     return do_vbackup_init(jcr);
+   }
+
+   free_rstorage(jcr);                   /* we don't read so release */
+
    /* If pool storage specified, use it instead of job storage */
    copy_wstorage(jcr, jcr->pool->storage, _("Pool resource"));
 
diff --git a/src/dird/dird_conf.h b/src/dird/dird_conf.h
index b1101bd..aeced6c 100644
--- a/src/dird/dird_conf.h
+++ b/src/dird/dird_conf.h
@@ -403,6 +403,7 @@ public:
    utime_t MaxRunSchedTime;           /* max run time in seconds from Scheduled time*/
    utime_t RescheduleInterval;        /* Reschedule interval */
    utime_t MaxFullInterval;           /* Maximum time interval between Fulls */
+   utime_t MaxVirtualFullInterval;    /* Maximum time interval between Virtual Fulls */
    utime_t MaxDiffInterval;           /* Maximum time interval between Diffs */
    utime_t DuplicateJobProximity;     /* Permitted time between duplicicates */
    utime_t SnapRetention;             /* Snapshot retention period in seconds */
@@ -420,6 +421,7 @@ public:
    POOL      *pool;                   /* Where is media -- Media Pool */
    POOL      *next_pool;              /* Next Pool for Copy/Migrate/VirtualFull */
    POOL      *full_pool;              /* Pool for Full backups */
+   POOL      *vfull_pool;             /* Pool for Virtual Full backups */
    POOL      *inc_pool;               /* Pool for Incremental backups */
    POOL      *diff_pool;              /* Pool for Differental backups */
    char      *selection_pattern;
@@ -676,6 +678,7 @@ public:
    POOL *pool;                        /* Pool override */
    POOL *next_pool;                   /* Next pool override */
    POOL *full_pool;                   /* Pool override */
+   POOL *vfull_pool;                  /* Pool override */
    POOL *inc_pool;                    /* Pool override */
    POOL *diff_pool;                   /* Pool override */
    STORE *storage;                    /* Storage override */
diff --git a/src/dird/fd_cmds.c b/src/dird/fd_cmds.c
index 84e198d..c1ebd57 100644
--- a/src/dird/fd_cmds.c
+++ b/src/dird/fd_cmds.c
@@ -171,6 +171,7 @@ void get_level_since_time(JCR *jcr, char *since, int since_len)
    int JobLevel;
    bool have_full;
    bool do_full = false;
+   bool do_vfull = false;
    bool do_diff = false;
    utime_t now;
    utime_t last_full_time = 0;
@@ -236,10 +237,15 @@ void get_level_since_time(JCR *jcr, char *since, int since_len)
          do_diff = ((now - last_diff_time) >= jcr->job->MaxDiffInterval);
          Dmsg2(50, "do_diff=%d diffInter=%lld\n", do_diff, jcr->job->MaxDiffInterval);
       }
-      /* Note, do_full takes precedence over do_diff */
+      /* Note, do_full takes precedence over do_vfull and do_diff */
       if (have_full && jcr->job->MaxFullInterval > 0) {
          do_full = ((now - last_full_time) >= jcr->job->MaxFullInterval);
       }
+      else
+      if (have_full && jcr->job->MaxVirtualFullInterval > 0) {
+         do_vfull = ((now - last_full_time) >= jcr->job->MaxVirtualFullInterval);
+      }
+      
       free_pool_memory(stime);
 
       if (do_full) {
@@ -249,7 +255,14 @@ void get_level_since_time(JCR *jcr, char *since, int since_len)
          bsnprintf(since, since_len, _(" (upgraded from %s)"),
             level_to_str(jcr->getJobLevel()));
          jcr->setJobLevel(jcr->jr.JobLevel = L_FULL);
-       } else if (do_diff) {
+      } else if (do_vfull) {
+         /* No recent Full job found, and MaxVirtualFull is set so upgrade this one to Virtual Full */
+         Jmsg(jcr, M_INFO, 0, "%s", db_strerror(jcr->db));
+         Jmsg(jcr, M_INFO, 0, _("No prior or suitable Full backup found in catalog. Doing Virtual FULL backup.\n"));
+         bsnprintf(since, since_len, _(" (upgraded from %s)"),
+            level_to_str(jcr->getJobLevel()));
+         jcr->setJobLevel(jcr->jr.JobLevel = L_VIRTUAL_FULL);
+      } else if (do_diff) {
          /* No recent diff job found, so upgrade this one to Diff */
          Jmsg(jcr, M_INFO, 0, _("No prior or suitable Differential backup found in catalog. Doing Differential backup.\n"));
          bsnprintf(since, since_len, _(" (upgraded from %s)"),
diff --git a/src/dird/job.c b/src/dird/job.c
index 2290a2b..9ed9c27 100644
--- a/src/dird/job.c
+++ b/src/dird/job.c
@@ -1175,6 +1175,17 @@ void apply_pool_overrides(JCR *jcr)
          }
       }
       break;
+   case L_VIRTUAL_FULL:
+      if (jcr->vfull_pool) {
+         jcr->pool = jcr->vfull_pool;
+         pool_override = true;
+         if (jcr->run_vfull_pool_override) {
+            pm_strcpy(jcr->pool_source, _("Run VFullPool override"));
+         } else {
+            pm_strcpy(jcr->pool_source, _("Job VFullPool override"));
+         }
+      }
+      break;
    case L_INCREMENTAL:
       if (jcr->inc_pool) {
          jcr->pool = jcr->inc_pool;
@@ -1543,6 +1554,7 @@ void set_jcr_defaults(JCR *jcr, JOB *job)
       pm_strcpy(jcr->next_pool_source, _("Job Pool's NextPool resource"));
    }
    jcr->full_pool = job->full_pool;
+   jcr->vfull_pool = job->vfull_pool;
    jcr->inc_pool = job->inc_pool;
    jcr->diff_pool = job->diff_pool;
    if (job->pool->catalog) {
diff --git a/src/dird/jobq.c b/src/dird/jobq.c
index 11f586f..9516821 100644
--- a/src/dird/jobq.c
+++ b/src/dird/jobq.c
@@ -733,7 +733,9 @@ static bool reschedule_job(JCR *jcr, jobq_t *jq, jobq_item_t *je)
       njcr->next_pool = jcr->next_pool;
       njcr->run_next_pool_override = jcr->run_next_pool_override;
       njcr->full_pool = jcr->full_pool;
+      njcr->vfull_pool = jcr->vfull_pool;
       njcr->run_full_pool_override = jcr->run_full_pool_override;
+      njcr->run_vfull_pool_override = jcr->run_vfull_pool_override;
       njcr->inc_pool = jcr->inc_pool;
       njcr->run_inc_pool_override = jcr->run_inc_pool_override;
       njcr->diff_pool = jcr->diff_pool;
diff --git a/src/dird/run_conf.c b/src/dird/run_conf.c
index 880e415..c4a4157 100644
--- a/src/dird/run_conf.c
+++ b/src/dird/run_conf.c
@@ -259,6 +259,7 @@ void store_run(LEX *lc, RES_ITEM *item, int index, int pass)
             case 'P':                 /* Pool */
             case 'N':                 /* NextPool */
             case 'f':                 /* FullPool */
+            case 'v':                 /* VFullPool */
             case 'i':                 /* IncPool */
             case 'd':                 /* DifPool */
                token = lex_get_token(lc, T_NAME);
@@ -279,6 +280,9 @@ void store_run(LEX *lc, RES_ITEM *item, int index, int pass)
                   case 'f':
                      lrun.full_pool = (POOL *)res;
                      break;
+                  case 'v':
+                     lrun.vfull_pool = (POOL *)res;
+                     break;
                   case 'i':
                      lrun.inc_pool = (POOL *)res;
                      break;
diff --git a/src/dird/scheduler.c b/src/dird/scheduler.c
index 856fdf8..5108142 100644
--- a/src/dird/scheduler.c
+++ b/src/dird/scheduler.c
@@ -204,6 +204,10 @@ again:
       jcr->full_pool = run->full_pool; /* override full pool */
       jcr->run_full_pool_override = true;
    }
+   if (run->vfull_pool) {
+      jcr->vfull_pool = run->vfull_pool; /* override virtual full pool */
+      jcr->run_vfull_pool_override = true;
+   }
    if (run->inc_pool) {
       jcr->inc_pool = run->inc_pool;  /* override inc pool */
       jcr->run_inc_pool_override = true;
diff --git a/src/dird/vbackup.c b/src/dird/vbackup.c
index 07ec06c..09ab291 100644
--- a/src/dird/vbackup.c
+++ b/src/dird/vbackup.c
@@ -50,23 +50,13 @@ void vbackup_cleanup(JCR *jcr, int TermCode);
 bool do_vbackup_init(JCR *jcr)
 {
 
-   if (!get_or_create_fileset_record(jcr)) {
-      Dmsg1(dbglevel, "JobId=%d no FileSet\n", (int)jcr->JobId);
-      return false;
-   }
-
-   apply_pool_overrides(jcr);
-
-   if (!allow_duplicate_job(jcr)) {
-      return false;
-   }
+  /* 
+   * if the read pool has not been allocated yet due to the job 
+   * being upgraded to a virtual full then allocate it now 
+   */
+  if (!jcr->rpool_source)
+    jcr->rpool_source = get_pool_memory(PM_MESSAGE);
 
-   jcr->jr.PoolId = get_or_create_pool_record(jcr, jcr->pool->name());
-   if (jcr->jr.PoolId == 0) {
-      Dmsg1(dbglevel, "JobId=%d no PoolId\n", (int)jcr->JobId);
-      Jmsg(jcr, M_FATAL, 0, _("Could not get or create a Pool record.\n"));
-      return false;
-   }
    /*
     * Note, at this point, pool is the pool for this job.  We
     *  transfer it to rpool (read pool), and a bit later,
@@ -76,7 +66,7 @@ bool do_vbackup_init(JCR *jcr)
    jcr->rpool = jcr->pool;            /* save read pool */
    pm_strcpy(jcr->rpool_source, jcr->pool_source);
 
-   /* If pool storage specified, use it for restore */
+   /* If pool storage specified, use it for virtual full */
    copy_rstorage(jcr, jcr->pool->storage, _("Pool resource"));
 
    Dmsg2(dbglevel, "Read pool=%s (From %s)\n", jcr->rpool->name(), jcr->rpool_source);
diff --git a/src/jcr.h b/src/jcr.h
index 154b62c..f8bf739 100644
--- a/src/jcr.h
+++ b/src/jcr.h
@@ -331,6 +331,7 @@ public:
    POOL *next_pool;                   /* Next pool override */
    POOL *rpool;                       /* Read pool. Used only in migration */
    POOL *full_pool;                   /* Full backup pool resource */
+   POOL *vfull_pool;                  /* Virtual Full backup pool resource */
    POOL *inc_pool;                    /* Incremental backup pool resource */
    POOL *diff_pool;                   /* Differential backup pool resource */
    FILESET *fileset;                  /* FileSet resource */
@@ -395,6 +396,7 @@ public:
    bool cmdline_next_pool_override;   /* Next pool is overridden */
    bool run_next_pool_override;       /* Next pool is overridden */
    bool run_full_pool_override;
+   bool run_vfull_pool_override;
    bool run_inc_pool_override;
    bool run_diff_pool_override;
    bool sd_canceled;                  /* set if SD canceled */
diff --git a/src/lib/bregex.c b/src/lib/bregex.c
index 994b015..9b9a7b5 100644
--- a/src/lib/bregex.c
+++ b/src/lib/bregex.c
@@ -16,6 +16,7 @@
  *
  * This code draws many ideas from the regular expression packages by
  * Henry Spencer of the University of Toronto and Richard Stallman of
+ * the Free Software Foundation.
  *
  * Emacs-specific code and syntax table code is almost directly borrowed
  * from GNU regexp.
diff --git a/src/qt-console/tray-monitor/authenticate.cpp b/src/qt-console/tray-monitor/authenticate.cpp
index f78861a..522c323 100644
--- a/src/qt-console/tray-monitor/authenticate.cpp
+++ b/src/qt-console/tray-monitor/authenticate.cpp
@@ -55,7 +55,7 @@ static char FDOKhello[] = "2000 OK Hello";
 /*
  * Authenticate Director
  */
-int authenticate_director(JCR *jcr, MONITOR *mon, DIRRES *director)
+int authenticate_director(JCR *jcr, MONITOR *mon, DIRRES */*director*/)
 {
    BSOCK *dir = jcr->dir_bsock;
    int tls_local_need = BNET_TLS_NONE;
diff --git a/src/stored/autochanger.c b/src/stored/autochanger.c
index cac14b7..8c86d09 100644
--- a/src/stored/autochanger.c
+++ b/src/stored/autochanger.c
@@ -96,6 +96,7 @@ int autoload_device(DCR *dcr, bool writing, BSOCK *dir)
 {
    JCR *jcr = dcr->jcr;
    DEVICE * volatile dev = dcr->dev;
+   char *vol_name = dcr->VolumeName;
    int slot;
    int drive = dev->drive_index;
    int rtn_stat = -1;                 /* error status */
@@ -186,17 +187,17 @@ int autoload_device(DCR *dcr, bool writing, BSOCK *dir)
          lock_changer(dcr);
          Dmsg2(dbglvl, "Doing changer load slot %d %s\n", slot, dev->print_name());
          Jmsg(jcr, M_INFO, 0,
-              _("3304 Issuing autochanger \"load slot %d, drive %d\" command.\n"),
-              slot, drive);
+              _("3304 Issuing autochanger \"load slot %d, drive %d\" command for vol %s.\n"),
+              slot, drive, vol_name);
          dcr->VolCatInfo.Slot = slot;    /* slot to be loaded */
          changer = edit_device_codes(dcr, changer, dcr->device->changer_command, "load");
          dev->close();
          Dmsg1(dbglvl, "Run program=%s\n", changer);
          status = run_program_full_output(changer, timeout, results.addr());
          if (status == 0) {
-            Jmsg(jcr, M_INFO, 0, _("3305 Autochanger \"load slot %d, drive %d\", status is OK.\n"),
-                    slot, drive);
-            Dmsg2(dbglvl, "OK: load slot %d, drive %d.\n", slot, drive);
+            Jmsg(jcr, M_INFO, 0, _("3305 Autochanger \"load slot %d, drive %d\", status is OK for vol %s.\n"),
+                    slot, drive, vol_name);
+            Dmsg3(dbglvl, "OK: load slot %d, drive %d vol %s.\n", slot, drive, vol_name);
             dev->set_slot(slot);      /* set currently loaded slot */
             if (dev->vol) {
                /* We just swapped this Volume so it cannot be swapping any more */
@@ -351,6 +352,7 @@ bool unload_autochanger(DCR *dcr, int loaded)
 {
    DEVICE *dev = dcr->dev;
    JCR *jcr = dcr->jcr;
+   const char *vol_name = dcr->VolumeName;
    int slot;
    uint32_t timeout = dcr->device->max_changer_wait;
    bool ok = true;
@@ -371,6 +373,9 @@ bool unload_autochanger(DCR *dcr, int loaded)
    }
 
    lock_changer(dcr);
+   if (!vol_name || !vol_name[0]) {
+      vol_name = "unknown";
+   }
    if (loaded < 0) {
       loaded = get_autochanger_loaded_slot(dcr);
       if (loaded < 0) {   /* try again, maybe autochanger error */
@@ -382,8 +387,8 @@ bool unload_autochanger(DCR *dcr, int loaded)
       POOL_MEM results(PM_MESSAGE);
       POOLMEM *changer = get_pool_memory(PM_FNAME);
       Jmsg(jcr, M_INFO, 0,
-           _("3307 Issuing autochanger \"unload slot %d, drive %d\" command.\n"),
-           loaded, dev->drive_index);
+           _("3307 Issuing autochanger \"unload slot %d, drive %d\" command for vol %s.\n"),
+           loaded, dev->drive_index, vol_name);
       slot = dcr->VolCatInfo.Slot;
       dcr->VolCatInfo.Slot = loaded;
       changer = edit_device_codes(dcr, changer,
@@ -518,6 +523,7 @@ bool unload_dev(DCR *dcr, DEVICE *dev)
    bool ok = true;
    uint32_t timeout = dcr->device->max_changer_wait;
    AUTOCHANGER *changer = dcr->dev->device->changer_res;
+   const char *vol_name = dcr->VolumeName;
    DEVICE *save_dev;
    int save_slot;
 
@@ -547,12 +553,15 @@ bool unload_dev(DCR *dcr, DEVICE *dev)
    POOLMEM *changer_cmd = get_pool_memory(PM_FNAME);
    POOL_MEM results(PM_MESSAGE);
    lock_changer(dcr);
+   if (!vol_name || !vol_name[0]) {
+      vol_name = "unknown";
+   }
    Jmsg(jcr, M_INFO, 0,
-        _("3307 Issuing autochanger \"unload slot %d, drive %d\" command.\n"),
-        dev->get_slot(), dev->drive_index);
+        _("3307 Issuing autochanger \"unload slot %d, drive %d\" command for vol %s.\n"),
+        dev->get_slot(), dev->drive_index, vol_name);
 
-   Dmsg2(dbglvl, "Issuing autochanger \"unload slot %d, drive %d\" command.\n",
-        dev->get_slot(), dev->drive_index);
+   Dmsg3(dbglvl, "Issuing autochanger \"unload slot %d, drive %d\" command for vol %.\n",
+        dev->get_slot(), dev->drive_index, vol_name);
 
    changer_cmd = edit_device_codes(dcr, changer_cmd,
                 dcr->device->changer_command, "unload");
@@ -565,15 +574,15 @@ bool unload_dev(DCR *dcr, DEVICE *dev)
    if (stat != 0) {
       berrno be;
       be.set_errno(stat);
-      Jmsg(jcr, M_INFO, 0, _("3997 Bad autochanger \"unload slot %d, drive %d\": ERR=%s.\n"),
-              dev->get_slot(), dev->drive_index, be.bstrerror());
-      Dmsg4(dbglvl, "Error: load slot %d, drive %d, bad stats=%s.\nResults=%s\n",
-            dev->get_slot(), dev->drive_index,
+      Jmsg(jcr, M_INFO, 0, _("3997 Bad autochanger \"unload slot %d, drive %d\" for vol %s: ERR=%s.\n"),
+              dev->get_slot(), dev->drive_index, vol_name, be.bstrerror());
+      Dmsg5(dbglvl, "Error: load slot %d, drive %d, vol %s bad stats=%s.\nResults=%s\n",
+            dev->get_slot(), dev->drive_index, vol_name,
             be.bstrerror(), results.c_str());
       ok = false;
       dev->clear_slot();          /* unknown */
    } else {
-      Dmsg2(dbglvl, "Slot %d unloaded %s\n", dev->get_slot(), dev->print_name());
+      Dmsg3(dbglvl, "Slot %d vol %s unloaded %s\n", dev->get_slot(), vol_name, dev->print_name());
       dev->set_slot(0);           /* unload OK, mark nothing loaded */
       dev->clear_unload();
    }
diff --git a/src/stored/label.c b/src/stored/label.c
index 1c2e74a..3317c7f 100644
--- a/src/stored/label.c
+++ b/src/stored/label.c
@@ -570,6 +570,12 @@ bool DCR::rewrite_volume_label(bool recycle)
          return false;
       }
    }
+   ASSERT2(dcr->VolumeName[0], "Empty Volume name");
+   dev->setVolCatName(dcr->VolumeName);
+   if (!dir_get_volume_info(dcr, GET_VOL_INFO_FOR_WRITE)) {
+      Leave(100);
+      return false;
+   }
    dev->set_labeled();
    /* Set or reset Volume statistics */
    dev->VolCatInfo.VolCatJobs = 0;
@@ -590,8 +596,6 @@ bool DCR::rewrite_volume_label(bool recycle)
    Dmsg1(100, "dir_update_vol_info. Set Append vol=%s\n", dcr->VolumeName);
    dev->VolCatInfo.VolFirstWritten = time(NULL);
    dev->setVolCatStatus("Append");
-   ASSERT2(dcr->VolumeName[0], "Empty Volume name");
-   dev->setVolCatName(dcr->VolumeName);
    if (!dir_update_volume_info(dcr, true, true)) {  /* indicate relabel */
       Leave(100);
       return false;
@@ -607,7 +611,8 @@ bool DCR::rewrite_volume_label(bool recycle)
     * End writing real Volume label (from pre-labeled tape), or recycling
     *  the volume.
     */
-   Dmsg1(100, "OK from rewrite vol label. Vol=%s\n", dcr->VolumeName);
+   Dmsg3(100, "OK from rewrite vol label. adata=%d slot=%d Vol=%s\n",
+      dcr->block->adata, dev->VolCatInfo.Slot, dcr->VolumeName);
    Leave(100);
    return true;
 }
diff --git a/src/version.h b/src/version.h
index 60df9e0..38f93fb 100644
--- a/src/version.h
+++ b/src/version.h
@@ -6,8 +6,8 @@
 
 /* Note: there can be only *one* VERSION in this file */
 #define VERSION "7.4.0"
-#define BDATE   "10 January 2016"
-#define LSMDATE "10Jan16"
+#define BDATE   "16 January 2016"
+#define LSMDATE "16Jan16"
 
 #define RELEASE 1   /* Use ONLY in rpms */
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-bacula/bacula.git



More information about the pkg-bacula-commits mailing list