Release Notes for Bacula Community 7.2
CommunityRelease version 7.2.0 29 Jul 2015
Bacula code: Total files = 733 Total lines = 303,426 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 major new release with many new features and a number of changes. Please take care to test this code carefully before putting it into production. Although the new features have been tested, they have not run in a production environment.
New Catalog format in version 7.2.0 and greater
This release of Bacula uses a new catalog format. We provide a script (update_bacula_tables in bacula/src/cats and in bacula/updatedb) that will update from Bacula 3.x, 5.2, or 7.0 to version 7.2.0 format. The database upgrade is fast and simply. As always we strongly recommend that you make a dump of your database prior to doing the upgrade.
NOTE: The upgrade will work only for PostgreSQL and MySQL. Upgrading is not (yet) supported for SQLite3.
For packagers, if you change options, naming, and the way we link our shared object files, as at least one of you does, you are creating a situation where the user may not be able to run multiple versions of Bacula on the same machine, which is often very useful, and in addition, you create a configuration that the project cannot properly support.
Please note that the documentation has significantly changed. You will need additional packages to build it such as inkscape. Please see the README and README.pct files in the docs directory. The packages come with pre-build English pdf and html files, which are located in the docs/docs/manuals/en/pdf-and-html directory.
Packagers: please note that the Bacula LICENSE has changed, it is still AGPLv3 and still open source. A new requirement has been added which requires other projects using the source to keep the acreditations.
Packagers: please note that the docs license has changed. It is now licensed: Creative Commons Attribution-ShareAlike 4.0 International This is a common open source license.
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.2.0 Director and Storage daemons. There should be no need to upgrade older File Daemons. However, this has not been fully tested yet. Since we expect some problems, please test before putting it into production.
New Features: 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. Also, since there were so many new features, it is possible that a few that previously existed in version 7.0.x are documented a second time in the 7.2.0 new features section.
More detailed changes:
12 Aug 2015
Put back missing close_msg(NULL) to flush daemon messages at job end
Add LICENSE-FOSS and update LICENSE for baculum
Backport from Bacula Enterprise
29 Jul 2015
Fix max vol size test accidently deleted
Remove gigaslam and grow on uninstall – from bug report
Revert to Branch-8.3 fd_snapshot.c
Pull more recent changes from Branch-8.2
Fix bvfs_lsdir pattern parameter setting
Remove CheckList nolonger used
Revert “Use db_lock()/unlock() around JobMedia creation transaction”
Fix #1099 about director crash with rescheduled jobs
Fix #1209 about bat segfault when clicking on Media
Qmsg(M_FATAL) set jcr->JobStatus to JS_FatalError immediately
snapshot: Abort the job by default if a snapshot creation fails
Revert to old SD-FD close session protocol
Remove drive reservation if no Jobs running
Remove filename patch
snapshot: Try to detect LVM when the filesystem is ext3 or XFS
Fix bad debug message in mac_sql.c
Fix restore-multi-session test by incrementing found files only on next file
Add -T description in man pages
Correct incorrect Fatal error message text in bsock
mysql: Add support for multiple instances binary backup in the same fileset
Fix compilation with new debug hook
mysql: Avoid warning with abort_on_job plugin option
Fix compilation after patch “prune volume yes”
Do not print message about retention when using “prune volume yes” command
Fix #536 about Copy/Migration/VF that should not use Client “Maximum Concurrent Jobs”
Fix potential segfault with unused ConfigFile objects
Fix #1108 Enhance setdebug help command and console completion
Add more JCR variables in lockdump procedure
Fix error in update_postgresql_tables.in caused by bad search and replace
Fix #1127 about the repositioning enhancement during restore
Correct try_reposition() return code after a seek()
Add position information in the block structure
Fix a number of acl and xattr bugs + give more understandable variable names
Make btraceback.dbx and .gdb use new sql engine name
Revert most of patch ef57e6c4 and replace with old cats code
Revert useless parts of patch 08d8e2d29
Revert patch d7f71d2c94a and rewrite it using simpler public domain example
Fix batch mode detection for SQLite3
Revert d9aa76fa and simplify
Revert patch 30388e447fa3 + fix bug #1948
Use a more appropriate name for the acl context
Use class pointer rather than jcr in src/lib/jcr.c
Revert patch f294b276
Change B_DB to BDB to correspond to naming convention
Add -T option in bacula-sd to use trace file
Force use of newer TLS protocols
Avoid problem with db_get_job_record() when SchedTime or RealEndTime is NULL
Update our regexec() to support NULL argument
Add function to copy a file in bsys.c
Fix bug 2141 fork before TLS initialization
Update LICENSE-FOSS
Change license on src/lib/crc32.c as agreed with the author, Joakim Tjernlund
Update po
More license updates
Fix compilation
Add read_control command between Plugin/FD and Storage Daemon
Add .bvfs_get_jobs and .bvfs_get_bootstrap functions
Fix compilation for Solaris9
Fix Makefile.in tabs
Update Windows .def files
More copyright notices
Fix Windows plugin licenses
Change license copyright for updatedb and qt-console/tray-monitor
Change copyright for logwatch
Update more copyrights
Update copyrights in pebuilder
Update plugin licenses
Add copyrights + license to platforms
Update copyrights in po
More license clarifications
One more copyright in src/cats
Update src/cats .in file copyrights
Compute Job “Compression Ratio” using SDJobBytes instead of JobBytes
Get correct attributions for bsmtp.c
Switch from LGPLv3 for scripts to BSD 2-Clause
Fix segfault on dot commands used in RunScript::Console directive
Fix patch c0f0e6c01c7 to optimize retries only for autochangers
Fix #876 about SD reads too far with complex bootstrap
Correct unmount test in dev.c
Add debug JobId in next-vol-test script
Fix patch c59e5da29 to not orphan buffers
Fix bad implementation of enable/disable job,client,schedules + implement enable/disable storage devices
Implement enable/disable schedule and client
Optimize Volume protocol when Volume not InChanger
Do not trash existing record during label of new volume
During accurate restore unstrip as soon as possible
Better handline of no storage device found
Fix #1075 The replace=never flag was not properly handled when combined with database= option in mysql/postgresql plugin
display timestamp in X_msg() in one single pass to avoid double flush()
Update copyrights in scripts directory
Fix bug #1083 RT14512
configure.in: new HAVE_FCNTL_LOCK detect fcntl() locking capability
Fix #1008 about status storage that displays “Writing” and “Reading” information for the same DCR
Add new %E job code to use non fatal job errors in scripts
Revert to old htable, but add 64 bit hash
Fix possible race condition in smartalloc
Refactor + optimize fstype.c + revert mntent_cache.c/h
snap: Fix small initialization problem with LVM backend
Fix compilation warning in bextract
lock the pid file using fcntl(F_SETLK)
bat: Fix segfault in client view when the Uname field is empty
bat: Fix #1047 about segfaults in Client, Media and Pool view
Revert patch 62ab7eb5 for filed/backup.c
Revert patch 62ab7eb5 for filed/verify.c
Refactor mount/unmount to use class calls
Add return status to DEVICE:close and report error at end of Job
Fix seg fault
fix a Dmsg in match_bsr.c:match_volume()
Fix #861 about bad help command on status schedule
Add new cats header file
Refactor DB engine to be class based
Remove regression cancel_test from do_all
Fix invalid .mod command in BAT during restore (bugfix #858)
Use B_ISXDIGIT() in rangescanner
Handle hex numbers in str_to_uint64()
Fix prune-migration-test – wait in wrong place
fix MA 987 cannot copy/migrate jobs with a Level=VF in the job resource
Fix basejob error caused by patch on bug #965
Allow to list restore jobs in llist jobid= command
Fix #940 about segfault in bat when doing an “update slots”
Fix #983 about segfault on win32 filedaemon when using bat to monitor the status
Fix #969 about a segfault while doing a cancel of a copy job
Fill errmsg after an error with FETCH query in db_big_sql_query()
Fix #965 about an empty error message after a problem when sending accurate file list
Fix #972 about segfault in show command used with multiple resources
Work bsnapshot for SLES12 and fix issue with ZFS
Fix small memory leak in cancel command with ujobid and job parameters
Ensure that client resource is not freed during setbandwidth command
fix errors in the use of a Mmsg()
Use a specific mutex for auth instead of jcr->mutex
update po
Add missing call to free_jcr() in previous patch
Lock the jcr when using sd_calls_client_bsock variable
Ensure that only one thread can use the auth code in the Storage
Fix #951 about SDCallsClient not used during restore jobs
snapshot: Get the creation date from the zfs list snapshot command
snapshot: Fix small issue with Name parameter in list snapshot
Fix bsnapshot to return status=0 on error
fix a mempool error at SD shutdown
snapshot: Call support() only if the device is in the fileset
snapshot: Avoid double / in path and files when volume is /
Fix segfault with Console runscript introduced by “Stop ua commands if comm line drops”
handle ctrl-C and SIGTERM the same way in SD
Startup scripts return proper exitcode for service restart action
Implement tables configuration
Add ReadBytes to FD status output
Accept 0/1 for @BOOL@ type in ConfigFile module
Set cmd_plugin only in pluginCreateFile if not SKIP/ERROR/CORE
Fix #13680 about systemd message “unknown lvalue”
Stop ua commands if comm line drops
Fix weird compilation problem on rhel5
Display TLS information in status client/storage
Fix rpms where unix user were not properly defined
update extrajs package in debs/rpm package
Fix segfault with new filesetcmd
snapshot: Reset JobId in Snapshot table when deleting a job
snapshot: Add ability to list snapshots from the FD
snapshot: Add a confirmation message when pruning snapshots
Add RunScript AfterSnapshot event
Fix #431 About upon upgrade, RPMs resets group membership
snapshot: Display bsnapshot error message if possible
Fix jobmedia-bug3
Set error code in return from run regress script
snapshot: More work on LVM backend and on list/sync commands
snapshot: Add EnableSnapshot directive in fileset
snapshot: Add errmsg and status to SNAPSHOT_DBR
snapshot: Send SnapshotRetention parameter to the Client and work on the prune command
Add bacula-snapshot.spec
Add disabled=yes/no in bsnapshot.conf
Fix #875 about bvfs repeats the same output many times
Revert “Storing the result in a local variable from sql_num_fields saves us a lot of callbacks.”
Remove passing args to cats driver class initialization
Simplify cats by eliminating the B_DB_PRIV class
Convert more db funcs to class calls
Add Snapshot Engine to bacula core
Change more db calls into class calls
Add files missed in last commit
Convert db_lock/unlock to be called via class
Fix small memory leak
Remove more vestages of Ingres
Fix #843 about “show storage” option missing in the help command output
Use bzip2 for sles dependency
Avoid warning with uninitialized variables
update “help status”
Revert “Small fix to Eric great patch for readline commandcompletion so it also compiles on non gcc compilers.”
Separate out definitions into new header
Remove bad restore.h
Revert “Move restore struct defintions to seperate include file. Small change to acl.h and xattr.h to use define inline with other header files.”
Revert “Fix MediaView::getSelection”
Bat: ensure sufficient rows to display drives in storage display
new MmsgDx() macro that combine Mmsg(errmsg, fmt, …) and Dmsg in once
add a ASEERTD() for DEVELOPPER
Fix wrong KiB value
Revert “Fix bug #1934 Wrong values at media list in BAT”
Change bplugin_list to b_plugin_list which is more appropriate
Remove Ingres related unused files
Simplify rwlock coding
Make subroutine names clearer
Back out useless patches
Put back old code prior to excessive edits
Remove over complicated acl/xattr code
Add license to files without any
Fix #805 about nextpool command line argument not properly used
Remove recursion from free_bsr() and free_bsr_item() to handle very large BSR
Avoid segfault in connect_to_file_daemon() when jcr->client is NULL
#776 Volume created in the catalog but not on disk and #464 SD can’t read an existing volume
Add schedule to show command tab completion
Make global my_name hold 127 chars
Mark file volumes that are not accessible in Error in mount_next_vol
Fix #743 about bat permission conflict on /opt/bacula/etc
Add copyright to Makefiles
change in lockmgr.c to avoid the report of a memory leak in testls
lib: integrate SHA2 into bacula
Fix #747 about restore problem failing on “Unexpected cryptographic session data stream
Revert previous copyright accidentally changed
Fix btape fill command by removing some debug code in empty_block()
Add Accurate Fileset option “M” to compare ctime/mtime with the save_time like with normal Incremental
Add index on Job(JobTDate) to mysql catalog
Fix bad check on bopen_rsrc return status. bug #2106
Do not stop the storage daemon startup if the File device is not yet accessible
Fix double free in btape
Fix failed mount request in btape fill test
Avoid ASSERT() when using btape with vtape driver
Possible fix for NULL client bug #2105
Fix compilation of Nagios check_bacula
Add test for restict c99 in autoconf
Allow to use device= option in release/mount/unmount command
Fix #699 about duplicated job name when starting two jobs at the same time
Fix #701 about status schedule missing from tab completion and correct job filter
remove autoconf/configre
Fix #346 Add ipv6 support for Solaris
Fix #692 about compatibility issue with community FD
Fix new match_bsr patch
Fix #588 Improve SD bsr read performance
Fix ownership bug in html-manuals package
Add EFS in the client status flag list
Implement Win EFS Support
Fix QT windows build for 32bit
Add SLES113 to spec files
Add @encode and sp_decode functions for plugins
Fix tls-duplicate-job seg fault + harden pthread_kill() code
Update plugin version to ensure 8.0 will not load 6.6 plugins
Add JobBytes and ReadBytes to llist jobid= output
Rewrite store_drivetype and store_fstype to allow a comma separated list of items
Fix #633 about JobDefs MaximumBandwidth Job inheritance
Fix possible editing truncation due to 32 bit calculations
Remove non-portable -ne in echo
update po
Add Makefile for mssql-fd plugin
Improve error message of open_bpipe() on win32
Add jobid= parameter in .status dir running command
Add worker states
Pull latest worker files from development branch
Add comment about incorrect scripting
Put Dsm_check() on reasonable debug level
Remove auto-generated tray-monitor.pro.mingwxx file
Display message about MaximumBlockSize default value only if a value was specified
fix solaris : replace be64toh() by unserial_uint64()
update SD <-> SD capabilities exchange
Handle RestoreObjects with Copy/Migration jobs
Add free list to worker class
Fix bad caps with SDcallsClient + debug + fix seg fault on connection error
Implement blowup=nn for FD and hangup+blowup for SD
Correct bat copyright
Change sizeof expressions to be more standard
Remove regress trap that causes sd-sd-test to fail
Dmsg was not handling tag anymore
Fix for SD seg fault while swapping volumes
Make bextract able to handle dedup streams
Remove unused file
Make sure mount_next_read_volume() will cancel the current job
Forbid llist command in runscript
Fix #295 about query file message
Add no_mount_request to DCR
Update Windows .def file
Add spec file for redhat/suse html manual package
Fix bug #2091 bad vtape device definitions
Fix bug #2089 compiler warning
Make sure level is tag free when printing debug message
fix tags in Dmsg
Regenerated configure script
Remove spaces at the end of lines in Bat file
Revert bat.pro.in file
Fix recursive echo bug #2088
Add new fifo class flist.h/c
Allow to create temp DEVICE from DEVRES
For bat always use g++
Make selection by Volume Name or MediaId a bit clearer
Optimize Dmsg() with tags by keeping current tags into a separate variable
Make message more understandable
Bugs fixed in this version: 1099 1209 536 1108 1127 876 1075 1083 1008 1047 861 858 965 940 983 969 965 972 951 13680 431 875 843 1934 805 776 743
See also
Previous articles:
Next articles:
Go back to: Bacula Community Release Notes.