]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/kernstodo
Massive SD calling sequence reorganization
[bacula/bacula] / bacula / kernstodo
index 09b22fd96c79d526a4a8f3779eaab76c861d98c7..963aadbf6cacceab4e3f9e6c7f5c4e7f1c327d69 100644 (file)
@@ -1,5 +1,5 @@
                     Kern's ToDo List
-                   07 Septermber 2004
+                   17 Septermber 2004
 
 Major development:      
 Project                     Developer
@@ -11,15 +11,14 @@ Version 1.35                Kern (see below)
 ========================================================
 
 1.35 Items to do for release:
-- Restore c: with a prefix into /prefix/c/ to prevent c: and d:
-  files with the same name from overwritting each other.
-- Add new DCR calling sequences everywhere in SD. This will permit 
-  simultaneous use of multiple devices by a single job.
+- Backspace to beginning of line (conio) does not erase first char.
 
 - Document a get out of jail procedure if everything breaks if 
   you lost/broke the Catalog -- do the same for "I know my
   file is there how do I get it back?".
 
+- Add "Rerun failed levels = yes/no" to Job resource.
+
    
 Maybe for 1.35:
 - Look at patches/bacula_db.b2z postgresql that loops during restore.
@@ -128,8 +127,8 @@ Wish list:
 - Minimal autochanger handling in Bacula and in btape.
 - Look into how tar does not save sockets and the possiblity of
   not saving them in Bacula (Martin Simmons reported this).
-  The next two lines will show them.
-  localmounts=`awk '/ext/ { print $2 }' /proc/mounts`   # or whatever
+- Add All Local Partitions = yes to new style saves.
+- localmounts=`awk '/ext/ { print $2 }' /proc/mounts`   # or whatever
   find $localmounts -xdev -type s -ls
 - Fix restore jobs so that multiple jobs can run if they
   are not using the same tape(s).
@@ -188,14 +187,12 @@ Wish list:
 - look at mxt-changer.html
 - Make ? do a help command (no return needed).
 - Implement restore directory.
-- Add All Local Partitions = yes to new style saves.
 - Document streams and how to implement them.
 - Possibly implement "Ensure Full Backup = yes" looks for a failed full backup
   and upgrades the current backup if one exists.
 - Check that barcode reading and update slots scan works.
 - Try not to re-backup a file if a new hard link is added.
 - Add feature to backup hard links only, but not the data.
-- Add "All Local = yes" option to save to include all local partitions.
 - Fix stream handling to be simpler.
 - Add Priority and Bootstrap to Run a Job.
 - Eliminate Restore "Run Restore Job" prompt by allowing new "run command
@@ -207,13 +204,8 @@ Wish list:
 - Add display of total selected files to Restore window.
 - Add tree pane to left of window.
 - Add progress meter.
-- Polling does not work for restore. It tries a number of times,
-  gives up, and crashes the SD.
-- Lock jcr_chain when doing attach/detach in acquire.c
-- Add assert in free_jcr if attach/detach chain active.
 - Max wait time or max run time causes seg fault -- see runtime-bug.txt
 - Document writing to a CD/DVD with Bacula.
-- Add check for tape alerts.
 - Add a "base" package to the window installer for pthreadsVCE.dll
   which is needed by all packages.
 - Add message to user to check for fixed block size when the forward
@@ -223,14 +215,10 @@ Wish list:
 - Possibly implement: Action = Unmount Device="TapeDrive1" in Admin jobs.
 - Setup lrrd graphs: (http://www.linpro.no/projects/lrrd/) Mike Acar.
 - Revisit the question of multiple Volumes (disk) on a single device.
-- Finish SIGHUP work.
-- Check that all change in wait status in the SD are        
-  signaled to the Director.
 - Add a block copy option to bcopy.
 - Investigate adding Mac Resource Forks.
 - Finish work on Gnome restore GUI.
 - Fix "llist jobid=xx" where no fileset or client exists.
-- Check pruning of restore jobs.
 - From Chris Hull:
    it seems to be complaining about 12:00pm which should be a valid 12
    hour time.  I changed the time to 11:59am and everything works fine.
@@ -243,26 +231,14 @@ Wish list:
   then list last 20 backups.
 - Add all pools in Dir conf to DB also update them to catch changed
   LabelFormats and such.
-- Update volumes FromPool=xxx does all volumes.
 - Pass Director resource name as an option to the Console.
 - Add a "batch" mode to the Console (no unsolicited queries, ...).
-- Add code to check for tape alerts -- tapeinfo.
-- Make sure list of Volumes needed is in correct order for restore.
-  See havana.
-- Remove paths (and files that reference them) that have no trailing slash   
-  in dbcheck -- or add a trailing slash.
-- Remove Filenames (and files that reference them) that have a trailing
-  slash in dbcheck -- or remove the trailing slash.
-- Remove orphaned paths/filenames by copying them to a new table with a 
-  reference count, then mark all referenced files/paths and remove unreferenced
-  ones.
 - Add a .list all files in the restore tree (probably also a list all files)
   Do both a long and short form.
 - Allow browsing the catalog to see all versions of a file (with 
   stat data on each file).
 - Restore attributes of directory if replace=never set but directory
   did not exist.
-- Allow "delete job jobid=xxx,yyy,aaa-bbb" i.e. list + ranges.
 - Use SHA1 on authentication if possible.
 - See comtest-xxx.zip for Windows code to talk to USB.
 - Make btape accept Device Names in addition to Archive names.
@@ -283,40 +259,23 @@ Wish list:
 - Add disk seeking on restore.  - Allow
    for optional cancelling of SD and FD in case DIR
   gets a fatal error. Requested by Jesse Guardiani <jesse@wingnet.net>
-- Bizarre message: Error: Could not open WriteBootstrap file:
-- Build console in client only build.
 - Add "limit=n" for "list jobs"
 - Check new HAVE_WIN32 open bits.    
 - Check if the tape has moved before writing.  
 - Handling removable disks -- see below:
-- Multiple drive autochanger support -- see below.
 - Keep track of tape use time, and report when cleaning is necessary.
-- Fix FreeBSD mt_count problem.
 - Add FromClient and ToClient keywords on restore command (or
   BackupClient RestoreClient).
-- Automatic "update slots" on user configuration directive when a
-  slot error occurs.
 - Implement a JobSet, which groups any number of jobs. If the
   JobSet is started, all the jobs are started together.
   Allow Pool, Level, and Schedule overrides.
 - Enhance cancel to timeout BSOCK packets after a specific delay.
-- When I restore to Windows the Created, Accessed and Modifiedtimes are
-  those of the time of the restore, not those of the originalfile.  
-  The dates you will find in your restore log seem to be the original
-   creation dates
-- Volume "add"ed to Pool gets recycled in first use. VolBytes=0
-- If a tape is recycled while it is mounted, Stanislav Tvrudy must do an
-  additional mount to deblock the job.
-- From Johan Decock:
-  bscan: sql_update.c:65 UPDATE File SET MD5='Ij+5kwN6TFIxK+8l8+/I+A' WHERE FileId=0
-  bscan: bscan.c:1074 Could not add MD5/SHA1 to File record. ERR=sql_update.c:65 Update problem: affected_rows=0
 - Do scheduling by UTC using gmtime_r() in run_conf, scheduler, and   
   ua_status.!!! Thanks to Alan Brown for this tip.
 - Look at updating Volume Jobs so that Max Volume Jobs = 1 will work
   correctly for multiple simultaneous jobs.
 - Correct code so that FileSet MD5 is calculated for < and | filename   
   generation.
-- Mark Volume in error on error from WEOF.
 - Implement the Media record flag that indicates that the Volume does disk 
   addressing.
 - Implement VolAddr, which is used when Volume is addressed like a disk,
@@ -327,8 +286,6 @@ Wish list:
 - Fix fast block rejection (stored/read_record.c:118). It passes a null
   pointer (rec) to try_repositioning().
 - Look at extracting Win data from BackupRead.
-- Having dashes in filenames apparently creates problems for restore
-  by filename??? hard to believe.
 - Implement RestoreJobRetention? Maybe better "JobRetention" in a Job,
   which would take precidence over the Catalog "JobRetention".
 - Implement Label Format in Add and Label console commands.
@@ -340,7 +297,6 @@ Wish list:
   resources, like Level? If so, I think I'd make it an optional directive
   in Job, Client, and Pool, with precedence such that Job overrides Client
   which in turn overrides Pool.
-- Print a message when a job starts if the conf file is not current.
 
 - Spooling ideas taken from Volker Sauer's and other's emails:
    > IMHO job spooling should be turned on
@@ -403,6 +359,11 @@ Wish list:
    from one backup Volume to another.
 
 - New Storage specifications:
+  - Want to write to multiple storage devices simultaneously
+  - Want to write to multiple storage devices sequentially (in one job)
+  - Want to read/write simultaneously
+  - Key is MediaType -- it must match
+
   Passed to SD as a sort of BSR record called Storage Specification
     Record or SSR.
     SSR                    
@@ -410,7 +371,6 @@ Wish list:
       MediaType -> Next MediaType
       Pool -> Next Pool
       Device -> Next Device
-  Write Copy Resource that makes a copy of a resource.
   Job Resource
      Allow multiple Storage specifications
      New flags
@@ -422,8 +382,8 @@ Wish list:
   Storage
      Allow Multiple Pool specifications (note, Pool currently
        in Job resource).
-     Allow Multiple MediaType specifications
-     Allow Multiple Device specifications
+     Allow Multiple MediaType specifications in Dir conf
+     Allow Multiple Device specifications in Dir conf
      Perhaps keep this in a single SSR
   Tie a Volume to a specific device by using a MediaType that 
     is contained in only one device.
@@ -439,20 +399,10 @@ Ideas from Jerry Scharf:
         even more important, it's not flaky
         it has an open access catalog, opening many possibilities
         it's pushing toward heterogeneous systems capability
-  simple things:
-        I don't remember an include file directive for config files
-                (not filesets, actual config directives)
-        can you check the configs without starting the daemon?
-        some warnings about possible common mistakes
   big things:
-   doing the testing and blessing of concurrent backup writes
-        this is absolutely necessary in the enterprise
-   easy user recovery GUI with full access checking
    Macintosh file client
         macs are an interesting niche, but I fear a server is a rathole
    working bare iron recovery for windows
-   much better handling on running config changes
-        thinking through the logic of what happens to jobs in progress
    the option for  inc/diff backups not reset on fileset revision
         a) use both change and inode update time against base time
         b) do the full catalog check (expensive but accurate)
@@ -505,9 +455,7 @@ Ideas from Jerry Scharf:
   to the user, who would then use "mount" as described above 
   once he had actually inserted the disk.
 - Implement dump/print label to UA
-- Implement disk spooling. Two parts: 1. Spool to disk then
-  immediately to tape to speed up tape operations. 2. Spool to
-  disk only when the tape is full, then when a tape is hung move
+- Spool to disk only when the tape is full, then when a tape is hung move
   it to tape.
 - Scratch Pool where the volumes can be re-assigned to any Pool.
 - bextract is sending everything to the log file ****FIXME****
@@ -824,12 +772,8 @@ Ideas from Jerry Scharf:
   if full status requested or if some level of debug on.
 - Make database type selectable by .conf files i.e. at runtime
 - Set flag for uname -a.  Add to Volume label.
-- Implement throttled work queue.
 - Restore files modified after date
 - SET LD_RUN_PATH=$HOME/mysql/lib/mysql
-- Implement Restore FileSet=
-- Create a protocol.h and protocol.c where all protocol messages
-  are concentrated.
 - Remove duplicate fields from jcr (e.g. jcr.level and jcr.jr.Level, ...).
 - Timout a job or terminate if link goes down, or reopen link and query.
 - Concept of precious tapes (cannot be reused).
@@ -1402,5 +1346,9 @@ Block Position: 0
   forces the resolution to be only ipv6.
 - Fix silly restriction requiring Include { Options { xxx } } to be
   on separate lines.
+- Restore c: with a prefix into /prefix/c/ to prevent c: and d:
+  files with the same name from overwritting each other.
+- Add "Multiple connections = yes/no" to catalog resource.
+- Add new DCR calling sequences everywhere in SD. This will permit 
+  simultaneous use of multiple devices by a single job.