]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/kernstodo
Apply fix from Martin Simmons to clear structure before
[bacula/bacula] / bacula / kernstodo
index fb63c65b80bf55544d8cf46d052b968b49d02e42..bf65169a893a54e2f5b80ddec09693d978b722cb 100644 (file)
                     Kern's ToDo List
-                     15 July 2005
+                     22 October 2005
 
 Major development:      
 Project                     Developer
 =======                     =========                         
-TLS                         Landon Fuller
-Unicode in Win32            Thorsten Engel (done)
-VSS                         Thorsten Engel (in beta testing)
 Version 1.37                Kern (see below)
 ========================================================
 
 Final items for 1.37 before release:
-- --without-openssl breaks at least on Solaris.
-1. Fix the remaining bugs that I am aware of and new ones that come up 
-    during testing.
-3. Document all the new features (about half done).
-6. Build and test the Volume Shadow Copy (VSS) for Win32. 
-7. Write a bacula-web document
-8. Take one more try at making DVD writing work.
-9. Run the regression scripts on Solaris and FreeBSD
+1. Fix bugs
+- Mount after manually unloading changer causes hang in SD
+- Check if ANSI tape labeling works with drive in
+  read-only mode.
+   > > btape: label.c:299 write_volume_label()
+   > > btape: label.c:302 Label type=0
+   > > btape: dev.c:648 rewind_dev fd=3 "VTS0" (/dev/tape0)
+   > > btape: label.c:530 Start create_volume_label()
+   > >
+   > > Volume Label:
+   > > Id                : Bacula 1.0 immortal
+   > > VerNo             : 11
+   > > VolName           : 450340
+   > > PrevVolName       :
+   > > VolFile           : 0
+   > > LabelType         : PRE_LABEL
+   > > LabelSize         : 0
+   > > PoolName          : Default
+   > > MediaType         : VTS
+   > > PoolType          : Backup
+   > > HostName          : sysrmr.eia.doe.gov
+   > > btape: ansi_label.c:282 Write ANSI label type=2
+   > > 15-Sep 13:12 btape: btape Fatal error: ansi_label.c:303 Could not
+   > > write ANSI VOL1
+   > > label. ERR=Bad file descriptor
+
+- Check "update slots=7 scan storage=DLT drive=0" with    
+  non-bacula tape in the drive.
+
+-  --without-openssl breaks at least on Solaris.
+-  Arno had to do -- to get update slots=x to work
+   UPDATE Media SET InChanger=0,Slot=0 WHERE InChanger>0 AND Slot>0; (MySQL)
 
 Document:
-- Document cleaning up the spool files.
-- Add better documentation on how restores can be done
-- Document details of ANSI/IBM labels
-- Document that Bootstrap files can be written with cataloging
-  turned off.
-- Pruning with Admin job.
-- OS linux 2.4
-  1) ADIC, DLT, FastStor 4000, 7*20GB
-  2) Sun, DDS, (Suns name unknown - Archive Python DDS drive), 1.2GB
-  3) Wangtek, QIC, 6525ES, 525MB (fixed block size 1k, block size etc. 
-  driver dependent - aic7xxx works, ncr53c8xx with problems)
-  4) HP, DDS-2, C1553A, 6*4GB
-- Doc the following
-  to activate, check or disable the hardware compression feature on my 
-  exb-8900 i use the exabyte "MammothTool" you can get it here:
-  http://www.exabyte.com/support/online/downloads/index.cfm
-  There is a solaris version of this tool. With option -C 0 or 1 you can 
-  disable or activate compression. Start this tool without any options for 
-  a small reference.
-- Linux Sony LIB-D81, AIT-3 library works.
-- Document PostgreSQL performance problems bug 131.
-- Document testing
-- Document that ChangerDevice is used for Alert command.
-- Document new CDROM directory.
-- Document Heartbeat Interval in the dealing with firewalls section.
+- Does ClientRunAfterJob fail the job on a bad return code?
+- Document cleaning up the spool files:
+  db, pid, state, bsr, mail, conmsg, spool
 - Document the multiple-drive-changer.txt script.
-- On Win32 working directory must have drive letter ????
-- On Win32 working directory must be writable by SYSTEM to
-  do restores.
-
+- Pruning with Admin job.
+- Does WildFile match against full name?  Doc.
 
+For 1.39:
+- Add a new Autochanger directive "Global lock = yes|no"
+  that provides a global lock on calling mtx-changer so
+  that multiple autochanger definitions can reference
+  the same physical autochanger.
+- Look at -D_FORTIFY_SOURCE=2
+- Close STDOUT if debug_level == 0
+- Add recycle event.
+- Add scratch pool event.
+- Implement NeedVolume event
+- Add Win32 FileSet definition somewhere
+- Look at fixing restore status stats in SD.
+- Make selection of Database used in restore correspond to
+  client.
+- implement a mode that says when a hard read error is
+  encountered, read many times (as it currently does), and if the
+  block cannot be read, skip to the next block, and try again.  If
+  that fails, skip to the next file and try again, ...
+- Add ACL to restore only to original location.
+- Add a recursive mark command (rmark) to restore.
+- "Minimum Job Interval = nnn" sets minimum interval between Jobs
+  of the same level and does not permit multiple simultaneous
+  running of that Job (i.e. lets any previous invocation finish
+  before doing Interval testing).
+- Look at simplifying File exclusions.
+- Fix store_yesno to be store_bitmask.
+- New directive "Delete purged Volumes"
+- new pool XXX with ScratchPoolId = MyScratchPool's PoolId and
+  let it fill itself, and RecyclePoolId = XXX's PoolId so I can
+  see if it become stable and I just have to supervise
+  MyScratchPool
+- If I want to remove this pool, I set RecyclePoolId = MyScratchPool's
+  PoolId, and when it is empty remove it.
+- Figure out how to recycle Scratch volumes back to the Scratch
+  Pool.
+- Add Volume=SCRTCH
+- Allow Check Labels to be used with Bacula labels.
+- "Resuming" a failed backup (lost line for example) by using the
+  failed backup as a sort of "base" job.
+- Look at NDMP
+- Email to the user when the tape is about to need changing x
+  days before it needs changing.
+- Command to show next tape that will be used for a job even
+  if the job is not scheduled.
+--- create_file.c.orig  Fri Jul  8 12:13:05 2005
++++ create_file.c       Fri Jul  8 12:13:07 2005
+@@ -195,6 +195,8 @@
+                     attr->ofname, be.strerror());
+               return CF_ERROR;
+            }
++        } else if(S_ISSOCK(attr->statp.st_mode)) {
++            Dmsg1(200, "Skipping socket: %s\n", attr->ofname);
+         } else {          
+             Dmsg1(200, "Restore node: %s\n", attr->ofname);
+            if (mknod(attr->ofname, attr->statp.st_mode, attr->statp.st_rdev) != 0 && errno != EEXIST) {
+- From: Arunav Mandal <amandal@trolltech.com>
+  1. When jobs are running and bacula for some reason crashes or if I do a 
+  restart it remembers and jobs it was running before it crashed or restarted 
+  as of now I loose all jobs if I restart it.
+
+  2. When spooling and in the midway if client is disconnected for instance a 
+  laptop bacula completely discard the spool. It will be nice if it can write 
+  that spool to tape so there will be some backups for that client if not all.
+
+  3. We have around 150 clients machines it will be nice to have a option to 
+  upgrade all the client machines bacula version automatically.
+
+  4. Atleast one connection should be reserved for the bconsole so at heavy load 
+  I should connect to the director via bconsole which at sometimes I can't
+
+  5. Another most important feature that is missing, say at 10am I manually 
+  started  backup of client abc and it was a full backup since client abc has 
+  no backup history and at 10.30am bacula again automatically started backup of 
+  client abc as that was in the schedule. So now we have 2 multiple Full 
+  backups of the same client and if we again try to start a full backup of 
+  client backup abc bacula won't complain. That should be fixed.
+
+- Fix bpipe.c so that it does not modify results pointer.
+  ***FIXME*** calling sequence should be changed.
 1.xx Major Projects:
 #3   Migration (Move, Copy, Archive Jobs)
-     (probably not this version)
 #7   Single Job Writing to Multiple Storage Devices
-     (probably not this version)
-
-For 1.39:
 - Reserve blocks other restore jobs when first cannot connect
-  to SD -- no way to cancel in SD if Dir job canceled.
-- Allow cancel of unknown Job
-- State not saved when closing Win32 FD by icon
+  to SD.
 - Add true/false to conf same as yes/no
 - For Windows disaster recovery see http://unattended.sf.net/
 - regardless of the retention period, Bacula will not prune the
@@ -182,6 +252,22 @@ For 1.39:
 
      Make sure this information is stored on the tape too so
      that it can be restored directly from the tape.
+
+  Comments from Martin Simmons (I think they are all covered):
+  Ok, that should cover the basics.  There are few issues though:
+
+  - Restore will depend on the catalog.  I think it is better to include the
+  extra data in the backup as well, so it can be seen by bscan and bextract.
+
+  - I'm not sure if it will preserve multiple hard links to the same inode.  Or
+  maybe adding or removing links will cause the data to be dumped again?
+
+  - I'm not sure if it will handle renamed directories.  Possibly it will work
+  by dumping the whole tree under a renamed directory?
+
+  - It remains to be seen how the backup performance of the DIR's will be
+  affected when comparing the catalog for a large filesystem.
+
 =====
 
 Regression tests:
@@ -1369,3 +1455,48 @@ Block Position: 0
 - Finish TLS implementation.
 - Port limiting -m in iptables to prevent DoS attacks
   could cause broken pipes on Bacula.
+6. Build and test the Volume Shadow Copy (VSS) for Win32. 
+-  Allow cancel of unknown Job
+-  State not saved when closing Win32 FD by icon
+-  bsr-opt-test fails. bsr deleted. Fix.
+-  Move Python daemon variables from Job to Bacula object.
+   WorkingDir, ConfigFile
+- Document that Bootstrap files can be written with cataloging
+  turned off.
+- Document details of ANSI/IBM labels
+- OS linux 2.4
+  1) ADIC, DLT, FastStor 4000, 7*20GB
+- Linux Sony LIB-D81, AIT-3 library works.
+- Doc the following
+  to activate, check or disable the hardware compression feature on my 
+  exb-8900 i use the exabyte "MammothTool" you can get it here:
+  http://www.exabyte.com/support/online/downloads/index.cfm
+  There is a solaris version of this tool. With option -C 0 or 1 you can 
+  disable or activate compression. Start this tool without any options for 
+  a small reference.
+- Document Heartbeat Interval in the dealing with firewalls section.
+- Document new CDROM directory.
+- On Win32 working directory must have drive letter ????
+- On Win32 working directory must be writable by SYSTEM to
+  do restores.
+- Document that ChangerDevice is used for Alert command.
+- Add better documentation on how restores can be done
+8. Take one more try at making DVD writing work (no go)
+7. Write a bacula-web document
+- Why isn't the DEVICE structure defined when doing
+  a reservation?
+- Multi-drive changer seems to only use drive 0
+  Multiple drives don't seem to be opened.
+- My database is growing
+- Call GetLastError() in the berrno constructor rather
+  than delaying until strerror.
+- Tape xxx in drive 0, requested in drive 1
+- The mount command does not work with drives other than 0.
+- A mount should cause the SD to re-examine what Slot is   
+  loaded.
+- The SD locks on to the first available drive then
+  wants a Volume that is released but in another drive --
+  chaos.
+- Run the regression scripts on Solaris and FreeBSD
+-  Figure out how to package gui, and rescue programs.
+- Add a .dir command to restore tree code to eliminate the problem