Technical notes on version 1.23 07Jul02 7 July 2002 Kern Sibbald General: - This documents what I did while on vacation. - A fair amount of documentation. - Implemented Verify Volume to Catalog (needs renaming) - Modified the database to include new MarkId field as well as Counters. Database level is incremented from 1 to 2. - Added first cut of managing autochangers by implementing Slot in DB. - Fixed a good number of M_ERROR messages to be M_FATAL where appropriate. Also converted a number of Emsg() to Jmsg() permitting better Job error messages. - First cut at implementing a general packet passing mechanism for bsock to replace printf and sscanf for passing data. Changes submitted this submission: - Made make_xxx_tables and drop_xxx_tables and create_xxx_database for bdb as well as sqlite. With this each database has the same set of scripts (with the exception that MySQL has grant_privileges). - Modified Makefile to only install the database scripts for the database that you are using. - Updated the pdf script to include all the html files. - Did quite a lot of documentation. - Made Bacula compile correctly with DEBUG turned off. - Implemented Pmsg() macros that permit using the debug print routines even with DEBUG off. - Updated job_cancelled() macro to handle JS_FatalError. - Changed db_find_last_full_verify() to db_find_last_jobid(). This permits working with Verify Volume to Catalog. - Removed TRANSACTION code from incrementing NextId for SQLite. - Implemented quick and dirty (not fully functional code) so that console program does not die if ctl-Z is entered. - Cleaned up backup.c a bit adding a bail_out goto to ensure proper handling of errors with minimum code. - Added passing Slot back and forth to Storage daemon with Volume info. - Implemented Slot in Media record in DB. - Implemented first cut of Counter resource in dird_conf.c. A counter resource is part of the Pool resource. - Implemented necessary database record. However, the resource doesn't yet create a DB record. - Implemented onefs (One File System) and recurse options on Include resource. - Implemented autopruning of Verify and Restore Jobs. - Did a better job of calculating thread_concurrency() for Sun systems. This permits better multi-threading allowing all the threads to run at the same time. - Implemented a wait_for_storage_daemon_termination(), which is used by backup and verify volume. - Clarified a number of UA prompts, and add feedback where certain commands completed but printed nothing. (More work to be done here). - Added a pile of new code to implement Verify Volume to Catalog. It is sort of a hybrid of "restore" and "verify" in that it actually reads the tape, then compares it to the catalog. Need Verify Volume to Client. - Added a good number of checks for job_cancelled() this should permit quicker and more reliable cancelling of jobs. - Fixed one bug in restore where I used ofile instead of lname, which means that if the lname was too long, the memory was not properly reallocated. - Cleaned up find_one.c in findlib quite a bit. - Link smtp static so that it works even if the libraries are messed up. - If mail host is not found, retry with local host in smtp. - Added slot and stream to the bootstrap record processing. - Do offline on tape cartrige for unmount command. This can be turned off by the user in the config file. OffLineOnUnmount in Device resource. - Implemented AutoChanger = yes/no in Device resource.