From: Kern Sibbald Date: Sun, 19 Oct 2008 10:49:41 +0000 (+0000) Subject: Update notes X-Git-Tag: Release-7.0.0~3908 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3f820765ce8612ff08066ecb6db4ba1def6f0ad9;p=bacula%2Fbacula Update notes git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@7842 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/ChangeLog b/bacula/ChangeLog index e65d42a68d..fb904ed42f 100644 --- a/bacula/ChangeLog +++ b/bacula/ChangeLog @@ -1,18 +1,286 @@ - Technical notes on version 2.4.x + Technical notes on version 2.5.x General: -Release Version 2.4.2 +Release Version 2.5.16 +19Oct08 +kes Add Makefile dependency when using LIBTOOL_LINK so that any + change in ./configure options will be accounted for. +18Oct08 +kes Fix typo in the ACL patch that I overlooked. +kes Apply Marco's libtool include patch. +17Oct08 +kes Apply Bastian Friedrich's ACL patch to eliminate ACL + errors during restore. +kes Minor cleanup of create_restore_volume_list() code. +kes Fix typo in console Makefile.in +16Oct08 +ebl Fix #1110 about RunScript that can't execute a script with + Unicode caracters in the path. +15Oct08 +kes Apply tray-monitor patch from Bastian Friedrich to make it + work with the new FD. +14Oct08 +kes Apply cleanup patch from Marco +kes Apply patch from Marco van Wieringen + that implements libtool to create shared objects out of + the Bacula libraries. +kes Fix tray-monitor so it will speak to new FD. +ebl Fix bug with ansi label when volume name length < 6 +ebl Fix segfault in debug level > 50 with btape. +ebl Remove warning message in btape when command is empty. +kes Fix Win32 build to pull in new BACULA define. +13Oct08 +kes Change IncludeDir to Exclude Dir Containing. +kes Implement code to prohibit ExcludeDirContaining in an + Exclude section (same for Plugin and Options). A bit + of a kludge with RES_ITEM2 ... +ebl Add field to command list to restrict Runscript console + command. +ebl Use a separate JCR when running Console command with Runscript. +ebl Permit to mark version as Beta in some ouputs +11Oct08 +kes Add plugin types in jcr.h to reduce need to cast. +kes Do better checking of plugin return values. +kes Free plugin context after calling pluginFree() as + requested by James. +kes Allow plugin to call JobMessage with NULL context. +kes Do not add plugin to global list if loadPlugin returns error. +kes Rework plugin.h a bit to reduce dependence on Bacula. +10Oct08 +kes Move generation of bsr file for Virtual Backup to run section + so that it is generated just before actually running. + Suggested by Graham Keeling. +09Oct08 +kes Add malloc and free Bacula entry points for plugins. Increment + FD plugin interface version. Create a bacula plugin context + structure to keep track of whether or not the plugin is disabled. +kes Apply FileIndex fix for plugin name stream suggested by James. +kes List plugins in FD status report when debug > 0. +08Oct08 +ebl Add a new VerId variable that is printed in version command. +kes Fix migration SQL not to migrate a job that has not terminated. + This is a partial fix to bug #1164. +kes Sort JobIds returned from db_accurate_get_jobids() to fix Virtual + backup start time bug reported by Graham Keeling. +08Oct08 +ebl Fix possible bug in cancel_job() with job that are not + yet created. +07Oct08 +kes Fix bat build for Win32. +06Oct08 +kes Copy plugin link field into ffpkt. +05Oct08 +kes Integrate patch from Kjetil Torgrim Homme + It provides FileRegex in bsr files and code to collect regex + from the user during restore, an Allow Mixed Priorities feature, + and documentation for the above. +ebl Remove db berkeley from configure process +kes Do dirty check on hostname (Linux only) and if not resolvable + use localhost as default. +kes Increase vtape max block to 20GB. +04Oct08 +kes Refactor restore code to create a close_previous_stream(). This + This may destabilize the source. +kes Implement planned startRestoreFile() plugin call. +ebl Remove missing Loaded information from status slots storage command. +ebl Fix Console command problem that cancels the job +kes Add more plugin restore debug code. +03Oct08 +kes Fix plugin_bwrite - plugin-blseek mixup pointed out by James. +kes Rewrite plugin restore interface a bit to correspond to how Bacula + creates and writes to the restored file. +kes Add some DebugMessage() calls to the bpipe-fd.c program. +30Sep08 +kes Apply Marco van Wieringen's set of patches, cleans up Migration/Copy + Implement 'Pool Uncopied Jobs', allow Solaris Compiler to build + Bat; allow add and delete in place of mark and unmark. +kes Another attempt to fix the endRestoreFile plugin bug noted below. +29Sep08 +kes Apply dbi driver patch from Joao. +kes Correct a bug in passing the context to the endRestoreFile() plugin command. + Bastien Friedrich reported the bug. +kes Create plugin instance only when FD job starts. +kes Add new FD plugin event: bEventCancelCommand when + a cancel command is issued to the FD. +28Sep08 +kes Add cmd_plugin flag to jcr so we can globally know if a + command plugin is running. +kes If command plugin running, do not attempt (for the moment) + to get Win32 extended attributes. +kes Ensure that proper Win32 flags are set in bfile packet + if plugin_bopen() works on Win32. +kes Remove generated src/plugins/fd/Makefile +27Sep08 +kes Implement build and install of bpipe-fd.so plugin. +kes Rework the interface that passes packets to the plugin + so that the packet is started and ended by the packet size. + This allows the driver to do a sanity check. +26Sep08 +kes Rework the pluginIO Bacula internal code to enable + proper handling of Win32 error codes from GetLastError. +kes Apply Joao's patch to regress startover_libdbi. +25Sep08 +ebl Add -B option to dbcheck to get catalog information +kes Fix Win32 build to include new library function. +kes Remove some old reader/writer code. +kes Implement ./configure --with-plugindir=xxx +ebl Fix the mysql bug in the new accurate code +kes Improve plugin debug. Create plugin test. +kes Set main thread specific data to INVALID because it + has no jcr. This allows debug output to work correctly. +kes Add src/plugins/fd/Makefile to ./configure process. +kes Make first cut attempt to correct SQL that computes the current + Pool usage. This is to fix bug #1159. +kes Do a bunch of plugin cleanups for Win32 and more careful checking + of PluginDirectory and whether or not a plugin was found. +24Sep08 +kes This code should fix the race condition that leads to a Director + crash at job end time when the job list is updated. This was reported + in bug #1162. +kes Add more plugin documentation and fix include of config.h for + Win32 build (I hope). +22Sep08 +ebl Revert to htable instead of rblist +ebl Cleanup accurate code (remove tcdbm parts) and use red/black + tree instead of htable. +ebl Use a dedicate DB link to compute and send the accurate list + file to the client. +21Sep08 +kes Fix compile errors in filed/fd_plugin.c. +20Sep08 +kes Remove all double quotes from SQLite creating script and + replace by single quotes as suggested by John Huttley. +18Sep08 +kes Apply dbcheck patch from Yuri Timofeev . + It significantly improves the performance of dbcheck for + MySQL. +kes Fix bad debug code call in src/filed/accurate.c +17Sep08 +kes Change two Jmsgs in accurate to Dmsg to reduce unnecessary + output. Perhaps we really need to implement M_SAVED. +16Sep08 +kes Fix bug #1156 FD crash during processing of Accurate data. +kes Tweaks to htable code to improved debugging and make names + a bit more meaningful. +15Sep08 +ebl Remove time_t from update_stats() +14Sep08 +kes Modify the license of the example plugin program to allow + it to be used by anyone for making a Bacula plugin. +kes Make apply_rp_codes() in bpipe-fd.c be static. +13Sep08 +kes Remove Encryption and Accurate lines in vbackup output -- not used. +kes Fix subtle bug in vbackup by not changing DEV_RECORD packet. +kes Add host name to items printed during dump. +kes Make Check File Changes default on. +11Sep08 +kes Set the default FD timeout to 3 minutes (previously 30). +kes Apply Bastian Friedrich's weird spelling correction patch. +10Sep08 +kes Always print Verify hash differences. Rename variable to make the + code slightly more readable. +09Sep08 +kes Correct tests for MaxFullInterval as reported by + Ulrich Leodolter .. +kes Fix MaxDiffInterval code as well. +kes Enable Win32 plugin load code in lib. +kes Make Verify code that computes disk checksums use the same + algorithm as backup when dealing with sparse files. +kes Attempt to run VSS on any systems newer than Vista -- should + make it work on Windows Server 2008. +ebl Change the new statistic implementation. Remove the UseStatistic + directive and add a 'update stats [days=...]' command. You can + now decide when copy job records from Job table to JobStat. + Statistics are much more accurate with this. +08Sep08 +kes Fix SQL case problem that may cause the failure of DiskToCatalog + in bug #1149. +kes First cut adding SD plugins. +03Sep08 +kes Add Slot if it is non-zero to writing bsr file after a + backup. +kes Change a number of bnet_fsend() into class method calls. +kes Begin audit of diff of 2.4 branch to trunk code. +01Sep08 +ebl Fix the mysql creation script that double-created an + index of the same field on the Media table. + Add an index to on VolumeName to the Media table for mysql. +30Aug08 +kes Another try at fixing Vbackup. It looks much better this time. + Disable file index sanity check in FD with value stored in + attributes record because with Vbackup the File Index gets + changed, but not the attributes record. + Enhance some debug code. + Fix handling of re-indexing records that are copied in Vbackup. +29Aug08 +kes Made level_to_str() know about Virtual backup. +kes Set correct Virtual backup write pool. +kes Fix compile warning in new dbcheck port code. +kes Fix migration code broken by previous virtual backup fix. +28Aug08 +kes Fix problem of Virtual backup not writing a sequential FileIndex. +kes Reset Virtual backup time/date to the value from the last backup. +kes Ensure that storage name is passed to SD on read. +kes Correct a problem with Level and Virtual backup, rework how + bsrs are printed in debug to use standard routine. +kes Apply patch from Chris in bug #1133 that provides alternate db port + support for dbcheck. +ebl Remove catalog dependency from bcopy tool. +ebl Modify catalog scripts to have an easier packaging integration, + using default variables. + Make difference between SQLite3 and SQLite in db_get_type() +27Aug08 +kes Apply most of changes in a patch from: + Michael Stapelberg + that allow the Bacula FD to compile on IRIX 6.5. +26Aug08 +kes Apply patch from Bastian Friedrich that accepts a yes on a + delete volume command line. +kes Attempt to fix bug #1128 InChanger flag cleared during Migration + job when reading from one autochanger and writing to another. +kes Minor tweaks (copyright dates convert to use method instead of bnet). +21Aug08 +kes Fix NULL Volume error when reading (or Migration or VBackup) must switch + drives when no tape is mounted. +18Aug08 +kes Add additional info to some SD messages. +kes Add fix supplied by Martin Simmons for turning off EOL character + in new console multi-command code. +14Aug08 +kes Fix a Verify InitCatalog problem where in certain cases + a garbage filename may be entered in the verification database. This + fixes bug #1143. +13Aug08 +kes Add VSS 64 bit dll entry point in src/win32/filed/vss_generic.cpp + sent in by Riyas Yoosuf. +12Aug08 +kes Fix seg fault in Dir during estimate command with no level value + given. This fixes bug #1140. +08Aug08 +kes Add message to migration job when the target job is already migrated. + This closes bug #1129. +30Jul08 +kes Fix Win32 build. +kes Raise some restore debug levels. +kes Replace off_t by boffset_t where ever I found it. +28Jul08 +kes Define a machine dependent ioctl request type for use with + vtape_ioctl(). 26Jul08 kes When a migration job actually runs, re-check the Job record and skip if the job is already migrated. This should significantly reduce the problems with bug #1129. 24Jul08 +kes Set MALLOC_CHECK_=0 in environment before starting Bacula to + turn off glibc checks that prevent getting good dumps. +kes Implement console 'wait mount' command. Doesn't yet work. +kes Implement timeout=nn on console 'wait mount timeout=nn' command. kes Break the do_swapping into do_unload, do_swapping, and do_load. It is much more logical that way. kes Implement a set_dcr_from_vol subroutine in acquire.c for reading volumes. This allows the dcr to be refreshed after being zapped when the wrong volume is mounted. - This should fix bug #1126 -- During multiple tape restore, bacula + This should fix bug #1126 -- During multiple tape restore, bacula does not ask for physical tape change, but rereads same tape 23Jul08 kes Apply patch submitted for bug #1107 with a small modification. @@ -21,23 +289,56 @@ kes Make some tweaks to bsmtp based on patch submitted in bug #1124. This fixes bug #1124. kes Make the default bat restore Pool be Any. This fixes bug #1118. 22Jul08 -kes Minor cleanups. -kes Fix bug #1125 which reports a SD crash at the end of a tape - during restore. It was a debug statement that should not be - in a release. +kes Remove debug statement that crashes the SD at the end of + a tape during restore. Fixes bug #1125. +21Jul08 +kes Implement Win32 bat changes made to Branch-2.4 20Jul08 -ebl fix #1034 by setting big timeout on mysql connections -19Jul08 -kes Do partial integration of the Win32 bat build created by Eric. -kes Fix bat not to block. +kes Tweak separator command in console to start disabled and + allow defining no separator character. Also make code a + bit more fault tolerant. +kes Make btraceback write the traceback to the working directory + before attempting to mail it. +kes Add a RFC to Projects. +18Jul08 +kes Attempt to implement a kludge to make Qt work with bat + on Win32. +kes Setup rstorage correctly. Virtual backups are working. +17Jul08 +kes Move setting JobLevel and JobType into a method, which should + allow completing Virtual Backups. +kes Fix verify jobs to work again. +16Jul08 +kes Virtual Backup tweaks -- it is close to working. 15Jul08 kes Ensure that SD tried to mount a volume not in an autochanger at least once before asking for operator intervention. -kes Fix a pthreads bug in the Win32 pthreads emulation code. - - -Release Version 2.4.1 +kes Make SD aware of Virtual Backup jobs. +kes Add VirtualFull for bat. +kes Changes to get read storage correct for Virtual Backup. +14Jul08 +kes Remove old code from label.c +kes Split display_display_info() out of write_bsr_file() +kes do_vbackup_init() working -- i.e. bootstrap file built. +kes Change Bacula trademark owner from John Walker to Kern Sibbald +kes First non-working cut of vbackup +kes Correct FD heartbeat code to use volatile variable accessed by + two threads. +kes Zero thread id with memset if on Win32 in case it is a struct. +kes If cannot create JobMedia record, continue to try to write eof + and clean up in block.c +12Jul08 +kes Add code to interface OpenSSL to new Win32 pthreads code which + used a structure for thread_t. +09Jul08 +ebl tweak bat for win32 compilation +08Jul08 +ebl Remove tokyo cabinet from the source +ebl Update configure/autoconf to support berkeley DB +ebl Add a sort to db_get_file_list() to improve bsr construction time. 07Jul08 +kes Add a mtx-changer.conf file that is not overwritten during + an upgrade. It fully configures the mtx-changer script. kes Clear in-use bit on vol when unused while swapping. 06Jul08 kes Remove sleep at end of ./bacula @@ -51,68 +352,96 @@ kes Correct bat restore display of multiple drives. This fixes bug #1117. kes Do find_a_volume() each time an unload is done. This fixes the failure of maxvol2-test. - -Release Beta version 2.4.1-b2 -04Jul08 +04Jul08 +kes Add some SD debug code. +kes Do find_a_volume() each time an unload is done. +kes Apply Joao's DBI patch that adds easier configuration of DBI drivers, + and adds --with-db-port to ./configure. kes Use Qmsg() in job.c watchdog callback. 03Jul08 kes Release main control rwlock if ABORTing. kes Make watchdog connect timeout queue messages rather than sending directly to avoid lock conflicts with the real thread. -kes Remove const char that causes problems with Python, which has - older 'incorrect' headers. kes Add const char in dbd.c to avoid compiler warnings. +kes Fix python compiler string warning. Note, IMO the GNU C++ + compiler guys have made a *very* bad change to their compiler. + They now force all strings to be 'const' unless you explicitly + cast them, which is extremely ugly and ruins nice code as well + as creates a lot of useless work. 02Jul08 kes Fix mtx-changer to detect both versions of Ubuntu (Debian) mt. This fixes bug #1116. +kes Add const in python files to reduce compiler warnings. + This may have to be backed out because of later compiler + strict checking. kes Fix failure of 2drive-concurrent-test. Always read label; clear_unload() only after drive is defined in acquire_for_read(). - -Release Beta version 2.4.1-b1 -01Jul08 -kes Back out bad src/lib/base64.c change. 27Jun08 kes Generally clean up the manual tape loading code. The main - conceptial change is that when a volume is marked to be unloaded, + conceptual change is that when a volume is marked to be unloaded, its volume name is retained, and it is only marked as unloaded when either the autoloader says it is unloaded or another tape - is read on that drive. -26Jun08 -kes Fix a recycling problem with two autochangers reported in bug - #1106. This may also (unlikely) fix a second recycling bug as - reported in #1103. -kes Fix a SD lock volumes deadlock problem reported in bug #1100. + is read on that drive. 25Jun08 +kes Add debug code and refactor subroutine in stored/mount.c kes Fix format problem in bscan output reported in bug #1105. +ebl Fix get_next_volume_for_append logic with autochanger + - use pruned volumes if found + - don't reset the inchanger flag after getting a recycled volume + or a scratch one + Fix recycle_oldest_purged_volume to take InChanger flag in account +23Jun08 +ebl Add mmap/unmmap implementation for tokyodbm under win32 22Jun08 +kes Make first step toward eliminating globals from config + scanning. Also should be a workaround for FORTIFY_SOURCE + GNU C bug -- fixes bug #1042. +21Jun08 +kes Apply duplicate job tests to restarted jobs. kes Copy more data when restarting a job so that run overrides are kept. This should fix bug #1094. -kes Backport updates to jobq.c where possible. 20Jun08 +kes More word alignment cleanup. kes Fix bug where SD did not ask operator if the device could not be opened. Reported by Eric. 19Jun08 kes Add dbuser to DIR conf file (replaces user). kes Add --with-db-password to ./configure kes Fix regress to handle db_password. -kes Fix a couple of pedantic compiler warnings. -ebl Fix bug when starting a restore on a storage that doesn't - have the requested MediaType. +ebl Add new 'status storage slots' that list autochanger + content. +ebl Update vtape driver to compile only under Linux. +ebl Fix a bug when restoring with a wrong mediatype. 18Jun08 -kes More work on word alignments -- eliminate all ints from - the configuration routines. +kes Eliminate ints from conf files and structures to avoid + word alignment problems 17Jun08 kes Fix bug reported by Scott Barninger where the bacula script refers to scripts in the wrong directory. Needed to meet the requirements of recent FHS location changes. -kes Fix word alignment problem on non-Intel 64 bit machines - such as Solaris. This should fix bug #1097 -- bus error in SD. -12Jun08 -kes Add missing win32/patches/wxWidgets.patch to 2.4 repository. +ebl Disable vtape for FreeBSD. +15Jun08 +ebl Modify disk-changer to check if slot contains something before + loading it. +14Jun08 +ebl Fix vtape on win32 and debian. +ebl Fix autoselect patch (cause segfault). +13Jun08 +ebl Fix autoselect option broken for a while. Fix #1089. Need some + work with StorageId to be able to use a particular drive in a + autochanger. +09Jun08 +ebl Rename vtape to vtape. +ebl Update vtape driver. +08Jun08 +ebl Modify vtape driver to avoid sparse file. +kes Add make clean of qt-source directory during ./configure +kes Store last block number written to tape in DEVICE and + use it for testing for correct last block on EOT. -Release Version 2.4.0 +Release Version 2.4.0: 04Jun08 -kes Update version to reflect the magnitude of the SD changes. +kes Fix Win32 build. 03Jun08 kes Make sure to clear JS_WaitMedia when operator mounts a Volume. This fixes bug #1095. @@ -127,8 +456,10 @@ kes Make DEVICE Slot private and access it via a method. Allows better control over when it is set and cleared. kes Fix possible seg fault if SQL error. 28May08 +kes Add Martin's fixes to argument scanning for the estimate + command. This fixes bug #1093. kes Add debug code to SD. -kes Fix renaming a Volume, which used the wrong Volume name. +kes Fix renaming a Volume, which used the wrong Volume name. 26May08 kes If operator has rewind tape, print warning, release tape and try once more. If tape is positioned somewhere, something went @@ -138,18 +469,18 @@ kes Ensure correct volume name displayed during restore kes Ensure that Volume is mounted for restore. 25May08 kes Fix a few more Coverity reported problems. - -Beta Release Version 2.2.10-b4 24May08 +kes Apply Allan Black's status dir job count patch. +ebl Add information about IMPORT/EXPORT slots in mtx-script. kes Enhance a couple of SD debug messages. kes Tweak unload flag setting and ensure it is set during swap. 23May08 ebl Fix #1091 about bad output in estimate command. 21May08 kes Modify autochanger locking to attempt to avoid race - conditions. + conditions. kes Make sure device not busy before doing label command. -kes Display open() errors except when polling. Previously too +kes Display open() errors except when polling. Previously too many were suppressed. This should fix bug #1070. kes Fix Win32 reparse points. Bacula will not recurse into any reparse point directory, including mount points, unless the @@ -161,23 +492,33 @@ kes Fix Win32 reparse points. Bacula will not recurse into any kes Remove double quotes from ChangeLog and ReleaseNotes kes Remove StorageId test when pruning and recycling (Eric's changes). kes Remove old form of locking when getting volumes -- causes deadlock. +kes Change bat dirstat layoutWidget to dirstatlayoutWidget to make + the name unique and to eliminate compile time error. +kes Add accurate.o to Win32 FD Makefile +19May08 +kes Fix cats dll build on Win32 after db_update_job_end_record + calling sequence change. +ebl Switch to tokyo dbm instead of htable in accurate code +ebl Include tokyo dbm to bacula source tree 17May08 kes Fix buffer overruns detected by Coverity. - -Beta Release Version 2.2.10-b3 +13May08 +kes Tweak joblog display. 12May08 kes Implement --without-qwt kes Fix layout of restore tree dialog kes Add configure bat QWT libraries, so that bat can be built with or without the QWT libaries. 11May08 -kes Apply batfix bat cleanup patch from Riccardo. +ebl Add dummy tape driver for regression tests. kes Make sure we unload the right slot when swapping. +10May08 +kes Add debug times, reduce size of two-pool-changer test 08May08 +ebl Tweak autoconf scripts for vtape +07May08 kes Improve SD reserve debug code. kes Testing an improvement to free up volumes no longer in use. - -Beta Release Version 2.2.10-b2 03May08 kes Rework SD acquire for read to handle autochanger Volume swapping. @@ -186,37 +527,51 @@ kes Implement regression that explicitly tests swapping a Volume kes Enhance disk-changer to detect most error conditions. kes Fix SD code so that it properly swaps a Volume between drives. This fixes bug #1083. +02May08 +kes Apply libdbi patch from Joao Freitas for regress and for + Bacula trunk. Regress now works with libdbi. Nice. +kes Apply .nobackup patch from bug #1077 submitted by + Edwin Groothuis. +kes Apply Bastian Friedrich's patch that adds %p to edit the pool + name into jobs cloned via the run directive. 01May08 kes Prevent a Volume that is being swapped from being freed from the volume list. This will most likely fix, at least partially, bug #1083. kes Fix strippath so that it does not get a buffer overrun and crash FD. This fixes bug #1078. -kes Make inability to change owner/group when creating a dir only a - warning rather than an error. +kes Remove 50 millisec wait in SD that broke debugger. +ebl Add MaxRunSchedTime option that specifies the maximum allowed time + that a job may run, counted from when the job was scheduled. +ebl Fix MaxWaitTime option that specifies the maximum allowed time that + a job may block waiting for a resource, counted from when the job starts +ebl Rename (add) Max(Incr|Diff|Full)WaitTime to Max(Incr|Diff|Full)RunTime +kes Apply patch from bug #1076 by Tullio Andreatta + that implements multiple commands per line in the console when using + readline. Modify the default to use a semicolon as the command separator. 28Apr08 -ebl Fix SQL query in migration code +ebl Fix SQL query in migration code. +ebl Make accurate mode with hash disk pass regression tests +27Apr08 +ebl Implement first cut of accurate backup with hash disk. 19Apr08 kes Force unload of volume when wrong volume mounted in SD. 17Apr08 kes Fix bat seg fault at termination. kes Add Bacula generated version to bat about box. - - -Beta Release Version 2.2.10-b1 -16Apr08 -kes Permit multiple simultaneous restores -- experiment. -15Apr08 -kes Backport development stream SD reservation system changes. - See below: -=== + 16Apr08 +kes Experiment with allowing multiple read jobs. kes Move final volume swapping code to DCR method and call it from acquire_for_read(). kes When wrong volume is mounted during read, unload_autochanger. +15Apr08 +kes Integrate the libdbi changes from Joao Henrique Freitas 14Apr08 kes Stop searching for Volumes in SD askdir if DIR returns the same volume name twice in a row. +kes Close bat console windows first to eliminate error message + from the notifier. 13Apr08 kes Tweak the swap Volume from one drive to another code so that it now seems to work. @@ -241,6 +596,11 @@ kes Correct name overloading in mount.c kes Replace released flag in VOLRES with reserved and add access methods for the VOLRES class. kes Prevent volume from being released while being swapped. +kes Apply Bastian Friedrich's edit codes patch for the bpipe-fd + plugin that add %w (where) and %r (replace flag) editing to + the plugin line. +kes Apply Bastial Friedrich's edit pool=%p patch for run clone + jobs. kes Refactor parts of stored/mount.c 09Apr08 ebl Add sanity checks for VolWriteTime and VolReadTime @@ -254,44 +614,29 @@ kes Do not prune any running job. It just fails the job. kes Lock the volumes when changing dev->reserved_device and marking the volume unused otherwise the device can get reserved by another job before the volume is released, thus blocking it. -=== - -Beta Release Version 2.2.9-b7 -14Apr08 -kes Close bat console windows first to eliminate error message - from the notifier. -kes Remove useless code in Scheduler that causes seg fault on - termination. -kes Correct some SD catalog request error messages. -kes Don't allow pruning of any running job. -kes Turn off code in read_record that causes a seg fault in the SD - when reading past an EOS_LABEL. -kes Turn off unloading the autochanger in reserve.c as it just - causes problems. -kes Lock volumes when unreserving a device. -kes Do not mark volume unused when recycling. -kes When acquiring, don't mark volume unused if it is reserved (busy). - -Beta Release Version 2.2.9-b6 06Apr08 -kes Eliminate ./configure warning on po directory +kes Correctly detect Ubuntu systems, and add ubuntu platform directory. kes Fix bug #1063, reuse of freed ptr in list nextvol. kes Release regex compile buffer in filed/job.c kes Add proper type of const char in sql_create.c kes Turn off debug in daemon termination routines kes Move free_volume_list() before devices are freed in stored.c -kes Fix reference to uninitalized stack variables in bregex.c. +kes Fix reference to uninitalized stack variables in bregex.c. This should correct bug #1067. 04Apr08 kes Fix possible seg fault in SD when freeing a volume entry. +03Apr08 +kes Implement unload_dev() before swap device. +ebl Add statistics prunning with option and menu +kes Separate unload_dev() from unload_other_device() in autochanger.c 02Apr08 kes Apply patch from bug #1069 that corrects spurious error messages when ACLs enabled on SGI but no ACL exists. -ebl Fix a storage deamon segfault at debug level 500. - -Beta Release Version 2.2.9-b5 -- not released - -Beta Release Version 2.2.9-b4 +ebl Fix small segfault in bacula-sd when debug level is 500 +kes Modify run_program() and run_program_full_output() to use + call by reference for the results string. This corrects a long + standing problem where the address of the string may be changed + in the subroutine but not in the calling program. 01Apr08 kes Re-enable code to remember last volume mounted on a non-tape Autochanger. @@ -300,53 +645,225 @@ kes Add patch supplied in bug #1068 that fixes a SD crash when using kes Generate correct JobMedia records during spooling/despooling when running concurrent jobs. Thanks to Tom Ivar Helbekkmo for excellent analysis and testing. - -Beta releae version 2.2.9-b3 +31Mar08 +kes Tweak hash algorithm for htable using Martin Simmons idea + for doing a circular shift. +kes Remember what volume is in VTLs (previously turned off for + testing). +kes Analysis of JobMedia records by Tom Ivar Helbekkmo + pointed out some problems in creating JobMedia records during + spooling with concurrent jobs. Fix the problem by updating the + start file position before despooling and generate a jobmedia + record at the end of despooling. +28Mar08 +kes Fix handling of JobMedia records during spooling and when a + Volume is changed without actually writing data to the Volume. 27Mar08 kes Rework certain SD locking based on gdb tracebacks of deadlocks sent by Eric. This code now uses only the volume_lock() rather than the reservations lock when at EOM and acquiring a new volume. kes Ensure only one exit point in several subroutines. - -Beta release version 2.2.9-b2 +26Mar08 +kes Implement bsock code to permit locking. Use the new code in Verify + in the FD to prevent the heartbeat thread from disrupting the Verify + data sent to the Dir. +kes Modify SD locking to eliminate locking the reservations system from + outside the system. Use the volume lock when getting media data + and reserving a new volume at end of media. +kes Add Eric's volume_unused() fix to stored.c so that Volumes found + when SD starts are not locked into place. 24Mar08 -kes Fix to initial tape drive open to release the volume name - -Beta Release Version 2.2.9-b1 +kes Fix error compiling runscript code on 64 bit machines. +kes Tweak Win32 mount point code. +kes Fix a couple of bugs in the accurate code (bad sscanf, buffer not + cleared giving bad file estimate). +kes Implement BIG_MALLOC in htable code. Runs 2.5 times faster for + 5 Million entries. 22Mar08 -kes Fix to JobMedia fix. -kes Fix bug pointed out by Peter Much that causes the StorageId to - be updated when reading a tape (during migration, it could have - been incorrectly set to the write StorageId). +kes Keep Schedule run lists in order as suggested by + Bastian Friedrich. 21Mar08 -kes Implement autostart scripts for Debian +kes Implement autostart scripts for Debian. +ebl Implement upgrade catalog scripts. 20Mar08 +ebl Apply jobstat patch for long term statistics. Have to implement + purge stats command and upgrade scripts. kes Fix mtx-changer.in for broken Debian mt program. 19Mar08 -kes Massive commit of all fixes and back ports to create 2.2.9 +kes Fix large number of JobMedia records reported by Eric Bollengier. 18Mar08 kes Apply doc fix from bug #1062. kes Resolve crash and improper restore wx-console Win32 restore - GUI. Fixes bug #1065. + GUI. Fixes bug #1065. kes Update Win32 wxWidgets to latest version. kes Attempt to do correct handling of Win32 mount points. Should fix bug #1046. kes Fix Win32 FD backup/restore memory leak due to improper termination of BackupRead/Write. This fixes bug# 1038. -kes Add const to AIX prototype for initgroups() +16Mar08 +ebl Reduce memory usage for accurate backup, working only with ctime + and mtime. (not all Lstat field) + About 40MB for my Linux system (400.000 files) +14Mar08 +kes Add dcr->reserved_volume flag that allows us to release a volume + even if it is not vol->released. This allows maxvol2 to work when + Volumes expire and we are already writing to the device (i.e. a + volume is pulled out from under us by another job terminating after + we reserve the drive). +13Mar08 +ebl Permit multiple command/console per runscript definition. + RunScript { command = /bin/true ; command = /bin/false ... } +ebl Add RunsWhen = AfterVSS to runscript. You can execute a command + (restart an application) just after the VSS snapshot on windows. +kes Don't zap dcr values during release_volume() as they might + have the next Volume to be mounted. +kes Fix AIX prototype. +12Mar08 +kes Second cut of drive switching during backup. +11Mar08 +kes Fix Win32 build. +kes Update Win32 version of wxWidgets to most recent version. +kes Tweak Copy job details. +kes Rework dir_find_next_appendable_volume to make a bit more effort + to find a suitable volume before giving up. +10Mar08 +kes Make ask_sysop_to_create... to return if waken from wait. + This helps get out of blocked conditions. +kes Experimental implementation of switch_device in reservations. +kes Implement FD version to allow easier protocol changes. +kes Add Plugin Options string -- not yet passed to FD. +kes Implement PluginOptions ACL. +09Mar08 +kes Attempt to correct problems with restores with autochangers and + use counts going negative +kes Rework SD status command and implement API for bat. Implements + header, runing waitreservation, devices, volumes, spooling, + and terminated status keywords. + .status storage=xxx +kes Clarify TLS error message by adding double quotes around name. +kes Simplify SD/FD status code by putting api flag in STATUS_PKT +kes Pass jcr to tls routines so debug messages can be handled better. +kes Rework jobq resource allocation code, and possibly fix a bug + that caused reference counts to get out of sync. +08Mar08 +kes Rename fd/dir plugin to use Bacula standard underscore. +kes Plugin work -- bring dir up to fd level. +kes Start implementation of VTL code +kes Fix Win32 build after adding new cats subroutine. +06Mar08 +kes First cut at Duplicate Job implementation. +05Mar08 +kes Fix bugs in MaxFullInterval and Implement MaxDiffInterval. +kes Start PluginOptions string, and refactor a bit of ua_run.c +ebl Apply Allan patch that permit to reset recyclepool. +04Mar08 +kes Test patch -- possible fix or improvement for bug #1053 +kes Refactor FD and SD status commands to permit new API code in + SD, and to fix Win32 build. +kes Win32 build is now working. +03Mar08 +kes Implement 'MaxFullInterval' and start 'MaxDiffInterval' based on + some ideas in patch from Scott Bailey. +kes Begin implementation of duplicate Job control. +kes Fix some of Win32 build after recent additions. +kes Apply patch from Frank Kardel that implements 'honor no dump flag', + which causes the FD to detect whether or not the OS has the + honor no dump bit (*BSD systems), and if so, to skip backing up + any file with this bit set. The feature is enabled by setting + 'honor no dump flag = yes' in the Options section of a FileSet. +28Feb08 +kes Correct po warning message with datarootdir +kes Implement more code in dird.c to put configuration parsing in + a class rather than use globals. +kes Restructure SD status command for implementation of bat API + interface. 27Feb08 -kes Undo bug #1047 heap overrun fix as it is not correct. +kes Suppress incorrect 'Will not descend from x into y' messages. +kes Eliminate FORTIFY_CODE=2 bug, and make first cut at removing + daemon globals used by parser. +kes Apply Joao's patch to separate DB_TYPE and DB_PROG in configure. +26Feb08 +kes Fix free of plugin_list when none exists. +25Feb08 +ebl Apply accurate project patch. +24Feb08 +ebl Fix a segfault when using strip_path option. (Use of pm_strcpy + on non-mempool object) +kes First cut of converting FD .status to work with bat API. + New form is: + .status client=XXX header + .status client=XXX running + .status client=XXX terminated +kes Implement first cut of Copy Job. +kes Implement Catalog in Pool resource. It overrides catalog specified + in the Client resource. +22Feb08 +kes Apply patch (with some difficulties) from Joao Henrique Freitas + , which adds support for libdbi as a Bacula + database driver. +kes Add patch from Martin Schmid scm@apsag.com that checks to see if + ftruncate() actually works. In the case of some (cheap) NAS devices, + it does not, and so recycling NAS Volumes does not work. The code + simply unlink()s the file, then recreates it. This fixes bug #1011. +21Feb08 +kes First incomplete cut of big malloc blocks for htable. +kes Tweak plugin code. +17Feb08 +kes Plugin debug code + tweak a couple bat dialog layouts 14Feb08 kes Fix creating first JobMedia record during Migration to include proper index. This caused slow restores of migrated jobs. +kes Temp fix to plugin name file_index. +kes Bacula backed up and restored a MySQL database. +13Feb08 +kes Implement plugin restore. +kes Implement parsing of db_driver to give db_type index. 10Feb08 +kes First cut of plugin restore code. kes Fix bug #1047, which had a heap overrun when stripping certain paths, and do not strip paths on symbolic links. -kes Set catalog backup database and user name from values specified on +kes Set catalog backup database and user name from values specified on the ./configure line. -ebl Apply patch to correct bug #1031, about wrong pool source information - in job report. +ebl Fix #1031 about wrong pool source information in job report. +09Feb08 +kes Fix Win32 build. +kes Remove a redundant jcr argument to find_files, match_files, and + find_one_file. +kes Implement '.status dir header|scheduled|running|terminated' that + prints the requested status section. With the exception of the + header, the other reports have fields separated by tabs (\t). +08Feb08 +kes Apply patch from Peter Much that fixes + a resource embedded run command to find a since time if no explicit + since time was supplied on the command line. +kes Apply state-file.patch sent by Allan Black + that updates the state file at job termination time in addition to + when the daemon terminates. +05Feb08 +kes First version where a plugin did a backup. + bpipe-fd.so created a backup file, wrote a test + string to it, and Bacua could restore this fabricated file. +02Feb08 +kes Implement DB Driver = string for the DBI driver. +kes Remove all old bdb_xxx.c code. Add dummy routines to bdb.c +kes First cut of code for loading Win32 plugin dlls. Implement + dlopen, dlsym, dlclose, and dlerror in src/win32/compat/compat.cpp + and implement a dlfcn.h file based on opengroup's definitions of + the functions. +01Feb08 +kes First cut plugin directives. +30Jan08 +kes Apply patch from bug #1049 to prevent stripping the path on a + symlink. +kes Attempt to fix bug #1047 where stripping a path corrupts the + heap. Waiting for feedback. +kes Correct the Mount message not to suggest labeling a new tape + when doing a restore. Submitted by email by John Stoffel. +kes Attempt to work around gcc FORTIFY_SOURCE bug that crashes the + FD by using casting. Reported in bug #1042. +28Jan08 +kes A bit of crypto cleanup. More later. Release Version 2.2.8 25Jan08 @@ -354,21 +871,42 @@ kes Apply patch from Martin to correct bug #1040, bscan sets existing ClientId to zero. kes Fixed important spelling error in doc -- bug #1045. 23Jan08 +ebl Fix bextract to be able to extract non-portable Win32 data to + Unix/Linux clients kes Move initialization of read/write res lock earlier in the code. This fixes the crash with a null conf file. This fixes bug #1030. kes Redefine CURES in lib/parse_conf to be URES and move it all into lib/parse_conf.c -- this responds to bug #1042, but does not fix it. The fix is not to compile with FORTIFY_SOURCE. -kes Backport fix de-referencing a NULL pointer in the scanner from +kes Backport to 2.2.8 fix de-referencing a NULL pointer in the scanner from the trunk SVN. I don't think this was reported as a bug. - -Beta release Version 2.2.8 -09Jan08 -kes Re-enable the new job code editing (%f). +17Jan08 +ebl Fix a bug during tape initialization with MTSETDRVBUFFER. +12Jan08 +kes Fix Win32 build with new .def files and DLL_IMP_EXP ... +10Jan08 +kes Add DataDespooling and DataCommitting status (committing is + the last despooling). +kes Finish implementation of new reservations code noted below. 08Jan08 kes Fix bsnprintf for float point numbers. I broke recently when - parameterizing some variables. + parameterizing some variables. This fixes bug #1036. +kes Undo recent reservations changes ... will apply them later + when they work better. +06Jan08 +ebl Fixes #1034 which cause mysql to hang the connection after 8h +ebl Change default statistics target of filename.name and path.path + fields for PostgreSQL. This speeds lookup by indexes. Thanks + to Marc Cousin. +kes A few more tweaks to new reservation code. Make sure to clear + vol released flag when retaking volume. When reading label and + label is bad mark volume unused. When recycling, mark volume + unused so it can be renamed. +05Jan08 +kes Fix reserve_volume() so it doesn't release a volume in use + (i.e. a volume entry not marked released). This should be + the last part needed to fix bug #1018. 03Jan08 kes Move Heartbeat documentation from Job to Director resource. This fixes bug #1033. @@ -376,22 +914,32 @@ kes Move Heartbeat documentation from Job to Director resource. kes Fix existing switch drive SD code to call autochanger to release any old volume. This must be done to keep the autochanger from releasing subsequently newly reserved volumes in doing a close(). - This should possibly fix bugs #1032 and #1018. -kes Apply big backport of current SVN SD code that corrects a number - of race conditions. This is a first step in fixing bug #1018. + This should fix bug #1018. +kes Fail if attempting to get console input in batch mode. This + should help fail RunScript console commands that are incomplete. +kes First cut implementing switch_drive() in SD (not actually called). +31Dec07 +kes Implement first cut running console commands in a RunScript. 29Dec07 ebl Fixes bug #1028 where 'Selection Type' option was not usable with JobDefs. - +ebl Fixes bug #897 and bug #1005 where bacula doesn't display runscript + output in error. Release Version 2.2.7 24Dec07 -kes Partial back out (disabled) %f job code editing because it - does not build on Win32. +kes Add new free_tls() entry point so that Win32 builds. +kes Fix compile warning in src/lib/util.c +kes Fix entry point for edit_job_codes() so that Win32 builds. kes Fix seg fault Frank Sweetser reports in regression testing on his systems. The problem was that the original author of bsnprintf.c did not take into account the side effects of using ++x in the argument to a #define. +kes Make SD protocol backward compatible with version 2.2.x. +19Dec07 +ebl Fixes bug #1015 where bacula failed to restore acl to a socket + because Bacula no longer restores sockets. +ebl Always use ignorecase fileset option on win32 FD. 14Dec07 kes Apply patch from Michael Stapelberg that implements double quoting include names in conf files, @@ -404,14 +952,16 @@ kes Skip leading | when lex input comes from a pipe as suggested 13Dec07 kes Apply patch for bsmtp Win32 daylight savings time fix supplied by Nerijus Baliunas +12Dec07 +kes Implement Plugin Directory and plugin events. +11Dec07 +kes Implement a security enhancement: TLS authentication but no + encryption. Enabled by setting 'TLS Authentication = yes'. + Note when this is on, TLS encryption is turned OFF! 10Dec07 kes This patch corrects a problem where the maximum concurrent storage jobs counter gets out of sync during restore jobs causing jobs to 'wait on max Storage jobs'. This patch fixes bug #1009. -08Dec07 -kes Add new include to postgresql.c suggested by Marc Cousins so - that it compiles correctly with pgre version 8.3. Also fix - misuse of %x with pointer (should be %p). 03Dec07 kes This patch fixes bcopy so that it produces correct Volumes. It fixes bug #1022. @@ -421,22 +971,22 @@ kes This patch eliminates spurious output to the console during a VerifyVolume kes This patch prevents the 'status dir' command from trying to use a scratch volume and possibly moving it from one pool to another. This patch fixes bug #1019. +01Dec07 +kes Add new include to postgresql.c suggested by Marc Cousins so + that it compiles correctly with pgre version 8.3. 30Nov07 kes Fix --archivedir addition to configure. Replace it with - --with-archivedir in configure.in This fixes the regression + --with-archivedir in configure.in This fixes the regression test builds. kes This patch fixes bug #1012 where the job is canceled because - of Max Run Time exceeded when the job has not yet started. + of Max Run Time exceeded when the job has not yet started. 29Nov07 -ebl Apply Richard Mortimer patch that fixes #1016 when there are more than - one 'part' to write. Instead of each part being stored on disk, +ebl Apply Richard Mortimer patch that fixes #1016 when there are more than + one 'part' to write. Instead of each part being stored on disk, written to DVD, then deleted from disk, all parts are written to disk, and only the last is written and deleted from disk. -27Nov07 -kes Correct typos in disk-changer.in -25Nov07 kes This patch fixes the status command to include the formating string for - JS_AttrInserting. It fixes bug #1021. + JS_AttrInsterting. It fixes bug #1021. kes This patch should fix the Mac OS X build problem on the latest Darwin, where sys/types.h was not included correctly (apparently due to a change in the Mac headers). The solution was to explicitly @@ -444,7 +994,7 @@ kes This patch should fix the Mac OS X build problem on the latest This patch also has a rebuild of configure that includes the Debian qt4 patch to check for qmake-qt4. This patch fixes bug #1020. kes This patch should ensure that queued messages to the console are - displayed as soon as possible. It should fix bug #1007, but has been + displayed as soon as possible. It should fix bug 1007, but has been reported not to work. 14Nov07 kes This patch fixes the infinite loop when trying to increase the @@ -453,73 +1003,93 @@ kes This patch fixes the infinite loop when trying to increase the Release Version 2.2.6 09Nov07 -kes Get fix for joblist bug in bat from trunk. +db Remove extra data on estimate command in joblist for bat. 04Nov07 +kes Cleanup of code in SD that sets the LastWritten date. This doesn't + really change anything, but is the beginning of doing it *right*. + To do it completely right the LastWritten date must be passed to + the SD, but it is not yet done. +kes Minor tweaks to some bat restore SQL. kes This patch fixes bug #1003 where putting the message output from a Verify job into the catalog results in a recursive loop. The problem seems to show up only with postgresql (to be verified). +kes Correct %x to %p in postgresql debug statement. 02Nov07 kes Fix bug #942 where lots of emails where generated when the heartbeat interval was low and Bacula wanted a different tape from the one in the drive. -26Oct07 -ebl Apply 2.2.5-lastwritten.patch to fix the LastWritten field - which was updated during a restore (or a reading migration) bug #982 +25Oct07 +ebl Add new SD despooling attributes and Dir inserting attributes + job status codes in the catalog (Status table). 24Oct07 -ebl Use qmake-qt4 instead of qmake when available (debian system). +ebl Use qmake-qt4 instead of qmake when available (debian system). 22Oct07 kes Add a security warning to src/cats/make_catalog_backup.in indicating that passing the password via the command line (arg 3) is insecure. This responds to bug #990 (it doesn't fix it). -kes Apply 2.2.5-postgresql-errors.patch -kes Remove unneeded File table index on JobId, which is already - present as the first index of another multi-index. 19Oct07 kes Set default debug_level to zero. This corrects bugs #991 and #993. kes Fix a crash in bat when it cannot connect to the Director for example if the Director is not running. +kes Remove redundant INDEX (JobId) from File table in the trunk. + This fixes bug #992. +kes Make explicit exception to GPL in LICENSE to permit linking + the Win32 FD with Microsoft VSS code. +kes Apply the Solaris package patch from + Masopust, Christian +kes Apply the patch to optionally add a timestamp in the debug output + submitted by Mariusz Czulada . +18Oct07 +ebl Use PQerrorMessage instead of PQresultErrorMessage in postgresql + backend (sql_strerror). Fixes bug #989 16Oct07 +kes Apply Michael Short's Win32 regress patch. + It applied with no problems. +kes Add PATH command to SunOS part of mtx-changer.in so that sed and + awk are on the path. +kes Redirect stderror to stdin on mt status command in mtx-changer.in + since the status is returned on stderr on Solaris. kes Activate Close button on tray-monitor window. This fixes bug #986. +kes Check for NULL item in parse_conf.c before calling it. In the + case of Device, there is no item and this caused a seg fault when + Device appears in the conf file. +kes Add a #define __CONFIG_H when including config.h in bacula.h. This + avoids pulling in config.h multiple times in some new code. 12Oct07 kes Fix spurious warning message printed when creating a volume with a LabelFormat. This fixes bug #976. Release Version 2.2.5 09Oct07 -kes Add JobId in place of Job name in all the Jmsg() output. +kes Add JobId in place of Job name in all the Jmsg() output. kes Correct the APP_DESC for the Win32 storage service (remove an e). +07Oct07 +kes Make maxvol-test and new more strict maxvol2-test work. +kes Print JobId in all Jmsg() job output. 06Oct07 kes Add new SD despooling attributes and Dir inserting attributes - job status codes. This fixes bug #961. + job status codes. This fixes bug 961. kes Fix Win32 drive display in bat version browser. Fixes bug #962. 05Oct07 kes Fix doc issue. This fixes bug #963. kes Fix listing performance problems in bat. Pointed out by Chris Howells. -ebl Fix replace on restore. This fixes bug #969 +kes Remove old debug code. kes Fix bat code that tests for Win32. This should fix bug #968 kes Query 5 list wrong Vol after migration. This fixes bug #960 -04Oct07 -kes Correct lib/Makefile.in to include enh_fnmatch.o that was removed - in back porting from 2.3.x -03Oct07 -kes Backport almost 4000 lines of 2.3 code that fixes a number of bugs. - The details are included in the notes in this file. -28Sep07 -kes Backport 2.3 code that fixes: it fixes incorrect or incomplete error - messages; it fixes a problem opening the SQLite3 database when multiple - simultaneous jobs were running; it fixes a bug with certain versions of - MySQL where batch inserts failed because of table name character case - (upper/lower) differences. -kes Fix race condition that drops final block written to volume. - This happens in rare cases with multiple simultaneous jobs - when the Volume fills. This fixes bug #964. May be related - to bug #935 and possibly #903. -27Sep07 -kes Fix FD->SD authorization failure, which was due to spurious - wakeups from a pthread_cond_timedwait(). Simply check the - predicate before continuing. This fixes bug #953 +04Oct07 +ebl Fix #969 where user can't change Replace option in restore menu. +5ASep07 +kes Save jcr in thread specific data (tsd) for each thread. +kes Make Dmsg() print JobId as -%u. +kes Make Jmsg, Emsg, and others automatically pickup the jobid + for the thread if it exists. +kes Remove old reservation debug jid code. +kes Remove get_jcr_from_tid() from OpenSSL and tls code. +ebl Add an option that permit to specify spool size in job + definition. (Applying patches/testing/spoolsize_per_job.patch). + You must upgrade SD and DIR at the same time. dvl Add new configuration item --archivedir dvl Adjust regression tests to use tmp not /tmp. This will allow multiple concurrent runs of the regression tests. @@ -531,11 +1101,15 @@ kes Fix race condition that drops final block written to volume. kes Eliminate more strerror() and replace with bstrerror(). kes Remove BSD getopt and replace with unrestricted IBM version. kes Fix Win32 build for changed calling sequences. +kes More tweaks to the mount volume routines to get everything + right. Changed variable name from find to have_vol, which is + much easier to understand. +kes Enhance btimer debug code. 27Sep07 kes Fix FD->SD authorization failure, which was due to spurious wakeups from a pthread_cond_timedwait(). Simply check the predicate before continuing. This fixes bug #953. -kes Add const char where needed (more to do). +kes Add const char where needed (more to do). Remove temp debug code. 26Sep07 kes Setup SQLite busy handler before doing queries. Fixes bug #967. kes Don't overwrite error message in check_tables_version. @@ -547,33 +1121,69 @@ kes Add retry for SQLite opening db if it fails. Probably helps for bug #967. kes Suppress extra error messages during batch insert failure. Fixes bug #966. +kes Add jcr to timer packets so if killed message can be sent to job. +kes Add JobId to all Dmsg() output. kes Put some FD auth code on dbglvl rather than fixed. kes Return insert attributes error message in db msg buffer to avoid false error messages. Helps fix bug #966. kes Separate batch init error messages. Probably helps fix bug #966. +kes Make SD code that contructs attribute insert check string lengths + more carefully. kes If Dir gets an error during inserting attributes, cancel SD. This reduces unnecessary error messages. 24Sep07 +kes Correct search boolean for getting Volume info ebl Cleanup batch insert code. Probably fixes bug #965. +kes Back out one small change to the reservation system (reserving a volume). +kes Rework how a Volume is mounted. It is now much more intelligent and + will always attempt to use any mounted volume if possible and reduces + calls to the Director asking about volumes. 23Sep07 kes Turn off some code when batch insert not enabled. kes Edit FD name in connect error messages. -22Sep07 +kes Rework the reservation system to take into account that the Director + might give us a Volume that is different from the current one being + used, and to ensure that we don't exceed Maximum Volume Jobs. + This fixes (mostly) bug #947 ' Maximum Volume Jobs = 1 produces + fatal error with multiple jobs running' +kes Add more debug code in reservation system. +kes Implement maxvol-test to check bug #947. +22Sep07 kes Add code to handle tray monitor separated from Win32 FD. kes Fix display of Win32 tray monitor after reboot. Fixes bug #952. 20Sep07 -kes Fix ANSI tape labeling. This fixes bug #954. +kes Add missed return in fixing verify bug -- trunk only. +ebl Fix a command parser issue causing a director segfault. +kes Fix ANSI tape labeling. Fix restoring ANSI labeled Volumes. + This fixes bug #954. kes Increase the max block size to 4MB fixes bug #957. -kes Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape +kes ERABT if user sets min block size > max block size. Fixes bug #956. +kes Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape is not properly mounted (recognized) during a poll. -kes Apply 2.2.4-verify patch that resolves bug #958. A Verify catalog +kes Apply 2.2.4-verify patch that resolves bug #958. A Verify catalog Job that has differences reports Verify OK. +ebl Fixes #955 bug seg fault in Dir introduced with regexwhere relocation. +17Sep07 +ebl Add an option to operate on all pools with update vol parameters. + This complete the project 20. Patch from Nigel Stepp. +ebl Add history support to bconsole when using readline. + Using Ctrl-D to exit doesn't update .bconsole_history +kes Modify new volume algorithm to use max MediaId for generating next + volume number rather than the count of Volumes. This should essentially + eliminate the failure rate if some volumes were deleted. Bug #921. +kes Begin implemention of Optimize Job Scheduling. +kes Implement restore callback that Dirk and I agreed on for bat + restore. This fixes bug #928. Restore of backup of zero files fails. +kes Fix SQL Catalog logging which broke with new db_escape_string + calling sequence. Release Version 2.2.4 14Sep07 +kes Fix bacula_cats.def for new db_escape_string(). kes Increase size of name string when FD making connection to SD. - May fix bug #953. + May fix bug #953. FD->SD connection failure. 13Sep07 +kes Add code to help Dan debug 2drive-incremental-2disk test. kes Add code to try to fix bug #908. kes Add waits to multiple exit detection code to try to force pid file to always be deleted. @@ -584,6 +1194,7 @@ kes Fix seg fault in error exit of acquire_for_read after unsuccessfully Fixes bug #906. kes Cancel storage daemon in all cases where FD reports error. This should fix virtually all cases of bug #920. +kes Fix db_escape_string() for MySQL which did not compile. 12Sep07 kes Fix error message that was clobbered when Dir tells SD it does not have write permission on Volume. This should fix a minor point @@ -591,6 +1202,8 @@ kes Fix error message that was clobbered when Dir tells SD it does not kes Add code to cancel job in SD if FD connection fails. This should fix bug #920. kes Add code in FD exit to prevent loops and a crash on FreeBSD. +dvl Pass jcr and db into db_escape_string() to enable better escaping + of strings kes Fix migration code to get correct Volume name with multiple volumes by skipping |. Fixes bug #936. kes Implement patch supplied by Landon to fix bug #944 where using @@ -604,34 +1217,47 @@ ebl Fix bug #946 about 'bacula-dir -t' which doesn't works 09Sep07 ebl Using 'm' in bconsole will show messages like before, and not memory usage. - -Release Version 2.2.3 -kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor - program. -09Sep07 kes Fix bug #935, and probably also bug #903 where files were not - restored. MediaId was not properly set in JobMedia record after + restored. MediaId was not properly set in JobMedia record after a Volume change. +08Sep07 +kes Suppress chown and chmod error messages if the FD is not running + as root. 07Sep07 -kes Add ./configure search in qwt-qt4 for qwt package -kes Apply Martin Simmons patch that should turn off the new API usage +kes Apply Martin Simmons' patch that should turn off the new API usage when batch insert is turned off allowing building on older PostgreSQLs. - -Release Version 2.2.2 +kes Add ./configure search in qwt-qt4 for qwt package +05Sep07 +kes Bacula is now free of 3rd party GPL copyrighted code! +kes Remove idcache.c +kes Add guid_to_name.c/h which replace idcache. +kes Remove enh_fnmatch.c. Make code that references it use fnmatch.c 04Sep07 ebl Detect if new PosgreSQL batch insert API is present. -kes Correct incorrect mempool call causing Director crash. +kes Correct incorrect mempool call causing Director crash. Occurs on + systems without va_copy(). sb Update spec files for 2.2.1 release +03Sep07 +kes Fix memory pool call in ua_output.c. bug #934. +kes Replace fnmatch.c and fnmatch.h by modified BSD versions. + Add test program to fnmatch.c +02Sep07 +kes Integrate patch to README.vc8 from + Hederer Jean-Sébastien 08May07 +kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL + so that Bacula doesn't later stumble into a seg fault. +kes Use the term Restore Client in the restore Job report. kes Merge patch from Sergey Svishchev that preserves - the original jobb's FileSetId. + the original job's FileSetId. kes Merge patch from Sergey Svishchev that implements spooling in migration jobs. Not yet tested. kes Merge patch from Jorj Bauer that implements @@ -1176,7 +1806,7 @@ kes Invert Cancel OK buttons on restore to be OK Cancel. kes More strerror() to bstrerror() conversions. 06May07 kes Start implementing bstrerror() in place of strerror(). -kes First cut at stripping path -- seems to work. +kes Stripping path -- seems to work. 04May07 kes Prevent door and port files from being restored (mostly Solaris stuff). @@ -1203,7 +1833,7 @@ kes Simplify a few of the alternative returns in the signature 02May07 ebl Use only POSIX regex instead of GNU regex in breg.c for File relocation. It fix broken freebsd compilation. -kes Convert all other Dir files to use ne ua class message +kes Convert all other Dir files to use new ua class message routines for bat. kes Tentative fix for missing digest signature in bug 807. kes Correct handle problem in new win32_ftruncate routine. @@ -1532,7 +2162,7 @@ ebl add update volume=xxx recyclepool=yyyy kes Fix encryption deblocking bug, which caused some restored files to be truncated. This fixes bug #763. kes Add FD event sequence order prepared by Eric -- for RunScripts. -kes Fix 12am/pm bug as reported in bug #782. +kes Fix 12am/pm bug as reported in bug #782 -- scheduler problem. 13Feb07 kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1. ebl Use btime_t instead of uint64_t in media patch. @@ -1667,3 +2297,4 @@ kes Add code to indicate when the SD is spooling, spool wait, and despooling as requested by Alan Brown. Version 2.0.0 released: 4 January 2007 + diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes index 5a84df3a03..6c2031f459 100644 --- a/bacula/ReleaseNotes +++ b/bacula/ReleaseNotes @@ -1,405 +1,45 @@ - Release Notes for Bacula 2.4.0 + Release Notes for Bacula 2.5.16 - Bacula code: Total files = 500 Total lines = 188,654 (*.h *.c *.in) + Bacula code: Total files = 517 Total lines = 199,415 (*.h *.c *.in) This Director and Storage daemon must be upgraded at the same time, -but they should be compatible with all 2.0.x File daemons, unless you +but they should be compatible with all 2.4.x File daemons, unless you use some of the new features that affect the FD. In other words, you should not have to upgrade all your File daemons when you upgrade. There is -no database upgrade needed from version 2.0.x to 2.2.0 nor from version -2.2.x to version 2.4.0 +no database upgrade needed from version 2.4.x. However, the next +BETA release will require a database upgrade. ================== Warning !!!!!! ========================== -As of Version 2.4.0, the Win32 FD should not descend into -any reparse point directory or reparse mount points unless the -specified directory is explicitly mentioned at the top level of -FileSet (as with Unix). A file that is linked to another file will -be backed up, much like Unix hardlinked files. If you want -reparse directories backed up, you must explicitly include them -in your FileSet. +This BETA release of Bacula 2.5.x development code uses libtool +to generate the Bacula libraries as shared objects rather than +being directly linked in as in prior versions. This means that +the Bacula shared objects, must either be in a shared object +directory known to the loader or they must be in the directory +that may be specified on the ./configure line using the +--libdir option as: + + ./configure --libdir=/full-path/dir + +the default /lib. If --libdir is specified, there should be +no need to modify your loader configuration provided that +the shared objects are installed in that directory (Bacula +does this with the make install command). The shared objects +that Bacula references are: + +libbaccfg.so +libbacfind.so +libbacpy.so +libbac.so + +If you have problems with libtool or you wish to use the old +way of building static libraries, you can do so by disabling +libtool on the configure command line with: + + ./configure --disable-libtool ============================================================== -This release consists mainly of a number of bug fixes since 2.2.x -but most importantly, a rewrite of significant portions of the -Storage daemon reservation and autochanger code. This rewritten -code is simpler, more stable, and works much better, particularly -with multiple drive autochangers than the prior code did. That -said, there are still a number of issues to be resolved. Note, -the new code has not been tested in manual volume mount situations. - -Bugs fixed: - 1095, 1086, 1091, 1070, 1041, 1083, 1078, 1066, 1068, 1038 - 1062, 1065, 1046, 1047, 1031 - -New features: -- You can now build bat without the QWT libraries. Use - --without-qwt as a ./configure option. - -Release Version 2.4.0 -- Update version to 2.4.0 to reflect the magnitude of the SD changes. -- Make sure to clear JS_WaitMedia when operator mounts a Volume. - This fixes bug #1095. -- Add create_postgresql_database.sql to Win32 installer. Should - fix problem reported by Juilio Monteiro. -- Get correct slot when auto unloading a device. This fixes bug - #1086. -- Fix possible seg fault if SQL error. -- Fix renaming a Volume, which used the wrong Volume name. -- If operator has rewind tape, print warning, release tape and - try once more. If tape is positioned somewhere, something went - wrong, so mark the tape in error and try once more. Previously - this error was fatal, now it produces an error message. -- Ensure correct volume name displayed during restore -- Fix a few more Coverity reported problems. -- Fix #1091 about bad output in estimate command. -- Modify autochanger locking to attempt to avoid race - conditions. -- Make sure device not busy before doing label command. -- Display open() errors except when polling. Previously too - many were suppressed. This should fix bug #1070. -- Fix Win32 reparse points. Bacula will not recurse into any - reparse point directory, including mount points, unless the - directory is explicitly mentioned at the top level (same as - with Unix). A file that is linked to another file will be - backed up -- much as Unix does for hardlinked files. - This fixes bug #1041. -- Remove StorageId test when pruning and recycling (Eric's changes). -- Fix buffer overruns detected by Coverity. -- Implement --without-qwt -- Fix layout of restore tree dialog -- Add configure bat QWT libraries, so that bat can be built - with or without the QWT libaries. -- Implement regression that explicitly tests swapping a Volume - from one drive to another. -- Enhance disk-changer to detect most error conditions. -- Fix SD code so that it properly swaps a Volume between drives. - This fixes bug #1083. -- Prevent a Volume that is being swapped from being freed from - the volume list. This will most likely fix, at least partially, - bug #1083. -- Fix strippath so that it does not get a buffer overrun and crash FD. - This fixes bug #1078. -- Make inability to change owner/group when creating a dir only a - warning rather than an error. -- Fix SQL query in migration code -- Fix bat seg fault at termination. -- Add Bacula generated version to bat about box. -- Backport development stream SD reservation system changes. -- When wrong volume is mounted during read, unload_autochanger. -- Stop searching for Volumes in SD askdir if DIR returns the - same volume name twice in a row. -- Rework class structures for VOLRES, DCR, and DEVICE to make - the method names a bit more logical, and for more logically - handling the responsibilities. -- Remove redundant code in terminating the scheduler that just - causes a seg fault in many cases. -- Improve algorithm for detecting pre-reserved volume and - swapping volumes. -- Prevent volume from being released while being swapped. -- Refactor parts of stored/mount.c -- Add sanity checks for VolWriteTime and VolReadTime -- Take care of bad clock changes while computing VolWriteTime - and VolReadTime. This should fix or limit #1066 -- Correct error string numbers in dird/catreq.c -- Restructure reserving, acquiring, and mounting volumes. Calls to - autochanger are deferred for mount.c -- simplifes the code. -- Do not prune any running job. It just fails the job. -- Lock the volumes when changing dev->reserved_device and marking - the volume unused otherwise the device can get reserved by - another job before the volume is released, thus blocking it. -- Correct some SD catalog request error messages. -- Turn off code in read_record that causes a seg fault in the SD - when reading past an EOS_LABEL. -- Turn off unloading the autochanger in reserve.c as it just - causes problems. -- Lock volumes when unreserving a device. -- Do not mark volume unused when recycling. -- Fix bug #1068 fixes a SD crash when using Virtual autochanger. -- Generate correct JobMedia records during spooling/despooling when - running concurrent jobs. Thanks to Tom Ivar Helbekkmo - for excellent analysis and testing. -- *Massive* commit of all fixes and back ports to create 2.2.9 - Mostly SD reservations enhancements. -- Fix Win32 FD backup/restore memory leak due to improper termination - of BackupRead/Write. This fixes bug# 1038. -- Fixes a StorageId problem with volumes after migration. -- Implements autostart scripts for Debian -- Fix mtx-changer.in for broken Debian mt program. -- Apply doc fix from bug #1062. -- Resolve crash and improper restore wx-console Win32 restore - GUI. Fixes bug #1065. -- Update Win32 wxWidgets to latest version. -- Attempt to do correct handling of Win32 mount points. Should - fix bug #1046. -- Add const to AIX prototype for initgroups() -- Fix to the JobMedia patch, which introduced a new problem. -- Fix creating first JobMedia record during Migration to include - proper index. This caused slow restores of migrated jobs. -- Fix bug #1047, do not strip paths on symbolic links. -- Set catalog backup database and user name from values specified on - the ./configure line. -- Apply patch to correct bug #1031, about wrong pool source information - in job report. - - -========================================================================= - -Version 2.2.8 is a bug fix to version 2.2.7: -- It fixes bugs: 1036, 1033(doc), 1028, 1040, 1045(doc), 1030, - 1042(partially), and possibly bugs 1018 and 1032. - Bugs 1018 and 1032 involve problems with multiple-drive autochangers, - and are difficult to reproduce. - See the ChangeLog for more details. - -Version 2.2.7 has several new features and several important bug fixes - since version 2.2.6: -- It fixes bugs: 1009, 1022, 1024, 1019, 1012, 1021, 1020 - 1007, 1008. For more details, please see the technotes-2.1 file. -- Fixed a seg fault reported by Frank Sweetser that depended on - exact path lengths, but the problem was in bsnprintf.c -- Double quoting include filenames (@xxx) in Bacula conf files is now - possible, thanks to a patch by Michael Stapelberg. -- You can pipe input to include filenames (@|prog) by using a vertical - bar, thanks to the above patch. -- A daylight savings time bug in the Win32 bsmpt was fixed by a patch from - Nerijus Baliunas. -- Marc Cousins submitted a patch that permits building the PostgreSQL - driver with version 8.3. -- The configure option --archivedir has been changed to --with-archivedir - -Version 2.2.6 is a minor bug fix release to version 2.2.5 -- It fixes bugs: #1003, 942, 982, 990(response only), 991, - 993, 986, 976. -- Fix bat crash wen it cannot connect to Director. -- Fix joblist failure bug in bat. - -Version 2.2.5 is a major bug fix release to version 2.2.4 -- It fixes the following bugs: #961, 962, 963, 969, 968, 960, - 964, (possibly 935 and 903), 953, 953, 967, 966, 965, 954, - 957, 908, 958, and 955. -- It also improves listing performance problems in bat pointed - out by Chris Howells. - -Version 2.2.4 is a minor bug fix release to version 2.2.3 -- Possible fix for authorization problems bug #953. -- Possible fix for bug #908. -- Add waits to multiple exit detection code to try to force pid - file to always be deleted. -- Restore good dev.tar.gz to rescue set appropriate binary property. - This fixes bug #950. -- Fix seg fault in error exit of acquire_for_read after unsuccessfully - trying to switch drives by checking for blocking before unblocking. - Fixes bug #906. -- Cancel storage daemon in all cases where FD reports error. This - should fix virtually all cases of bug #920 and will ensure that Devices - are released as soon as possible. -- Fix error message that was clobbered when Dir tells SD it does not - have write permission on Volume. This should fix a minor point - in bug #942, but not the main problem. -- Fix migration code to get correct Volume name with multiple volumes - by skipping |. Fixes bug #936. -- Implement patch supplied by Landon to fix bug #944 where using - TLS with bconsole uses 99+% of the CPU. -- Fix bug #946 about 'bacula-dir -t' which doesn't works - as expected. -- Using 'm' in bconsole will show messages as in prior versions - and not memory usage. - -- Note, you need GTK >= 2.10 to be able to link the Tray Monitor - program. - -Version 2.2.3 is a critical bug fix release to version 2.2.2 -- Fix bug #935, and possibly also bug #903 where files were not - restored. MediaId was not properly set in JobMedia record after - a Volume change. This bug is known to affect all versions from - 2.0.0 on, and probably versions prior to that. A detailed analysis - of the bug can be found at: - - http://www.bacula.org/downloads/bug-395.txt - -- Add ./configure search in qwt-qt4 for qwt package -- Apply Martin Simmons patch that should turn off the new API usage - when batch insert is turned off allowing building on older - PostgreSQLs. -- Note, you need GTK >= 2.10 to be able to link the Tray Monitor - program. - -Version 2.2.2 is a minor bug fix release to 2.2.1 -- Detect if new PosgreSQL batch insert API is present. -- Correct incorrect mempool call causing Director crash on older - systems that do not have va_copy(). -- Update spec files for 2.2.1 release - -Version 2.2.1 is mainly a minor bug fix release to version 2.2.0, - the main changes since 2.2.0 are: -- Fixed bugs #921, 930, and 923. -- More portable timezone offset in bsmtp thaks to Attila Fülöp. -- Fix several bat issues. -- Use GTK+ calls instead of egg files in tray-monitor. -- Win32 service routines rewritten -- Updated projects file -Please see the ChangeLog for details. - -Notes on 2.2.0 release follow: - -Areas requiring caution or testing: -- You must have the thread safe version of MySQL client libraries loaded - to build with MySQL enabled. -- Volumes are pruned only when absolutely necessary -- this may cause - your database to grow compared to prior Bacula versions. -- Solaris door and even port files are no longer restored (equivalent - to what we do with sockets). -- SQLite is no longer supported for Solaris -- it fails too often with - bus errors. SQLite3 should work on Solaris. -- The default setting for SQLite3 is now 'PRAGMA synchronous=OFF'. - This makes it run 30 times faster, but increases the possiblity - of a corrupted database if your server shuts down unexpectedly. - The default behavior can be changed in src/version.h -- Restore on Win32, and in particular on Vista is untested. Please - test before relying on it. It should backup and restore reparse - points. -- Win32 servers are untested, and very likely not to work. - -The major new features are: -- Much faster insertion of attributes (somewhere around 10 times), - many thanks to Eric Bollengier and Marc Cousin. -- First release of bat (Bacula Administration Tool). Note to build - bat you must explicitly enable it on the ./configure line, you - must have the Qt4 version 4.2 or later libraries loaded, the qwt - (Qt Graphics) package loaded, and qmake and the other Qt4 tools - must be available. Most of the implementation was done by Dirk Bartley. -- Red/Black restore in memory tree (500 times faster loading). -- The Regex Where code to allow easier relocation of restored files - thanks to Eric. -- Socket level heartbeat for all connections (untested). -- posix_fadvise() use in the FD to improve performance reduces - swapping due to opening/reading lots of files. Win32 equivalent - implemented. -- Much improved Volume reservation code that should eliminate most - conflicts experienced in multiple drive autochangers. -- Simpler locking in the SD in the reservation system. -- Detection of file size/date change during backup if enabled. -- New Recycle Pool feature -- thanks to Eric. -- Efficient implementation of very large include/exclude lists. -- Volumes are no longer pruned during 'status dir' -- Pruning is now more efficient, and if a Volume is purged, - during pruning, it is immediately discovered. -- License is now GPL v2 without modifications, fix a few copyright - mistakes made when adding FSFE copyright notice. - -New ./configure options: -- --enable-bwx-console -- --enable-bat -- --with-qwt= -- --with-db-name= -- --with-db-user= -- --enable-batch-insert - -New bconsole commands: -- exec -- memory -- update recyclepool -- .sql -- .api -- .pwd (in restore tree) -- restoreclient (keyword) -- backupclient (keyword) -- regexwhere (keyword) -- update jobid (new command) -- recyclepool (keyword) - -New directives: -- Heartbeat Interval (bconsole.conf) -- Heartbeat Interval (bacula-dir.conf in Director, Client, Storage) -- TLS Allowed CN (bacula-dir.conf in Client) -- Regex Where (bacula-dir.conf in Job) -- Strip Prefix (bacula-dir.conf in Job) -- Add Prefix (bacula-dir.conf in Job) -- Add Suffex (bacula-dir.conf in Job) -- Recycle Pool (bacula-dir.conf in Pool) -- FailJobOnError (bacula-dir.conf in RunScript) -- CheckFileChanges (bacula-dir.conf in FileSet) -- StripPath (bacula-dir.conf in FileSet) - -Other features or bug fixes: -- Fixed bugs: 916, 910, 917, 914, 906, 907, - 842, 830, 893, 861, 888, 886, 807, 877, 872 - 885, 887, 864, 874, 882, 881, 863, 859, - 856, 854, 845, 847, 846, 809, 772, - 822, 825, 824, 808, 802, 797, 798, 795, 789, 791, - 788, 780, 763, 782, 612, 767, 775, 621, 772, 764, - 766, 621, 761, 755, 750, 741, 747, 742, 744, and 743. -- Configure bat with --enable-bat. Define qwt libraries with - --with-qwt=. See Installation chapter of manual for details. -- Create a depkgs-qt package that has both Qt4 and qwt, which are - needed to build bat. Most modern Linux systems will have both - these packages in the distro. -- Storage overrides delete all previous storage definitions instead - of prepending. -- One should be able to mount and unmount removable devices if the - Device resource has Removeable Media set and the mount and unmount - directives are defined. -- ./configure will do a better job of searching for qwt libraries. -- The Win32 version can no longer be shutdown from the tray monitor. - Use the command line or the Services panne. -- Keep prune_volumes() from pruning the whole Scratch pool. -- More debug output in status storage. -- Correct moving a Scratch volume from pool to pool (some - critical columns were lost). -- Different locking in reservations and despooling systems, - which means more micro-locking and less macro-locking, which - should give a lot more concurrency at the expense of slightly - (<0.1%) more overhead due to more locking/unlocking, but - concurrent jobs should run much faster. -- Additional drive reservation algorithm that should solve a lot of - the problems experienced with multiple drive autochangers. -- Storage daemon status command enhanced to more clearly show Volume, - pool and media type when a job is waiting. -- Made bsmtp work with more strict SMTP servers. -- Detect doubly freed buffers in smartall.c -- wx-console renamed to bwx-console (Fedora request) -- gnome-console renamed to bgnome-console (Fedora request) -- Migration preserves original job's FileSetId -- Spooling implemented for migration jobs. -- Config files can be read through a pipe, by specifying a leading | - in front of the configuration path/filename. -- New memory command (bconsole) that will print the current Director's - memory usage, and an in use buffer dump. -- Console name changed from *Console* to -Console- to accomodate Win32 - filename restrictions. -- Corrected the Win32 ftruncate bug. -- Additional version information added to Job reports. -- New -8 option for bsmtp to specify UTF-8 encoding type. -- bsmtp will no longer add < > to target (from, to, cc) if there - is already a < in the target. -- Prefer Mounted Volumes extended to mean a volume that is being - mounted by another job. -- Runscript timing set to same as version 1.38.11 -- New TLS Allowed CN directive(s) permitted. -- New bconsole 'exec' command to run external script/command. -- Turn on FreeBSD/OpenBSD code to set EOT model on tape. -- Drop from root done before database is opened. -- Database user and name can be configured with: - --with-db-name=name --with-db-user=user -- Turn on wait_for_drive in mtx-changer script. -- Rework how bar codes are handled in mtx-changer script. - This appears to have been an unreported bug. -- Updated nagios plugin supplied by Christian Masopust -- Better restricted console ACL checking. -- New Client Connect Wait directive in Storage daemon so that - users can configure how long SD waits for FD connection. -- Bacula will no longer permit pruning of the currently running - job (note, if other jobs are running, they may be pruned). -- Sockets are no longer restored. -- dbcheck works in 300K chunks so will typically run faster. -- Include/Exclude lists can now be efficiently handled for quite - large sizes -- tens of thousands of entries. -- Several memory leaks in migration and database usage were fixed. -- New console keyword restoreclient, which specifies the client to - which the restore will be sent. The client keyword specifies - the backup client. The restoreclient keyword is optional if it is - not specified, the backup client will also be the restore client. -- The disk file size is now checked to ensure that it agrees with the - catalog value before Bacula will append to the disk (same as tape - and DVD). +This release includes large number of new features and changes. +It should be more or less compatible with previous xx.conf files +and File daemons providing that you are not using any of the new +features. diff --git a/bacula/technotes-2.5 b/bacula/technotes-2.5 index b9e1cfb7a8..e1c33af9a2 100644 --- a/bacula/technotes-2.5 +++ b/bacula/technotes-2.5 @@ -19,6 +19,36 @@ libtool remove reader/writer in FOPTS???? +================== Warning !!!!!! ========================== +This BETA release of Bacula 2.5.x development code uses libtool +to generate the Bacula libraries as shared objects rather than +being directly linked in as in prior versions. This means that +the Bacula shared objects, must either be in a shared object +directory known to the loader or they must be in the directory +that may be specified on the ./configure line using the +--libdir option as: + + ./configure --libdir=/full-path/dir + +the default /lib. If --libdir is specified, there should be +no need to modify your loader configuration provided that +the shared objects are installed in that directory (Bacula +does this with the make install command). The shared objects +that Bacula references are: + +libbaccfg.so +libbacfind.so +libbacpy.so +libbac.so + +If you have problems with libtool or you wish to use the old +way of building static libraries, you can do so by disabling +libtool on the configure command line with: + + ./configure --disable-libtool +============================================================== + + General: 19Oct08 kes Add Makefile dependency when using LIBTOOL_LINK so that any