1 Technical notes on version 1.6 25Nov
7 Changes submitted this submission:
8 - Updating to the latest version of CYGWIN was abandoned
9 because Bacula errors and kxvt consumes 100% of the CPU.
10 - Added HAVE_GETOPT_LONG for long command line options (not yet
12 - MANY updates and enhancements to the manual.
13 - Eliminated virtually all use of MAXSTRING in favor of
14 dynamically allocated memory. A bit more work is needed,
15 but there should be few places left where overflow can occur.
16 - Fixed most static variables that hold names to be allocated
17 as MAX_NAME_LENGTH. The same for times with MAX_TIME_LENGTH.
18 - Began adding the new JobName code. The JobName will replace
19 the old JobId, and is composed of the Job resource name
20 followed by the date and the time. The time is guaranteed
21 to be unique for each Job.
22 - Moved the Start/End File and the Start/End Block from the
23 Job record to the JobMedia record. This permits proper
24 handling of multi-volumes for a Job. The new JobMedia
25 values are not yet stored in the database because
26 it requires a database modification. I'll do that for
28 - Try a second time to open the MySQL database if it fails.
29 - Added preliminary code for implementing verification
30 of tape and data on the tape.
31 - Added lock and unlock calls around code that accesses
32 resources in the Director. When fully implemented this
33 will permit re-reading the config file at any time.
34 - Add use count to resources. Not yet totally implemented.
35 - Removed Start/End File/Block from termination message
36 as there can be one for each volume. Print JobName.
37 - Get Start/End File/Block from Storage daemon for each
38 Volume. Not yet stored in the database.
39 - Move message destination chain and bit mask into the
40 JCR when the Job starts. Now I can implement multiple
42 - Pass the new JobName to the Storage and File daemons.
43 More work required to completely cut over to it.
44 - Wait for the Storage daemon to terminate the Job before
45 the Director terminates the Job. This corrects all
46 race conditions with messages destined for a particular
47 Job but ending up with a different Job.
48 - Modify the Console program so that immediately after a
49 Label, it will by default issue a Mount command. This
50 can be turned on/off with the Automount command in the
52 - Updated the Console program to use dynamic memory just
54 - Started modifying the Console program to deal with Job names
55 in addition to JobIds. Much more work to be done.
56 - Made fairly extensive changes to the print_run_time()
57 routines, which print the time/date of the next scheduled
58 job -- assuming it is within 24 hours of the current time.
59 It should do a much better job of getting it right. Previously,
60 Jobs run hourly did not display correctly in the status
62 - Each daemon now requires a WorkingDirectory. This is necessary
63 so that it can write mail messages to disk, then send them
65 - Enhanced the Console Cancel command to send the cancel
66 to the File daemon as well as the Storage daemon. It can
67 also cancel a job that is waiting execution.
68 - Replaced a number of dir->msglen=0; bnet_send() with
70 - If the path_max or name_max is less than 1024, set it to
71 1024. Hopefully this will solve the shutdown crashes on
72 the File daemon on Win2000.
73 - Added a few bytes extra on certain dynamically allocated
74 strings in the File daemon hoping to catch a possible
75 buffer overrun condition causing the crash on shutdown
77 - Added new options for the mailcommand as follows:
79 Edit job codes into main command line
82 %t = Job type (Backup, ...)
89 I'll document this more completely in the manual.