+2003-10-09 Version 1.32b 08Oct03 Release
+- I noticed that SD and FD bootstrap files were not always
+ deleted, so delete them as soon as possible.
+- Restore by file (or by selecting files) created some
+ horrible looking bsr files that defeated the forward
+ spacing code, so fix write_findex to work right.
+- Add zlib_strerror() routine in filed/restore in case
+ of zlib errors.
+- In filed/restore.c make sure all error returns cleanup
+ and close the open file descriptor.
+- Make sure to set *non* over filename in attr packet
+ after file is found, so error messages that print the
+ filename don't print an old, incorrect name.
+- Allow bclose() to be called after closing the file.
+- Fix a number of unclear help messages, ... reported by
+ Phil in btape.
+- Retweak stored/read_record.c so that it does forward
+ spacing at the beginning of every tape, not just the
+ first one.
+- Print repositioning message if verbose is set.
+
2003-10-01 Version 1.32a 03Oct03 Release
04Oct03
- Combine the code in ua_output and ua_status that searches
@$(RMF) -r doc/techlogs/2002/CVS doc/techlogs/2001/CVS doc/techlogs/1.27/CVS
@$(RMF) -r examples/CVS intl/CVS scripts/CVS
@$(RMF) -r po/CVS src/immortal/CVS rescue/freebsd/CVS rescue/solaris/CVS
+ @$(RMF) -r CVS src/gnome-console/CVS src/tconsole/CVS
distdirs:
mkdir ../$(VERNAME);
Release Notes for Bacula 1.32a
- Bacula code: Total files = 259 Total lines = 77,779 (*.h *.c *.in)
+ Bacula code: Total files = 259 Total lines = 77,873 (*.h *.c *.in)
Major Changes this Release:
- Implemented forward space file/block whenever possible
[
if test "x$withval" != "xno" ; then
saved_LIBS="$LIBS"
- LIBS="$LIBS -lwrap -lnsl"
+ LIBS="$saved_LIBS -lwrap"
AC_MSG_CHECKING(for libwrap)
AC_TRY_LINK(
[ #include <tcpd.h>
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LIBWRAP)
TCPW_MSG="yes"
- ],
- [AC_MSG_ERROR([*** libwrap missing]) ]
+ ], [
+ LIBS="$saved_LIBS -lwrap -lnsl"
+ AC_TRY_LINK(
+ [ #include <tcpd.h>
+ int deny_severity = 0;
+ int allow_severity = 0;
+ struct request_info *req; ],
+ [ hosts_access(req); ],
+ [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_LIBWRAP)
+ TCPW_MSG="yes"
+ ],
+ [AC_MSG_ERROR([*** libwrap missing]) ] ]
+ )
)
fi
]
if test "x$withval" != "xno" ; then
saved_LIBS="$LIBS"
- LIBS="$LIBS -lwrap -lnsl"
+ LIBS="$saved_LIBS -lwrap"
echo "$as_me:$LINENO: checking for libwrap" >&5
echo $ECHO_N "checking for libwrap... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
TCPW_MSG="yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ LIBS="$saved_LIBS -lwrap -lnsl"
+ cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+ #include <tcpd.h>
+ int deny_severity = 0;
+ int allow_severity = 0;
+ struct request_info *req;
+int
+main ()
+{
+ hosts_access(req);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_LIBWRAP 1
+_ACEOF
+
+ TCPW_MSG="yes"
+
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
echo "$as_me: error: *** libwrap missing" >&2;}
{ (exit 1); exit 1; }; }
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
fi
- Figure out how to use ssh or stunnel to protect Bacula communications.
For 1.33 Testing/Documentation:
-- Fix FreeBSD build with tcp_wrapper -- should not have -lnsl
- Document to start higher priorty jobs before lower ones.
- suppress "Do not forget to mount the drive!!!" if error
- Document new records in Director. SDAddress SDDeviceName, SDPassword.
- Document new Include/Exclude ...
- Add test of exclusion, test multiple Include {} statements.
- Add counter variable test.
+- Document ln -sf /usr/lib/libncurses.so /usr/lib/libtermcap.so
+ and install the esound-dev package for compiling Console on
+ SuSE.
For 1.33
+- Implement a RunAfterFailedJob
+- Zap illegal characters in job name for mail files (e.g. /).
+- From Lars Köllers:
+ Yes, it would allow to highly automatic the request for new tapes. If a
+ tape is empty, bacula reads the barcodes (native or simulated), and if
+ an unused tape is found, it runs the label command with all the
+ necessary parameters.
+
+ By the way can bacula automatically "move" an empry/purged volume say
+ in the "short" pool to the "long" pool if this pool runs out of volume
+ space?
+- Implement a move Volume from one pool to another.
- Either restrict the characters in a name, or fix the problem
emailing with names containing / (smtp command line breaks).
- Eliminate ua_retention.c (retentioncmd) if possible.
- Use system dependent calls to get more precise info on tape errors.
- Add heartbeat from FD to SD if hb interval expires.
- Suppress read error on blank tape when doing a label.
-- Can we dynamically change FileSets.
+- Can we dynamically change FileSets?
- If pool specified to label command and Label Format is specified,
automatically generate the Volume name.
- Take a careful look a the Basic recycling algorithm. When Bacula
> > prod4-sd: End of medium on Volume "REU007" Bytes=16,303,521,933
- Use autochanger to handle multiple devices.
-- Fix packet too big problem.
+- Fix packet too big problem. This is most likely a Windows TCP stack
+ problem.
- Add SuSE install doc to list.
- Check and rechedk "Invalid block number"
- Make bextract release the drive properly between tapes
- Combine the 3 places that search run records for the next
job. Use find_job_pool() modified in ua_output.c
- Test connect timeouts.
+- Fix FreeBSD build with tcp_wrapper -- should not have -lnsl
btraceback.gdb
startit
stopit
+dird.conf
startit
static-bacula-fd
stopit
+filed.conf
stopit
changer.out
mtx-changer
+stored.conf
/*
* Note, bsr->reposition is set by match_all when
* a bsr is done. We turn it off if a match was
- * found or if we cannot use poistioning
+ * found or if we cannot use positioning
*/
if (stat != 0 || !bsr->use_positioning) {
bsr->reposition = false;
return 0;
}
+/*
+ * When reading the Volume, the Volume Findex (rec->FileIndex) always
+ * are found in sequential order. Thus we can make optimizations.
+ */
static int match_findex(BSR *bsr, BSR_FINDEX *findex, DEV_RECORD *rec, bool done)
{
if (!findex) {
* on this tape.
*/
if (jcr->bsr) {
- jcr->bsr->reposition = true;
+ jcr->bsr->reposition = true; /* force repositioning */
bsr = find_next_bsr(jcr->bsr, dev);
if (bsr) {
Jmsg(jcr, M_INFO, 0, _("Forward spacing to file:block %u:%u.\n"),