]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/kernstodo
Fix breaks in bextract + in restore print only volumes to be actually used
[bacula/bacula] / bacula / kernstodo
index dd01fda9e3945275d2a40abfdc102f80331cf85e..f6756b0334d8af4731674f3e3931ecebb0fb3beb 100644 (file)
@@ -1,5 +1,5 @@
                  Kern's ToDo List
-                  10 June 2003 
+                   6 July 2003 
 
 Documentation to do: (any release a little bit at a time)
 - Document running a test version.
@@ -16,49 +16,71 @@ Documentation to do: (any release a little bit at a time)
 - Document FInclude ...
 - Document need to add "-u root" to most of MySQL script calls
   (./create_mys... ./make_my...).
+- Document c:/working directory better than /working directory.
+- Document all the status codes JobLevel, JobType, JobStatus.
+- Document update volume: jobid, current, before, all
+- Document run "yes".
+- Document that bscan does not work with multiple simultaneous jobs.
+- Update Automatic Volume Labeling in disk.wml
 
           
 Testing to do: (painful)
 - that ALL console command line options work and are always implemented
 - blocksize recognition code.
-- multiple simultaneous Volumes
 - Test if rewind at end of tape waits for tape to rewind.
 - Test cancel at EOM.       
 - Test not zeroing Autochanger slot when it is wrong.
-- Test multiple simultaneous Volumes
-- That restoring a hard link that already exists works correctly.
-  Same for soft link.
 - Test of last block is correct in JobMedia when splitting file 
   over two volumes.
-
+- Test recycling and purging (code changed in db_find_next_volume and
+  in recycle.c).
 - Figure out how to use ssh or stunnel to protect Bacula communications.
 
 For 1.31 release:
-- Use runbeforejob to unload, then reload a volume previously used,
-  then the next job run gets an error reading the drive.
-- Implement non-blocking writes and bsock->terminate in heartbeat thread,
-  or set it in status.c cancel.
-- Add restore to specific date.
+- In Win portable restore the directory is not create    
+   27-Jun-2003 16:52 tibs-fd: kernsrestore.2003-06-27_16.52.20 Error:
+   create_file.c:175 Could not create
+   /tmp/bacula-restores/cygwin/home/kern/bacula/k/src/dird/dird_conf.o: 0
+   ERR=The system cannot find the path specified.
+- Finish Windows implementation (add setting of correct type on restore,
+  add Portable Data Format flag).
+- Maybe remove multiple simultaneous devices code in SD.
+- Increment DB version prior to releasing.
+- Turn off FULL_DEBUG prior to releasing.
+- On Windows with very long path names, it may be impossible to create 
+  a file (and thus restore it) because the total length is too long.
+  We must cd into the directory then create the file without the
+  full path name.
+- Move JobFiles and JobBytes to SD rather than FD -- more correct.
 - lstat() is not going to work on Win32 for testing date.
 - Implement a Recycle command
 - Something is not right in last block of fill command.
-- Implement List Volume Job=xxx  or List scheduled volumes or
-  Status Director 
-- Instrument use_count on DEVICE packets and ensure that the device is
-  being close()ed at the appropriate time.
+- Implement List Volume Job=xxx  or List scheduled volumes or Status Director 
 - Check if Incremental is working correctly when it looks for the previous Job 
   (Phil's problem).
-- Add next Volume to be used to status output.
+
+
+For 1.32:
+- Add client name to cram-md5 challenge so Director can immediately
+  verify if it is the correct client.
+- Implement ClientRunBeforeJob and ClientRunAfterJob.
+- Implement new alist in FileSet scanning.
+- Add JobLevel in FD status (but make sure it is defined).
+- Audit all UA commands to ensure that we always prompt where possible.
+- Restrict characters permitted in a Resource name, and don't permit
+  duplicate names.
+- Prohibit backing up archive device (findlib/find_one.c:128)
+- Make | and < work on FD side.
+- Check Jmsg in bnet, may not work, must dup bsock.
+- Suppress Job Name in Jmsg for console
+- Create Pools that are referenced in a Run statement at startup if possible.
+- Use runbeforejob to unload, then reload a volume previously used,
+  then the next job run gets an error reading the drive.
 - Make bootstrap filename unique.
-- Sort JobIds entered into recover tree.
-- The bsr for Dan's job has file indexes covering the whole range rather
-  than only the range contained on the volume.
-  Constrain FileIndex to be within range for Volume.
 - Test a second language e.g. french.
 - Start working on Base jobs.
 - Make "make binary-release" work from any directory.
-- Document c:/working directory better than /working directory.
-- Unsaved Flag in Job record.
+- Unsaved Flag in Job record (use JobMissingFiles).
 - Base Flag in Job record.
 - Implement UnsavedFiles DB record.
 - Implement argc/argv for daemon command line scanning using table driven
@@ -66,9 +88,6 @@ For 1.31 release:
 - Implement table driven single argc/argv scanner to pickup all arguments.
   Much like xxx_conf.c scan table.
   keyword, handler(store_routine), store_address, code, flags, default.
-- Make | and < work on FD side.
-- Pass prefix_links to FD.
-- Implement a M_SECURITY message class.
 - From Phil Stracchino:
   It would probably be a per-client option, and would be called
   something like, say, "Automatically purge obsoleted jobs".  What it
@@ -79,19 +98,12 @@ For 1.31 release:
   all Differential and Incremental jobs obsoleted by that Full backup.
   This would let people minimize the number of tapes they're keeping on
   hand without having to master the art of retention times.
-- Prohibit backing up archive device (findlib/find_one.c:128)
-- Make Restore report an error if FD or SD term codes are not OK.
-- Add JobLevel in FD status (but make sure it is defined).
-- Make Pool resource handle Counter resources.
-- Restrict characters permitted in a Resource name, and don't permit
-  duplicate names.
 - Implement new serialize subroutines
    send(socket, "string", &Vol, "uint32", &i, NULL)
-- Audit all UA commands to ensure that we always prompt where possible.
 - Scratch Pool where the volumes can be re-assigned to any Pool.
-
-
-After 1.31:
+- Implement a M_SECURITY message class.
+- Implement forward spacing block/file: position_device(bsr) --
+  just before read_block_from_device();
 - When doing a Backup send all attributes back to the Director, who
   would then figure out what files have been deleted.
 - Currently in mount.c:236 the SD simply creates a Volume. It should have
@@ -114,7 +126,6 @@ After 1.31:
 
 - Add Progress command that periodically reports the progress of
   a job or all jobs.
-- Implement "Reschedule OnError=yes interval=nnn times=xxx"
 - One block was orphaned in the SD probably after cancel.
 - Add all command line arguments to "update", e.g. slot=nn volStatus=append, ...
 
@@ -400,7 +411,7 @@ Done -- Restore part needs better implementation to work correctly
 
 
 Item 2:   Make the Storage daemon use intermediate file storage to buffer data.
-Deferred -- not necessary yet.
+Deferred -- not necessary yet -- possibly implement with Migration.
 
   What:   If data is coming into the SD too fast, buffer it to 
           disk if the user has configured this option.
@@ -456,6 +467,7 @@ Item 4:   Implement Base jobs.
 
 
 Item 5:   Implement Label templates
+Done 
 
   What:   This is a mechanism whereby Bacula can automatically create
           a tape label for new tapes according to a detailed specification
@@ -509,7 +521,6 @@ Item 8:   GUI for interactive backup
 
 
 Item 9:   Add SSL to daemon communications.
-Inprogress as of version 1.31.
 
   What:   This provides for secure communications between the daemons.
 
@@ -977,4 +988,33 @@ Done: (see kernsdone for more)
   Do lstat() to see if it is already properly linked.
   Same for symlinked file.
   Make sure ifnewer, ifolder, never, ... apply correctly.
+- Flag so that no connect does not error, and Reschedule a job.
+- Implement "Reschedule OnError=yes interval=nnn times=xxx"
+- That restoring a hard link that already exists works correctly.
+  Same for soft link.
+- Make Pool resource handle Counter resources.
+- Fix first block number after label to be zero instead of 1 (reset after label).
+- Grep for Backup OK in regression script.
+- Do NOT reuse same JobId if tape written.
+- Implement non-blocking writes and bsock->terminate in heartbeat
+  thread, or set it in status.c cancel (used pthread_kill() instead of
+  non-blocking I/O.
+- Add restore to specific date.
+- Instrument use_count on DEVICE packets and ensure that the device is
+  being close()ed at the appropriate time.
+- Test long path names (>64 chars) in Windows -- crashes FD?
+- Implement fast block rejection: match_bsr_block().
+- Complain if record dropped in bnet_recv because too long.
+- Test multiple simultaneous Volumes
+- Document recycling algorithm.
+- Make Restore report an error if FD or SD term codes are not OK.
+- To link with mysqlclient_r may require -lssl -lcrypto
+- Document Heart beat code 
+- Non-fatal errors are not correct counting attribs.c:277
+- Check that Block number in JobMedia are correct.
+- The bsr for Dan's job has file indexes covering the whole range rather
+  than only the range contained on the volume.
+  Constrain FileIndex to be within range for Volume.
+- Pass prefix_links to FD.
+- Fix restore list of volumes if Volume not selected.