Kern's ToDo List
- 14 January 2003
+ 17 January 2003
Documentation to do: (a little bit at a time)
- Document running a test version.
- Document query file format.
- Document static linking
-- Document fixing tape file after crash (update Media set VolFiles=xx
- where MediaId=yy; update status to append).
- Document fifo and | and <
-- Document g++ needed
+- Document how to automatically backup all local partitions
Testing to do: (painful)
- blocksize recognition code.
For 1.29 release:
-- Zap sd_auth_key after use
- Priority job to go to top of list.
-- Add Bar code reading capabilities (new mtx-changer)
-- Add include list to end of chain in findlib
-- Look into Pruning/purging problems or why there seem to
- be so many files listed each night.
+- Implement Bar code handling
- Why is catreq.c:111 Find vol called twice for a job?
-- Fix cancel in find_one -- need jcr.
-- Cancel does not work for restore in FD.
-- Write SetJobStatus() function so cancel status not lost.
- Find out why Full saves run slower and slower (hashing?)
- Make 1.28c release ???
-- Rewrite find_one.c to use only pool_memory instead of
- alloca and malloc.
- Make sure btraceback goes into /sbin not sysconf directory.
- Get correct error status from run_program or open_bpipe().
- Figure out how to allow multiple simultaneous file Volumes on
a single device.
- Why are save/restore of device different sizes (sparse?) Yup! Fix it.
-- Implement some why for the Console to dynamically create a job.
+- Implement some way for the Console to dynamically create a job.
- Restore to a particular time -- e.g. before date, after date.
- Implement SHA1
- Implement disk spooling
- Implement finer multiprocessing options.
- Solaris -I on tar for include list
- Add whereabslinks to where or not where absolute links
-- Figure out some way to automatically backup all local partitions
- Enable avoid backing up archive device (findlib/find_one.c:128)
- Implement FileOptions (see end of this document)
- Implement Bacula plugins -- design API
-- Make hash table for linked files in findlib/find_one.c:161
- Make bcopy read through bad tape records.
- Need a verbose mode in restore, perhaps to bsr.
- bscan without -v is too quiet -- perhaps show jobs.
==============================================
Done: (see kernsdone for more)
+- Look into Pruning/purging problems or why there seem to
+ be so many files listed each night.
+- Fix cancel in find_one -- need jcr.
+- Cancel does not work for restore in FD.
+- Write SetJobStatus() function so cancel status not lost.
+- Add include list to end of chain in findlib
+- Zap sd_auth_key after use
+- Add Bar code reading capabilities (new mtx-changer)
+- Figure out some way to automatically backup all local partitions
+- Make hash table for linked files in findlib/find_one.c:161
+ (not necessary)
+- Rewrite find_one.c to use only pool_memory instead of
+ alloca and malloc (probably not necessary).
+
/* Get all the Ids of each name */
db_escape_string(esc_name, name_list.name[i], strlen(name_list.name[i]));
sprintf(buf, "SELECT FilenameId FROM Filename WHERE Name='%s'", esc_name);
- if (verbose) {
- printf("Doing: %s\n", name_list.name[i]);
- }
if (!make_id_list(buf, &id_list)) {
exit(1);
}
+ if (verbose) {
+ printf("Found %d for: %s\n", id_list.num_ids, name_list.name[i]);
+ }
/* Force all records to use the first id then delete the other ids */
for (int j=1; j<id_list.num_ids; j++) {
sprintf(buf, "UPDATE File SET FilenameId=%u WHERE FilenameId=%u",
/* Get all the Ids of each name */
db_escape_string(esc_name, name_list.name[i], strlen(name_list.name[i]));
sprintf(buf, "SELECT PathId FROM Path WHERE Path='%s'", esc_name);
- if (verbose) {
- printf("Doing: %s\n", name_list.name[i]);
- }
+ id_list.num_ids = 0;
if (!make_id_list(buf, &id_list)) {
exit(1);
}
+ if (verbose) {
+ printf("Found %d for: %s\n", id_list.num_ids, name_list.name[i]);
+ }
/* Force all records to use the first id then delete the other ids */
for (int j=1; j<id_list.num_ids; j++) {
sprintf(buf, "UPDATE File SET PathId=%u WHERE PathId=%u",