- Release Notes for Bacula 1.38.1
+ Release Notes for Bacula 1.38.3
- Bacula code: Total files = 420 Total lines = 138,440 (*.h *.c *.in)
- 20,440 additional lines of code since version 1.36.3
+ Bacula code: Total files = 424 Total lines = 140,955 (*.h *.c *.in)
+ 20,440 additional lines of code since version 1.36.3
-Changes since 1.38.0:
-- Fix several problems with PostgreSQL scripts.
+Changes to 1.38.3:
+- This is mainly a bug release fix. In addition, the multiple drive
+ reservation algorithm has been rewritten.
+- In addition, the method of handling waiting for tapes to be
+ mounted and the mount messages has been modified.
+ (the above two items are a potential source of problems).
+- Simplify code in askdir.c that waits for creating an appendable
+ volume so that it can handle multiple returns from the wait code.
+- Modify the wait code to permit multiple returns.
+- Return a zero when "autochanger drives" is called and
+ it is not an autochanger.
+- Make rewind_dev() a method taking a DCR as an argument.
+ This permits closing and reopening the drive if the
+ rewind fails as happens if the drive was loaded while the
+ file descriptor was open. This refreshes the file descriptor.
+- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
+ if the device is open or not. This should eliminate
+ Arnos problem.
+- Return error if reserve cannot find at least one suitable device.
+- Make wait_for_sysop() return correct state information.
+- Fix Win32 state file problem. write was not using compat
+ code. This should fix bug #500.
+- Modify gui on command to set only GUI mode and not batch.
+- Modify .messages command to always print messages regardless
+ of the mode.
+- If GUI mode is on, suppress automatic printing of
+ You have messages.
+- Modify restore command in wx-console to set gui on and to use
+ only .messages instead of messages. Hopefully this fixes bug
+ #514.
+- Implement load balancing code with multiple drive autochangers.
+- Rewrite reservation algorithm again. Rename variables to be
+ more logical, add HEARTBEAT with Director, allow cancel of
+ jobs stuck in reservation, add last resourt any_drive.
+- Fix seg fault if user labels a drive directly bug #513
+- Remove quotes around Version as it breaks things.
+- Merge in Aleksandar Milivojevic's mods to the spec file.
+- Apply sparse code fix for raw drives and fifos. Bug 506
+- Thorsten fixed Unicode cd problem with wx-console bug 505.
+- Correct reservation system to do a last ditch try
+ for any mounted volume, then anyone anywhere.
+- Updates to ssh-tunnel from Joshua Kugler.
+- Added a report.pl program from Jonas Bjorklund.
+- Simplify the O_NONBLOCK open() code for tape drives,
+ and always open nonblocking.
+- Do not wait for open() if EIO returned (shouldn't happen).
+- Eliminate 3 argument to tape open().
+- Correct the slot # edited in the 3995 Bad autochanger unload
+ message.
+- With -S on bscan (show progress) do not divide by zero.
+- Make cancel pthread_cond_signal() pthread_cond_broadcast().
+- When dcr is freed, also broadcast dev->wait_next_vol signal.
+- Remove unused code in wait_for_device.
+- Make wait_for_device() always return after 60 seconds of wait.
+- Use localhost if no network configured
+- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
+- Update specs to include mysql4 define.
+- Return rec->FileIndex in dcr->VolLastIndex for normal
+ and partial records in read_record(). This allows bscan
+ to get FileIndex at EOT correct.
+- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
+- Apply patch supplied by user (slightly modified) to fix
+ correct detection of holes in block devices and FIFOs.
+ Bug # 506.
+- Apply patch supplied by user (slightly modified)
+ to fix SD hang with multiple pools and bad client
+ IP. Fixes bug # 508.
+- Add nagios plugin to the examples directory. Submitted by
+ Christian Masopust.
+- Remove warning message about multiple saves of hardlinked files
+ from find_one.c as it can generate too many warning messages.
+- Reset timeout values before select() per patch from
+ Frank Sweetser for problems with non-blocking sockets.
+- Unlink the state file if either reading or writing it gets
+ errors. Hopefully this will fix Win32 exit problems.
+- Get next volume from Scratch pool before creating a volume.
+- Set new Pool defaults in Vol when moved from Scratch Pool.
+- Remove argument from create_bacula_database for SQLite as it
+ caused an error.
+- Fix reservation so that mutexes are properly applied.
+- Rework reservation algorithm so that two drives can be used
+ at the same time.
+- Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at
+ If this patch is applied, the number of days can be specified with
+ "list nextvol days=xx"
+ or
+ "status dir days=xx"
+ My use case is to be able to preview the next scheduled job (and the
+ next tape to be used) on fridays if there are no scheduled jobs during
+ the weekend.
+- Fix font code in gnome2 console user patch. Fixes bug #501.
+- Fix malformatted bnet error message that caused seg fault
+ fixes bug 502
+- Applied user patch to improve README.vc8 in src/win32.
+- Ensure that StorageId is stored in Media record when ever possible.
+- Remove old code from winservice.cpp
+- Break on error in scan.
+- Fix typo in signal.c
+- Separate read/write DCR in SD. Add jcr->read_dcr.
+- Cleanup how find_device() works.
+- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
+
+Changes to 1.38.2:
+- Fix crash in tray-monitor when daemon disconnects. Bug #479.
+- Fix bnet-server bug found on OpenBSD. Bug #486
+- Fix cancel failure bug. Bug #481
+- Fix failure when Pool name has spaces. Bug #487
+- Fix SD crash in autochanger code. Mutex failure. Bug #488
+- Fix a couple of free()s in src/filed/acl.c
+- Fix memory overrun in bfile.c in building OS X resource
+ fork filename. Bug #489
+- Add Pool name to SD status output.
+- Add Python install dir for Solaris to configure. Bug #492
+
+Changes to 1.38.1:
+- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
+- Add bacula_mail_summary.sh to examples directory. It makes
+ a single email summary of any number of jobs. Submitted
+ by Adrew J. Millar.
+- Unmount command now unloads autochanger.
+- Fix hang in FD (Martin Simmons)
+- Fix Win98 stat() problem in FD (Thorsten Engel)
+- Fix update slots which did not clear missing tapes.
+- Fix autostart install for FreeBSD (user reported)
+- Fix several problems with PostgreSQL scripts (Eric Bollinger)
- Critical: allow restore of the first file of non-portable Win32 backup.
- Important: with muliple concurrent jobs the autochanger could get
confused because of a missing mutex.
required only if you do not want the default /usr/share.
Items to note!!!
+- The Storage daemon now keeps track of what tapes it is using
+ (was not the case in 1.36.x). This means that you must be much
+ more careful when removing tapes and putting up a new one. In
+ general, you should always do a "unmount" prior to removing a
+ tape, and a "mount" after putting a new one into the drive.
- If you use an Autochanger, you MUST update your SD conf file
to use the new Autochanger resource. Otherwise, certain commands
such as "update slots" may not work.
files, called "parts".
- For the details of the Python scripting support, please see the new
Python Scripting chapter in the manual.
+- The default user/group for the Director and Storage daemon installed
+ by rpms is bacula/bacula, thus you may need to add additional permissions
+ to your database, or modify the permissions of the tape drive. If
+ all else fails, change to using user=root. However, it is more secure
+ to use user=bacula.