]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/kernstodo
- Implement restore of a single directory.
[bacula/bacula] / bacula / kernstodo
index e735d56d9d1771179c265a3e4ba18b779219a7ef..0ed8b654ae2e30dcc443ad7bbcc7574b8594959e 100644 (file)
@@ -1,22 +1,26 @@
                     Kern's ToDo List
-                     11 March 2005
+                     26 April 2005
 
 Major development:      
 Project                     Developer
 =======                     =========                         
 IPv6_2                      Meno Abels
+TLS                         Landon Fuller
+Unicode in Win32            Thorsten Engle
+VSS                         Thorsten Engle (under consideration)
 Version 1.37                Kern (see below)
 ========================================================
 
 1.37 Major Projects:
 #3   Migration (Move, Copy, Archive Jobs)
-#4   Embedded Python Scripting 
-     (Implemented in Dir/SD)
+     (probably not this version)
 #7   Single Job Writing to Multiple Storage Devices
+     (probably not this version)
 
 ##   Integrate web-bacula into a new Bacula project with
      bimagemgr.
 ##   Consider moving docs to their own project.
+##   Move rescue to its own project.
 
 Autochangers:
 - 3. Prevent two drives requesting the same Volume in any given
@@ -24,48 +28,56 @@ Autochangers:
      in an Autochanger.
 - 7. Implement new Console commands to allow offlining/reserving drives,
      and possibly manipulating the autochanger (much asked for).
-  
+-    Make "update slots" when pointing to Autochanger, remove
+     all Volumes from other drives.  "update slots all-drives"?
+
+
 For 1.37:
-- Add disk seeking on restore.  
-- If the user puts "Purge Oldest Volume = yes" or "Recycle Oldest Volume = yes"
-  and there is only one volume in the pool, refuse to do it -- otherwise
-  he fills the Volume, then immediately starts reusing it.
-- Implement "NewVolumeEachJob = yes|no" in Dir.
-- Make "update slots" when pointing to Autochanger, remove
-  all Volumes from other drives.  "update slots all-drives"?
-- Add Python writable variable for changing the Priority,
-    Client, Storage, JobStatus (error), ...
-- SD Python
-  - Solicit Events
-- FD Python
+- Python:
+  - Make a callback when Rerun failed levels is called.
+  - Give Python program access to Scheduled jobs.
   - Python script to save with Python, not save, save with Bacula.
   - Python script to do backup.
+  - What events?
+  - Change the Priority, Client, Storage, JobStatus (error) 
+    at the start of a job.
+  - Make sure that Python has access to Client address/port so that
+    it can check if Clients are alive.
+
+- If drive is opened read/write, close it and re-open
+  read-only if doing a restore, and vice-versa.
+- SD crashes after a tape restore then doing a backup. 
+- Implement some way to turn off automatic pruning in Jobs.
+- Implement a way an Admin Job can prune, possibly multiple
+  clients -- Python script?
+- Implement "NewVolumeEachJob = yes|no" in Dir.
 - Create a new GUI chapter explaining all the GUI programs.
 - Look at Preben's acl.c error handling code.
-- Look at adding full Volume and Pool information to a Volume 
-  label so that bscan can get *all* the info. 
 - Implement Maximum Job Spool Size
-- 28-Mar 23:19 rufus-sd: acquire.c:379 Device "DDS-4" (/dev/nst0) 
-  is busy reading. Job 6 canceled.
 - Remove all old Device resource code in Dir and code to pass it
-  back in SD.
-- Fix code to either handle updating NumVol or to calculate it in
-  Dir next_vol.c
+  back in SD -- better, rework it to pass back device statistics.
 - Finish implementation of passing all Storage and Device needs to
   the SD.
 - Check locking of resources -- be sure to lock devices where previously
   resources were locked. 
 - Add global lock on all devices when creating a device structure.
-- Remove separate thread for opening devices in SD.  On the other
-  hand, don't block waiting for open() for devices.
-- Make sure that Python has access to Client address/port so that
-  it can check if Clients are alive.
-- Implement copies and stripes.
-- Add history file to console.
+- Look at adding full Volume and Pool information to a Volume 
+  label so that bscan can get *all* the info. 
+- Fix FD JobType to be set before RunBeforeJob in FD.
+
+
+Ideas:
+- Use non-blocking network I/O but if no data is available, use
+  select().
+- Use gather write() for network I/O.
+- Autorestart on crash.
 
 Maybe in 1.37:
-- Ensure that you cannot exclude a directory or a file explicitly
-  Included with File.
+- If the user puts "Purge Oldest Volume = yes" or "Recycle Oldest Volume = yes"
+  and there is only one volume in the pool, refuse to do it -- otherwise
+  he fills the Volume, then immediately starts reusing it.
+- Implement copies and stripes.
+- Add history file to console.
 - Each file on tape creates a JobMedia record. Peter has 4 million
   files spread over 10000 tape files and four tapes. A restore takes
   16 hours to build the restore list.
@@ -157,6 +169,10 @@ Regression tests (Scott):
 - A HOLD command to stop all jobs from starting.
 - A PAUSE command to pause all running jobs ==> release the
   drive.
+- Media Type = LTO,LTO-2,LTO-3
+  Media Type Read = LTO,LTO2,LTO3
+  Media Type Write = LTO2, LTO3
+
 === From Carsten Menke <bootsy52@gmx.net>
 
 Following is a list of what I think in the situations where I'm faced with, 
@@ -311,15 +327,15 @@ Documentation to do: (any release a little bit at a time)
   hours of operation.
   From Phil:
     In this context, it should be noted that Exabyte has a command-line
-    vxatool utility available for free download.  (The current version is
+    vxatool utility available for free download. (The current version is
     vxatool-3.72.) It can get diagnostic info, read, write and erase tapes,
     test the drive, unload tapes, change drive settings, flash new firmware,
     etc.
     Of particular interest in this context is that vxatool <device> -i will
     report, among other details, the time since last cleaning in tape motion
-    minutes.  This information can be retrieved (and settings changed, for
+    minutes. This information can be retrieved (and settings changed, for
     that matter) through the generic-SCSI device even when Bacula has the
-    regular tape device locked.  (Needless to say, I don't recommend
+    regular tape device locked. (Needless to say, I don't recommend
     changing tape settings while a job is running.)
 - Lookup HP cleaning recommendations.
 - Lookup HP tape replacement recommendations (see trouble shooting autochanger)
@@ -374,19 +390,19 @@ For 1.37 Testing/Documentation:
 - the help-command should be more verbose
   (it should explain the paramters of the different 
   commands in detail)
-  -> it´s time-comsuming to consult the manual anytime
+  -> its time-comsuming to consult the manual anytime
      you need a special parameter
-  -> maybe it´s more easy to maintain this, if the
+  -> maybe its more easy to maintain this, if the
      descriptions of that commands are outsourced to
      a ceratin-file
 - the cd-command should allow complete paths
   i.e. cd /foo/bar/foo/bar
   -> if a customer mails me the path to a certain file,
-     it´s faster to enter the specified directory
+     its faster to enter the specified directory
 - if the password is not configured in bconsole.conf
   you should be asked for it.
   -> sometimes you like to do restore on a customer-machine
-     which shouldn´t know the password for bacula.
+     which shouldnt know the password for bacula.
   -> adding the password to the file favours admins
      to forget to remove the password after usage
   -> security-aspects
@@ -575,7 +591,7 @@ For 1.37 Testing/Documentation:
 - Look at adding SQL server and Exchange support for Windows. 
 - Each DVD-RAM disk would be a volume, just like each tape is 
   a volume. It's a 4.7GB media with random access, but there's nothing about 
-  it that I can see that makes it so different than a tape from  bacula's 
+  it that I can see that makes it so different than a tape from bacula's 
   perspective. Why couldn't I back up to a bare floppy as a volume (ignoring 
   the media capacity?)
 - Make dev->file and dev->block_num signed integers so that -1 can
@@ -1288,3 +1304,23 @@ Block Position: 0
   recycled and no label created. This happens when using   
   autolabeling -- even when Python doesn't generate the name.
 - Scratch Pool where the volumes can be re-assigned to any Pool.
+- 28-Mar 23:19 rufus-sd: acquire.c:379 Device "DDS-4" (/dev/nst0) 
+  is busy reading. Job 6 canceled.
+- Remove separate thread for opening devices in SD.  On the other
+  hand, don't block waiting for open() for devices.
+- Fix code to either handle updating NumVol or to calculate it in
+  Dir next_vol.c
+- Ensure that you cannot exclude a directory or a file explicitly
+  Included with File.
+#4   Embedded Python Scripting 
+     (Implemented in Dir/SD/FD)
+- Add Python writable variable for changing the Priority,
+    Client, Storage, JobStatus (error), ...
+- SD Python
+  - Solicit Events
+- Add disk seeking on restore; turn off seek on tapes.
+  stored/match_bsr.c
+- Look at dird_conf.c:1000: warning: `int size' 
+  might be used uninitialized in this function
+- Indicate when a Job is purged/pruned during restore.
+