]> git.sur5r.net Git - bacula/bacula/blob - bacula/technotes-2.1
Make prepare 2 tape script wait for drive to ready
[bacula/bacula] / bacula / technotes-2.1
1               Technical notes on version 2.1
2
3 General:
4 25Mar07
5 kes  Implement a new .sql command for bat.
6 kes  Implement code to turn off pruning in obtaining the next volume.
7      Pruning is turned off for the status dir command, but turned on
8      for SD requests and for the list nextvolume command.
9 24Mar07
10 kes  Correct Qmsg() that was not updated correctly when committing a
11      previous change (probably the recent TLS patch).
12 23Mar07
13 kes  Write new subroutine is_volume_purged() that explicitly checks
14      if the Volume is purged, and if so marks it as such. This should
15      resolve problems reported about needing to mount twice to recycle
16      volumes.
17 kes  Rewrite pruning algorithm to do more work in the SQL engine, and
18      to pass a list of JobIds to be deleted to SQL.  Also, minimize the
19      amount of duplicated code.     
20 kes  Do volume pruning only for the Media Type desired (reduces pruning time
21      if multiple Media Types are in the same pool).
22 kes  Implement more detailed info in the Job report for the Bacula version
23      and architecture.
24 kes  Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
25      ua_purge.c.
26 ebl  Add bbatch tool to bench database and insert mode.
27      Fix sql quote stuff in batch mode
28      Fix sql stuff for mysql
29 22Mar07
30 kes  Correct problems with am/pm scheduling. Fixes bug #808.
31 kes  Implement new prunning code that prunes up to 1000 jobs at
32      the same time.  The same technique can be applied to a number
33      of other prune/purge subroutines.
34 kes  Add an insanity check when starting a new tape job to ensure
35      that the tape position has not been changed. If so fail the
36      job.
37 kes  Fix Win32 build for dlls to add the folllowing:
38      src/lib/bsock.c -- new file with new entry points
39      src/lib/dlist.c  -- new entry points
40      src/cats/sql_create.c -- new entry point
41      src/cats/sql_cmds.c -- new DATA item exported
42 21Mar07
43 ebl  batch mode cleanup bscan-test is ok now.
44 kes  Implement SD code to check length of disk volume before appending.
45 18Mar07
46 kes  Correct return status on db_batch... routines.
47 kes  Add call to db_write_batch_file_records() to migration code.
48 ebl  Fix AfterJob timing
49 kes  Move the checking of the database in initializion of the Director
50      to after we drop privileges.  This avoids the need for both root
51      and bacula access to the DB.
52 kes  Correct a misplaced variable definition in src/filed/backup.c
53 kes  Correct how the new batch insert db_create_attributes_record()
54      uses the arguments.  Caused a seg fault in bscan.
55 kes  Implement lock() and unlock() methods in DEVICE class.
56      Implement block() and set_block(xx) methods in DEVICE class.
57 kes  Modify bnet_connect() so that it uses time() to check for the
58      wait time expiring (on some OSes, some system calls may not
59      return immediately).
60 kes  Modify Verify to obtain the previous JobId when it is actually
61      running rather than at schedule time (as it was in 1.38.x).     
62 kes  Fix src/job.c to handle MaxWaitTime correctly.  This should
63      fix bug #802.
64 kes  When checking pid in pid file, continue running if the pid is
65      the same as ours. This occurs on IRIX after a system crash.
66      Fixes bug #797.
67 10Mar07
68 kes  Extend new GUI API.
69 kes  Make the ua structure a class, and implement send_msg(),
70      error_msg(), warning_msg(), and info_msg().
71 08Mar07
72 kes  Apply fix from for building wx-console on the Mac from
73      bug #798.
74 kes  Implement new select mechanism for GUI programs.
75 kes  Reorganize initialization of stackedWidgets in bat.
76 07Mar07
77 kes  Add updated nagios plugin supplied by Christian Masopust.
78 05Mar07
79 kes  More bat implementation.
80 kes  File migrate bug with Pool Occupancy using mediaid instead
81      of jobids.  Fixes bug #795.
82 kes  Fix orphaned buffers in filed backup and verify due to
83      crypto buffers not freed during errors.  Fixes bug #789.
84 kes  Extend new GUI api code to tree commands.
85 kes  Ensure that tree and dot commands check console ACLs.
86 kes  Permit marking directory with trailing slash.
87 kes  Allow 20 console connections (instead of only 10).
88 04Mar07
89 kes  Add smartctl call to bacula-sd.conf as an example of getting
90      tape alert info.
91 02Mar07
92 kes  Modify jobq.c to let simultaneous restore jobs run. This may 
93      cause them to fail if they cannot get a drive.
94 kes  Add Client Connect Wait to Storage daemon to permit users to
95      modify the time the SD waits for a FD connection.
96 29Feb07
97 kes  Correct virtual changer check which was backwards. This caused
98      volumes to be unloaded into slots already occupied.
99 28Feb07
100 kes  Apply Command ACL filter to JobId list in restore command.
101 kes  Correct typeo in var.c patch.
102 27Feb07
103 kes  Don't let Bacula prune File or Job records for the current Job.
104 kes  Fix variable substitution pad + inc bug reported (with patch)
105      in bug #791.
106 26Feb07
107 kes  Correct SQLite log table index as reported by Luca Berra.
108 24Feb07
109 ebl  fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
110 22Feb07
111 kes  Begin implementing new comm signals for API.
112 kes  Fix a few places in lib/message.c where the open fd may 
113      not be zeroed.
114 kes  Continue implementing lib/bsock.c (real class).  Make jcr,
115      who, host, and port private. There are new methods to access
116      them for non-class use. This required touching a number of files.
117 21Feb07
118 kes  Add LANG=C to autoconf/randpass so it works with languages other
119      than English.  Fixes bug #788.
120 20Feb07
121 ebl  Revert ClientRunBeforeJob to old position as in 1.38.X.
122      This fixes bug #780
123      You will not be able to generate Include/Exclude list any more.
124      It will be fixed soon.
125      If you want to use this, you can apply
126      trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
127 19Feb07
128 kes  Restore of sockets created false error messages because Bacula
129      no longer restores sockets, but the code was still trying to
130      set the attributes on a non-existent file. Reported by a user.
131 ebl  finish RecyclePool feature
132      Media will takes Pool.RecyclePool
133      when moving from Scratch to a Pool or when user will do
134      update volume=xxx frompool
135      To use it, add RecyclePool = aPool to your Pool resource
136         Pool {
137                 Name = Default
138                 RecyclePool = Scratch
139                 ...
140         }
141      TODO: update manual
142 kes  Expand new BSOCK class adding signal() and new BNET signals.
143 kes  Begin enhancing the dot commands adding a new API function
144      that returns more information and will make it easier
145      to interface to the Director from a program.
146 18Feb07
147 kes  Make DEVICE fd private. Its new name is m_fd, and can be
148      obtained with dev->fd() outside the class.  This is the
149      first of many DEVICE members to be made private.
150 kes  Implement Michael Renner's idea on having a virtual disk
151      changer. I made some minor modifications (e.g. I did not
152      implement the Virtual Changer directive, but simply set
153      the Changer Command to an empty string.
154 17Feb07
155 kes  Implement a BSOCK send() method that writes the whole record
156      in a single write() request rather than in two.
157 ebl  add update volume=xxx recyclepool=yyyy
158      volume takes recyclepool from pool when using update volume=xxx from pool
159 16Feb07
160 kes  Fix encryption deblocking bug, which caused some restored files
161      to be truncated. This fixes bug #763.
162 kes  Add FD event sequence order prepared by Eric -- for RunScripts.
163 kes  Fix 12am/pm bug as reported in bug #782.
164 13Feb07
165 kes  Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
166 ebl  Use btime_t instead of uint64_t in media patch.
167 11Feb07
168 kes  Optimize the use of the database a bit in the Status dir command.
169      Only open it when needed, ensure that if any previous database
170      was opened, it is closed.
171 10Feb07
172 kes  Correct VolCatBytes bug from media patch.
173 kes  Apply patch from bug #612 by Rudolf Cejka to speedup pruning
174      in the case of orphaned records.
175 kes  Modify dbcheck to handle orphaned JobMedia, Path, Filename,
176      and File records in 300K chunks to be more efficient. This
177      idea came from Juan Luis Frances (if I remember right).
178 kes  Apply Eric's scratch patch that moves a purged Volume to
179      the RecyclePool.  Question: how is RecyclePool set? what
180      happens to the ScratchPool?
181 kes  Apply Eric's media patch that collects read/write media
182      times as well as byte counts.  This patch requires a
183      simultaneous upgrade of the DIR and SD.  Note, there
184      should be some way to turn off timing. I'm not sure
185      times are in Bacula units.
186 kes  Apply Eric's batch-insert patch.
187 09Feb07
188 kes  Update projects list.
189 08Feb07
190 kes  Implement Include/Exclude file lists in FD as dlists using
191      the new dlistString class. This permits efficiently having
192      large include/exclude lists and completes project Item 25.
193 kes  Fix dird/ua_cmds.c so that a cancel command checks if the
194      console is authorized to cancel the job.  This fixes bug 
195      #767.
196 kes  Modify SD so that the VolCatJobs medium record is updated
197      at the beginning of a Job rather than the end.  This
198      fixes bug #775 where exceeding MaxVolJobs caused jobs
199      to fail.
200 kes  Added a mutex around getting and setting Volume information
201      so that multiple simultaneous jobs will single thread.
202 07Feb07
203      Switch to using Subversion
204 kes  Remove src/pygtk-console/ from configure
205 06Feb07
206 kes  Delete src/lib/btree.c from win32 build, then add rblist.c
207      plus the entrypoints.
208 kes  Apply patch supplied that corrects debug print
209      in canceling jobs for max run time.  Supplied as
210      part of bug #621, which was previously fixed.
211 05Feb07
212 kes  Test on job_canceled() and sd_msg_thread_done inside
213      loop starting the message thread to avoid a race condition.
214      Fixes bug #771.
215 kes  Remove rl_catch_signal from console.c as it conflicted
216      with the header definition. Fixes bug #765.
217 ebl  Fixes bug #766 about RunsOnClient = Yes (case sensitive)
218 04Feb07
219 kes  Clarify some stored/acquire messages to indicate if the
220      problem is with read or append.
221 02Feb07
222 kes  Fix memory leak with storage ids in cats/sql_get.c
223 kes  Terminate watchdog earlier to avoid reference to released
224      memory -- reported by Jason Austin.
225 kes  Move closing the database from jobq.c to the director daemon
226      termination routine. This fixes memory leaks for shadow jobs
227      (i.e. migration jobs).
228 kes  Free up the unique jobid chain items in migrate.c.  This fixes
229      a memory leak problem.
230 kes  Convert some ugly looking for statements to use foreach_alist
231      in findlib/find.c.  This will facilitate converting the structures
232      to use dlist (for large include/exclude lists).
233 kes  Fix a bug in the btree.c and btree.h routines, then rename them
234      rblist and add them to be built in src/lib.  Include some new
235      methods written by Rudolf Cejka that make the code more readable
236      (hides some of the ugly casting).
237 kes  Add set_next() and set_prev() methods which make the code much more 
238      readable. Also add a new dlistString class that facilitates storing
239      strings in dlists.  To be used in the large include/exclude lists.
240 kes  Make some trivial modifications to lib/tree.h that use rblist
241      rather than dlist for storing the tree links. This was suggested
242      by Rudolf Cejka.  The result of this is that the restore tree now
243      uses red-black binary trees rather than simple linked lists. This
244      should give rather dramatic speed improvements for directories
245      contining large numbers of directories/files (more than 10000).
246 28Jan07 
247 kes  Fix maxruntime bug #621.
248 26Jan07
249 ebl  Implement the include JobID in spool file name project.
250 kes  Reorder projects file in order determined by Jan 2007 vote.
251 kes  Implement item #12 on project list -- quick release of FD by
252      the SD.
253 kes  Fix open of SQLite3 db where user does not have write permission
254      so that DIR does not crash. Fixes bug #761.
255 25Jan07
256 kes  Add back missing @ in Win32 Makefile.
257 kes  Change 'Device not configured to autolabel' from INFO
258      to WARNING.
259 kes  Fix jobq.c to restart failed jobs when Reschedule Times = 0 
260      which should restart an indefinite # of times.
261 kes  Fix configure --help to print --with-mysql[=DIR]. Same for
262      other DIR specifications.
263 23Jan07
264 rn   Fix msvc build problems. Fix bacula.dll exports for msvc build.
265      Fix path quoting in SQLite scripts.
266      Fix problems with SHGetFolderPath.
267 19Jan07
268 kes  Create patches/2.0.1-restart.patch. Fixes bug #755.
269 18Jan07
270 kes  Fix Job restart on error bug that promotes an Inc to a Full
271      backup.  This should fix bug #755.
272 kes  Add qt-console and first cut of code.
273
274 Version 2.0.1
275 12Jan07
276 kes  Fix Bacula->Documentation link on Win32 to point to index.html
277      instead of bacula.html. Fixed bug #750.
278 kes  Return JobId in db_get_job_record() when JobId==0. This should
279      fix bug #741.
280 kes  Do not release source pointers when restarting a failed job.
281 11Jan07
282 kes  Add dynamic dll entry point for SHGetFolderPath to Win32 code.
283      This *should* fix bug #747.
284 kes  Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
285      bug #742.
286 09Jan07
287 kes  Modify USTORE constructor to set an empty store_source string, 
288      and don't copy the store_source string in a cancel.  Hopefully
289      this will fix Arno's seg fault, bug #744.
290 kes  Add back code to disable conio in configure. Fixes bug #743.
291 kes  Correct the Options scanner in the FD to correctly handle  
292      SHA1 option, which was eating the next option.  Reported by    
293      Sebastien Guilbaud.
294 kes  Add code to indicate when the SD is spooling, spool wait, and 
295      despooling as requested by Alan Brown.
296
297 Version 2.0.0 released: 4 January 2007