]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/kernstodo
Final changes
[bacula/bacula] / bacula / kernstodo
index 40d967f3a050134837c0bfa63294333c365b2b33..bf8f31e598a1ff6c9154b216f7ec48b765c7c6a8 100644 (file)
@@ -1,5 +1,5 @@
                     Kern's ToDo List
-                     22 February 2006
+                     19 August 2006
 
 Major development:      
 Project                     Developer
@@ -19,24 +19,106 @@ Document:
   workaround: specify absolute working and pid directory in
   bacula-fd.conf (e.g.  c:\bacula\working instead of
   \bacula\working).
-
-Priority:
-
-For 1.39:
-- Implement VolumeState as discussed with Arno.
-- Install man pages
 - Document techniques for restoring large numbers of files.
 - Document setting my.cnf to big file usage.
 - Add example of proper index output to doc.
    show index from File;
+- Correct the Include syntax in the m4.xxx files in examples/conf
+- Document JobStatus and Termination codes.
+- Fix the error with the "DVI file can't be opened" while
+  building the French PDF.
+- Document more DVD stuff -- particularly that recycling doesn't work,
+  and all the other things too.
+
+Priority:
+
+For 1.39:
+- Fix wx-console scanning problem with commas in names.
+- Change dbcheck to tell users to use native tools for fixing
+  broken databases, and to ensure they have the proper indexes.
+- add udev rules for Bacula devices.
+- Add manpages to the list of directories for make install.
+- If a job terminates, the DIR connection can close before the
+  Volume info is updated, leaving the File count wrong.
+- Look at why SIGPIPE during connection can cause seg fault in
+  writing the daemon message, when Dir dropped to bacula:bacula
+- Look at zlib 32 => 64 problems.
+- Ensure that connection to daemon failure always indicates what
+  daemon it was trying to connect to.
+- Try turning on disk seek code.
+- Possibly turn on St. Bernard code.
+- Fix bextract to restore ACLs, or better yet, use common
+  routines.
+- Do we migrate appendable Volumes?
+- Remove queue.c code.
+- Add bconsole option to use stdin/out instead of conio.
+- Fix ClientRunBefore/AfterJob compatibility.
 - Fix re-read of last block to check if job has actually written
   a block, and check if block was written by a different job
   (i.e. multiple simultaneous jobs writing).
-- JobStatus and Termination codes.
 - Some users claim that they must do two prune commands to get a
   Volume marked as purged.
 - Print warning message if LANG environment variable does not specify
   UTF-8.
+- New dot commands from Arno.
+  .update volume [enabled|disabled|*see below]
+    > However, I could easily imagine an option to "update slots" that says 
+    > "enable=yes|no" that would automatically enable or disable all the Volumes 
+    > found in the autochanger.  This will permit the user to optionally mark all 
+    > the Volumes in the magazine disabled prior to taking them offsite, and mark 
+    > them all enabled when bringing them back on site.   Coupled with the options 
+    > to the slots keyword, you can apply the enable/disable to any or all volumes.
+  .show device=xxx lists information from one storage device, including 
+     devices (I'm not even sure that information exists in the DIR...)
+  .move eject device=xxx mostly the same as 'unmount xxx' but perhaps with 
+     better machine-readable output like "Ok" or "Error busy"
+  .move eject device=xxx toslot=yyy the same as above, but with a new 
+     target slot. The catalog should be updated accordingly.
+  .move transfer device=xxx fromslot=yyy toslot=zzz
+
+Low priority:
+- Get Perl replacement for bregex.c
+- Given all the problems with FIFOs, I think the solution is to do something a
+  little different, though I will look at the code and see if there is not some
+  simple solution (i.e. some bug that was introduced).  What might be a better
+  solution would be to use a FIFO as a sort of "key" to tell Bacula to read and
+  write data to a program rather than the FIFO.  For example, suppose you
+  create a FIFO named:
+
+     /home/kern/my-fifo
+
+  Then, I could imagine if you backup and restore this file with a direct
+  reference as is currently done for fifos, instead, during backup Bacula will
+  execute:
+
+    /home/kern/my-fifo.backup
+
+  and read the data that my-fifo.backup writes to stdout. For restore, Bacula
+  will execute:
+
+    /home/kern/my-fifo.restore
+
+  and send the data backed up to stdout. These programs can either be an
+  executable or a shell script and they need only read/write to stdin/stdout.
+
+  I think this would give a lot of flexibility to the user without making any
+  significant changes to Bacula.
+
+
+==== SQL
+# get null file
+select FilenameId from Filename where Name='';
+# Get list of all directories referenced in a Backup.
+select Path.Path from Path,File where File.JobId=nnn and
+  File.FilenameId=(FilenameId-from-above) and File.PathId=Path.PathId
+  order by Path.Path ASC;
+
+- Look into using Dart for testing
+  http://public.kitware.com/Dart/HTML/Index.shtml
+
+- Look into replacing autotools with cmake
+  http://www.cmake.org/HTML/Index.html
+
 === Migration from David ===
 What I'd like to see: 
 
@@ -1545,4 +1627,25 @@ Block Position: 0
 - Does ClientRunAfterJob fail the job on a bad return code?
 - Make hardlink code at line 240 of find_one.c use binary search.
 - Add ACL error messages in src/filed/acl.c.
-
+- Make authentication failures single threaded.
+- Make Dir and SD authentication errors single threaded.
+- Install man pages
+- Fix catreq.c digestbuf at line 411 in src/dird/catreq.c 
+- Make base64.c (bin_to_base64) take a buffer length 
+  argument to avoid overruns.
+  and verify that other buffers cannot overrun.
+- Implement VolumeState as discussed with Arno.
+- Add LocationId to update volume
+- Add LocationLog
+    LogId
+    Date
+    User text
+    MediaId
+    LocationId
+    NewState???
+- Add Comment to Media record
+- Fix auth compatibility with 1.38
+- Update dbcheck to include Log table
+- Update llist to include new fields.
+- Make unmount unload autochanger.  Make mount load slot.
+- Fix bscan to report the JobType when restoring a job.