]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/technotes-2.1
Prevent a Volume that is being swapped from being freed from
[bacula/bacula] / bacula / technotes-2.1
index 85794f8407d0848a8da8a58b442e6f8f5b953a79..d12c12415f313707c33d8f8479567bc227f36654 100644 (file)
@@ -1,6 +1,325 @@
               Technical notes on version 2.2
 
 General:
+01May08
+kes  Prevent a Volume that is being swapped from being freed from
+     the volume list. This will most likely fix, at least partially,
+     bug #1083.
+kes  Fix strippath so that it does not get a buffer overrun and crash FD.
+     This fixes bug #1078.
+kes  Make inability to change owner/group when creating a dir only a
+     warning rather than an error.
+28Apr08
+ebl  Fix SQL query in migration code
+19Apr08
+kes  Force unload of volume when wrong volume mounted in SD.
+17Apr08
+kes  Fix bat seg fault at termination.
+kes  Add Bacula generated version to bat about box.
+
+Beta Release Version 2.2.10-b1
+16Apr08
+kes  Permit multiple simultaneous restores -- experiment.
+15Apr08
+kes  Backport development stream SD reservation system changes.
+     See below:
+===
+16Apr08
+kes  Move final volume swapping code to DCR method and
+     call it from acquire_for_read().
+kes  When wrong volume is mounted during read, unload_autochanger.
+14Apr08
+kes  Stop searching for Volumes in SD askdir if DIR returns the
+     same volume name twice in a row.
+13Apr08
+kes  Tweak the swap Volume from one drive to another code so that
+     it now seems to work.
+kes  Resolve several problems with recycling that broke the new
+     code (these problems are in 2.2.9 as well).
+kes  Remove the volume lock when calling the sysop code.   
+kes  Don't mark a reserved volume with no writers as unused otherwise
+     jobs fail.
+12Apr08
+kes  Rework class structures for VOLRES, DCR, and DEVICE to make
+     the method names a bit more logical, and for more logically
+     handling the responsibilities.
+11Apr08
+kes  Remove redundant code in terminating the scheduler that just
+     causes a seg fault in many cases.
+kes  Cleanup releasing a volume and make it a DCR method.
+kes  Improve algorithm for detecting pre-reserved volume and
+     swapping volumes.
+10Apr08
+kes  Tweak volume swapping code so it works.
+kes  Correct name overloading in mount.c
+kes  Replace released flag in VOLRES with reserved and add access
+     methods for the VOLRES class.
+kes  Prevent volume from being released while being swapped.
+kes  Refactor parts of stored/mount.c
+09Apr08
+ebl  Add sanity checks for VolWriteTime and VolReadTime
+ebl  Take care of bad clock changes while computing VolWriteTime
+     and VolReadTime. This should fix or limit #1066
+kes  Correct error string numbers in dird/catreq.c
+kes  Restructure reserving, acquiring, and mounting volumes. Calls to
+     autochanger are deferred for mount.c -- simplifes the code.
+08Apr08
+kes  Do not prune any running job. It just fails the job.
+kes  Lock the volumes when changing dev->reserved_device and marking
+     the volume unused otherwise the device can get reserved by
+     another job before the volume is released, thus blocking it.
+===                                        
+
+Beta Release Version 2.2.9-b7
+14Apr08
+kes  Close bat console windows first to eliminate error message
+     from the notifier.
+kes  Remove useless code in Scheduler that causes seg fault on
+     termination.
+kes  Correct some SD catalog request error messages.
+kes  Don't allow pruning of any running job.
+kes  Turn off code in read_record that causes a seg fault in the SD
+     when reading past an EOS_LABEL.
+kes  Turn off unloading the autochanger in reserve.c as it just
+     causes problems.
+kes  Lock volumes when unreserving a device.
+kes  Do not mark volume unused when recycling.
+kes  When acquiring, don't mark volume unused if it is reserved (busy).
+
+Beta Release Version 2.2.9-b6
+06Apr08
+kes  Eliminate ./configure warning on po directory 
+kes  Fix bug #1063, reuse of freed ptr in list nextvol.
+kes  Release regex compile buffer in filed/job.c
+kes  Add proper type of const char in sql_create.c
+kes  Turn off debug in daemon termination routines
+kes  Move free_volume_list() before devices are freed in stored.c
+kes  Fix reference to uninitalized stack variables in bregex.c. 
+     This should correct bug #1067.
+04Apr08
+kes  Fix possible seg fault in SD when freeing a volume entry.
+02Apr08
+kes  Apply patch from bug #1069 that corrects spurious error messages
+     when ACLs enabled on SGI but no ACL exists.
+ebl  Fix a storage deamon segfault at debug level 500.
+
+Beta Release Version 2.2.9-b5 -- not released
+
+Beta Release Version 2.2.9-b4
+01Apr08
+kes  Re-enable code to remember last volume mounted on a non-tape
+     Autochanger.
+kes  Add patch supplied in bug #1068 that fixes a SD crash when using
+     a Virtual autochanger.
+kes  Generate correct JobMedia records during spooling/despooling when
+     running concurrent jobs.  Thanks to Tom Ivar Helbekkmo 
+     <tih@hamartun.priv.no> for excellent analysis and testing.
+
+Beta release Version 2.2.9-b3
+27Mar08
+kes  Rework certain SD locking based on gdb tracebacks of deadlocks
+     sent by Eric. This code now uses only the volume_lock() rather
+     than the reservations lock when at EOM and acquiring a new
+     volume. 
+kes  Ensure only one exit point in several subroutines.
+
+Beta release version 2.2.9-b2
+24Mar08
+kes  Fix to initial tape drive open to release the volume name
+
+Beta release Version 2.2.9-b1        
+22Mar08
+kes  Fix to JobMedia fix.
+kes  Fix bug pointed out by Peter Much that causes the StorageId to
+     be updated when reading a tape (during migration, it could have
+     been incorrectly set to the write StorageId).
+21Mar08
+kes  Implement autostart scripts for Debian 
+20Mar08
+kes  Fix mtx-changer.in for broken Debian mt program.
+19Mar08
+kes  Massive commit of all fixes and back ports to create 2.2.9
+18Mar08
+kes  Apply doc fix from bug #1062.
+kes  Resolve crash and improper restore wx-console Win32 restore
+     GUI. Fixes bug #1065.
+kes  Update Win32 wxWidgets to latest version.
+kes  Attempt to do correct handling of Win32 mount points. Should
+     fix bug #1046.
+kes  Fix Win32 FD backup/restore memory leak due to improper termination
+     of BackupRead/Write. This fixes bug# 1038.
+kes  Add const to AIX prototype for initgroups()
+27Feb08
+kes  Undo bug #1047 heap overrun fix as it is not correct.
+14Feb08
+kes  Fix creating first JobMedia record during Migration to include
+     proper index. This caused slow restores of migrated jobs.
+10Feb08
+kes  Fix bug #1047, which had a heap overrun when stripping certain paths,
+     and do not strip paths on symbolic links.
+kes  Set catalog backup database and user name from values specified on 
+     the ./configure line.
+ebl  Apply patch to correct bug #1031, about wrong pool source information
+     in job report.
+
+Release Version 2.2.8
+25Jan08
+kes  Apply patch from Martin to correct bug #1040, bscan sets existing
+     ClientId to zero.
+kes  Fixed important spelling error in doc -- bug #1045.
+23Jan08
+kes  Move initialization of read/write res lock earlier in the code.
+     This fixes the crash with a null conf file. This fixes bug
+     #1030.
+kes  Redefine CURES in lib/parse_conf to be URES and move it all
+     into lib/parse_conf.c -- this responds to bug #1042, but does
+     not fix it. The fix is not to compile with FORTIFY_SOURCE.
+kes  Backport fix de-referencing a NULL pointer in the scanner from
+     the trunk SVN. I don't think this was reported as a bug.
+
+Beta release Version 2.2.8
+09Jan08
+kes  Re-enable the new job code editing (%f).
+08Jan08
+kes  Fix bsnprintf for float point numbers. I broke recently when
+     parameterizing some variables. This fixes bug #1036.
+03Jan08
+kes  Move Heartbeat documentation from Job to Director resource.
+     This fixes bug #1033.
+02Jan08
+kes  Fix existing switch drive SD code to call autochanger to release
+     any old volume. This must be done to keep the autochanger from
+     releasing subsequently newly reserved volumes in doing a close().
+     This should possibly fix bugs #1032 and #1018.
+kes  Apply big backport of current SVN SD code that corrects a number
+     of race conditions. This is a first step in fixing bug #1018.
+29Dec07
+ebl  Fixes bug #1028 where "Selection Type" option was not usable 
+     with JobDefs.
+
+
+Release Version 2.2.7
+24Dec07
+kes  Partial back out (disabled) %f job code editing because it
+     does not build on Win32.
+kes  Fix seg fault Frank Sweetser reports in regression testing
+     on his systems. The problem was that the original author of
+     bsnprintf.c did not take into account the side effects of
+     using ++x in the argument to a #define.
+14Dec07
+kes  Apply patch from  Michael Stapelberg <michael@stapelberg.de>
+     that implements double quoting include names in conf files,
+     and also allows piping input by having the first character 
+     be a vertical bar (|). 
+kes  Apply patch from Bastian Friedrich <bastian.friedrich@collax.com>
+     that implement %f in RunScripts to pass the FileSet name.
+kes  Skip leading | when lex input comes from a pipe as suggested
+     by Michael Stapelberg <michael@stapelberg.de>.
+13Dec07
+kes  Apply patch for bsmtp Win32 daylight savings time fix supplied by
+     Nerijus Baliunas <nerijus@users.sourceforge.net>
+10Dec07
+kes  This patch corrects a problem where the maximum concurrent storage
+     jobs counter gets out of sync during restore jobs causing jobs to
+     'wait on max Storage jobs'.  This patch fixes bug #1009.
+08Dec07
+kes  Add new include to postgresql.c suggested by Marc Cousins so
+     that it compiles correctly with pgre version 8.3.  Also fix
+     misuse of %x with pointer (should be %p).
+03Dec07
+kes  This patch fixes bcopy so that it produces correct Volumes.
+     It fixes bug #1022.
+kes  This patch eliminates spurious output to the console during a VerifyVolume
+     job that contains encrypted data. It fixes bug #1024.
+02Dec07
+kes  This patch prevents the 'status dir' command from trying to use a scratch
+     volume and possibly moving it from one pool to another.  This patch fixes
+     bug #1019.
+30Nov07
+kes  Fix --archivedir addition to configure. Replace it with
+     --with-archivedir in configure.in  This fixes the regression
+     test builds.
+kes  This patch fixes bug #1012 where the job is canceled because
+     of Max Run Time exceeded when the job has not yet started.
+29Nov07
+ebl  Apply Richard Mortimer patch that fixes #1016 when there are more than
+     one 'part' to write.  Instead of each part being stored on disk,
+     written to DVD, then deleted from disk, all parts are written to disk,
+     and only the last is written and deleted from disk.
+27Nov07
+kes  Correct typos in disk-changer.in
+25Nov07
+kes  This patch fixes the status command to include the formating string for
+     JS_AttrInserting.  It fixes bug #1021.
+kes  This patch should fix the Mac OS X build problem on the latest
+     Darwin, where sys/types.h was not included correctly (apparently
+     due to a change in the Mac headers).  The solution was to explicitly
+     ensure that it is defined for the ./configure.
+     This patch also has a rebuild of configure that includes the Debian
+     qt4 patch to check for qmake-qt4. This patch fixes bug #1020.
+kes  This patch should ensure that queued messages to the console are
+     displayed as soon as possible.  It should fix bug #1007, but has been
+     reported not to work.
+14Nov07
+kes  This patch fixes the infinite loop when trying to increase the
+     maximum number of volumes in a Pool during the add command.
+     This patch fixes bug #1008. 
+          
+Release Version 2.2.6
+09Nov07
+kes  Get fix for joblist bug in bat from trunk.
+04Nov07
+kes  This patch fixes bug #1003 where putting the message output from
+     a Verify job into the catalog results in a recursive loop.  The problem
+     seems to show up only with postgresql (to be verified).
+02Nov07
+kes  Fix bug #942 where lots of emails where generated when the heartbeat
+     interval was low and Bacula wanted a different tape from the one in
+     the drive.
+26Oct07
+ebl  Apply 2.2.5-lastwritten.patch to fix the LastWritten field 
+     which was updated during a restore (or a reading migration) bug #982
+24Oct07
+ebl  Use qmake-qt4 instead of qmake when available (debian system). 
+22Oct07
+kes  Add a security warning to src/cats/make_catalog_backup.in indicating
+     that passing the password via the command line (arg 3) is insecure.
+     This responds to bug #990 (it doesn't fix it).
+kes  Apply 2.2.5-postgresql-errors.patch
+kes  Remove unneeded File table index on JobId, which is already
+     present as the first index of another multi-index.
+19Oct07
+kes  Set default debug_level to zero. This corrects bugs #991 and #993. 
+kes  Fix a crash in bat when it cannot connect to the Director for example
+     if the Director is not running.
+16Oct07
+kes  Activate Close button on tray-monitor window. This fixes
+     bug #986.
+12Oct07
+kes  Fix spurious warning message printed when creating a volume with
+     a LabelFormat. This fixes bug #976.
+
+Release Version 2.2.5
+09Oct07
+kes  Add JobId in place of Job name in all the Jmsg() output.  
+kes  Correct the APP_DESC for the Win32 storage service (remove an e).
+06Oct07
+kes  Add new SD despooling attributes and Dir inserting attributes 
+     job status codes.  This fixes bug #961.
+kes  Fix Win32 drive display in bat version browser. Fixes bug #962.
+05Oct07
+kes  Fix doc issue. This fixes bug #963.
+kes  Fix listing performance problems in bat. Pointed out by 
+     Chris Howells.
+ebl  Fix replace on restore. This fixes bug #969
+kes  Fix bat code that tests for Win32. This should fix bug #968
+kes  Query 5 list wrong Vol after migration. This fixes bug #960
+04Oct07 
+kes  Correct lib/Makefile.in to include enh_fnmatch.o that was removed
+     in back porting from 2.3.x
+03Oct07
+kes  Backport almost 4000 lines of 2.3 code that fixes a number of bugs.
+     The details are included in the notes in this file.
 28Sep07
 kes  Backport 2.3 code that fixes: it fixes incorrect or incomplete error
      messages; it fixes a problem opening the SQLite3 database when multiple
@@ -15,6 +334,40 @@ kes  Fix race condition that drops final block written to volume.
 kes  Fix FD->SD authorization failure, which was due to spurious
      wakeups from a pthread_cond_timedwait().  Simply check the
      predicate before continuing.  This fixes bug #953
+dvl  Add new configuration item --archivedir
+dvl  Adjust regression tests to use tmp not /tmp.  This will allow
+     multiple concurrent runs of the regression tests.
+28Sep07
+kes  Eliminate more strerror() and replace with bstrerror().
+kes  Remove BSD getopt and replace with unrestricted IBM version.
+kes  Fix Win32 build for changed calling sequences.
+27Sep07 
+kes  Fix FD->SD authorization failure, which was due to spurious
+     wakeups from a pthread_cond_timedwait().  Simply check the
+     predicate before continuing.  This fixes bug #953.
+kes  Add const char where needed (more to do).
+26Sep07
+kes  Setup SQLite busy handler before doing queries. Fixes bug #967.
+kes  Don't overwrite error message in check_tables_version.
+     Fixes bug #966.
+kes  Unlock batch insert tables with same calls used elsewhere.
+kes  Allow starting 59 jobs a second.
+kes  Make SD session key more random.
+kes  Add retry for SQLite opening db if it fails. Probably helps
+     for bug #967.
+kes  Suppress extra error messages during batch insert failure.
+     Fixes bug #966.
+kes  Put some FD auth code on dbglvl rather than fixed.
+kes  Return insert attributes error message in db msg buffer to avoid
+     false error messages. Helps fix bug #966.
+kes  Separate batch init error messages. Probably helps fix bug #966.
+kes  If Dir gets an error during inserting attributes, cancel SD.  
+     This reduces unnecessary error messages.
+24Sep07 
+ebl  Cleanup batch insert code. Probably fixes bug #965.
+23Sep07 
+kes  Turn off some code when batch insert not enabled.
+kes  Edit FD name in connect error messages.
 22Sep07
 kes  Add code to handle tray monitor separated from Win32 FD.
 kes  Fix display of Win32 tray monitor after reboot. Fixes bug #952.
@@ -25,6 +378,7 @@ kes  Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape
      is not properly mounted (recognized) during a poll.
 kes  Apply 2.2.4-verify patch that resolves bug #958.  A Verify catalog 
      Job that has differences reports Verify OK.
+ebl  Fixes #955 bug seg fault in Dir introduced  with regexwhere relocation.
 
 Release Version 2.2.4
 14Sep07
@@ -55,10 +409,10 @@ kes  Note, you need GTK >= 2.10 to be able to link the Tray Monitor
      program.
 kes  Move patches into patches directory.
 11Sep07 
-ebl  Fix bug #946 about "bacula-dir -t" which doesn't works
+ebl  Fix bug #946 about 'bacula-dir -t' which doesn't works
      as expected.
 09Sep07 
-ebl  Using "m" in bconsole will show messages like before,
+ebl  Using 'm' in bconsole will show messages like before,
      and not memory usage.
 
 Release Version 2.2.3