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