Kern's ToDo List
- 09 April 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)
+ (probably not this version)
#7 Single Job Writing to Multiple Storage Devices
- (probably not)
+ (probably not this version)
## Integrate web-bacula into a new Bacula project with
bimagemgr.
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:
-- Fix FD JobType to be set before RunBeforeJob in FD.
+- 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.
-- Look at dird_conf.c:1000: warning: `int size'
- might be used uninitialized in this function
-- Make a callback when Rerun failed levels is called.
-- Give Python program access to Scheduled jobs.
- 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.
-- FD Python
- - Python script to save with Python, not save, save with Bacula.
- - Python script to do backup.
- 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
- Remove all old Device resource code in Dir and code to pass it
back in SD -- better, rework it to pass back device statistics.
- 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.
-- Make sure that Python has access to Client address/port so that
- it can check if Clients are alive.
-- Cleanup and complete Python scripting.
- - What events?
- - Change the Priority, Client, Storage, JobStatus (error)
- at the start of a job.
+- 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:
- If the user puts "Purge Oldest Volume = yes" or "Recycle Oldest Volume = yes"
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)
- 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
- 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
- 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.
+