]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/kernstodo
Add new test to all
[bacula/bacula] / bacula / kernstodo
index 224b4136885623ee8148288dd4d9582db091f230..d4dd548770f60769747a9dbf6b3864d06c4a5c77 100644 (file)
@@ -1,5 +1,5 @@
                  Kern's ToDo List
-                  06 June 2003 
+                  22 June 2003 
 
 Documentation to do: (any release a little bit at a time)
 - Document running a test version.
@@ -16,6 +16,7 @@ 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 recycling algorithm.
 
           
 Testing to do: (painful)
@@ -26,53 +27,43 @@ Testing to do: (painful)
 - 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:
+- Check that Block number in JobMedia are correct.
+- Complain if record dropped in bnet_recv because too long.
+- Suppress Job Name in Jmsg for console
+- Check Jmsg in bnet, may not work, must dup bsock.
+- Use SD returned values in report -- or add them.
+- Increment DB version prior to releasing.
+- Turn off FULL_DEBUG prior to releasing.
+- Implement forward spacing block/file: position_device(bsr) --
+  just before read_block_from_device();
+- 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.
+- Add client name to cram-md5 challenge so Director can immediately
+  verify if it is the correct client.
+- Use runbeforejob to unload, then reload a volume previously used,
+  then the next job run gets an error reading the drive.
+- 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.
-- Check this below from Phil.
-  > When the job was done, Bacula reported 11084 files restored:
-  > 
-  > JobId:                  527                                                     
-  > Job:                    Zocalo_Restore.2003-06-05_16.42.01                      
-  > Client:                 Zocalo                                                  
-  > Start time:             05-Jun-2003 16:42                                       
-  > End time:               06-Jun-2003 01:21                                       
-  > Files Restored:         11,084                                                  
-  > Bytes Restored:         65,474,772                                              
-  > Rate:                   2.1 KB/s                                                
-  > FD termination status:  OK                                                      
-  > Termination:            Restore OK                                              
-  > 
-  > when it should probably have reported 11084 files scanned, 250 restored.
-  > The bytes restored count looks about right.
-  > 
-- If during a restore, a hard linked file already exists (on option), delete
-  the file and re-link it.  This is to avoid the possibility that the
-  user had re-linked the file between the backup and the restore.
-  Do lstat() to see if it is already properly linked.
-  Same for symlinked file.
-- Remove the Jmsg() in sql_find.c:102 or only print on hard error.
 - 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.
 - 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.
-- Add a recycle command.
 - Make bootstrap filename unique.
-- Implement FileSet VolIndex -- done, but must update old records.
-- 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.
-- Should Bacula make an Append tape as Purged when purging?
 - Test a second language e.g. french.
 - Start working on Base jobs.
 - Make "make binary-release" work from any directory.
@@ -80,7 +71,6 @@ For 1.31 release:
 - Unsaved Flag in Job record.
 - Base Flag in Job record.
 - Implement UnsavedFiles DB record.
-- Use switch() in backup.c and restore.c in FD instead of giant if statement.
 - Implement argc/argv for daemon command line scanning using table driven
   stuff below.
 - Implement table driven single argc/argv scanner to pickup all arguments.
@@ -102,12 +92,12 @@ For 1.31 release:
 - 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:
@@ -133,7 +123,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, ...
 
@@ -419,7 +408,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.
@@ -475,6 +464,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
@@ -528,7 +518,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.
 
@@ -967,3 +956,49 @@ Done: (see kernsdone for more)
   It doesnt show the last 20 jobs , but some older ones.
 - Fix Verify VolumeToCatalog to use BSRs -- it is broken.
 - Implement Release Storage=xxx
+- Fix restore on Win95/98  
+- Remove the Jmsg() in sql_find.c:102 or only print on hard error.
+- Implement FileSet VolIndex -- done, but must update old records.
+- Check this below from Phil.
+  This was SD reported data rather than FD data!
+  > When the job was done, Bacula reported 11084 files restored:
+  > 
+  > JobId:                  527                                                     
+  > Job:                    Zocalo_Restore.2003-06-05_16.42.01                      
+  > Client:                 Zocalo                                                  
+  > Start time:             05-Jun-2003 16:42                                       
+  > End time:               06-Jun-2003 01:21                                       
+  > Files Restored:         11,084                                                  
+  > Bytes Restored:         65,474,772                                              
+  > Rate:                   2.1 KB/s                                                
+  > FD termination status:  OK                                                      
+  > Termination:            Restore OK                                              
+  > 
+  > when it should probably have reported 11084 files scanned, 250 restored.
+  > The bytes restored count looks about right.
+  > 
+- Should Bacula make an Append tape as Purged when purging?
+- Use switch() in backup.c and restore.c in FD instead of giant if statement.
+- If during a restore, a hard linked file already exists (on option), delete
+  the file and re-link it.  This is to avoid the possibility that the
+  user had re-linked the file between the backup and the restore.
+  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().