X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fkernstodo;h=a03728d99454e7ec47cfcce48ada020fdea6f1ed;hb=ae514fa2ed82ddb7329bab1a7c20e107b23cf9d2;hp=db38cc039556d2900bec89ecd18f49e02a448c58;hpb=6872bd694d98711846adaae124f19dfc88d8f2e0;p=bacula%2Fbacula diff --git a/bacula/kernstodo b/bacula/kernstodo index db38cc0395..a03728d994 100644 --- a/bacula/kernstodo +++ b/bacula/kernstodo @@ -1,11 +1,13 @@ Kern's ToDo List - 12 November 2006 + 27 April 2007 Major development: Project Developer ======= ========= Document: +- !!! Cannot restore two jobs a the same time that were + written simultaneously unless they were totally spooled. - Document cleaning up the spool files: db, pid, state, bsr, mail, conmsg, spool - Document the multiple-drive-changer.txt script. @@ -39,9 +41,64 @@ Document: - Document more precisely how to use master keys -- especially for disaster recovery. +Professional Needs: +- Migration from other vendors + - Date change + - Path change +- Filesystem types +- Backup conf/exe (all daemons) +- Backup up system state +- Detect state change of system (verify) Priority: +- Please mount volume "xxx" on Storage device ... should also list + Pool and MediaType in case user needs to create a new volume. +- Implement wait_for_sysop() message display in wait_for_device(), which +now prints warnings too often. + +- the director seg faulted when I omitted the pool directive from a +job resource. I was experimenting and thought it redundant that I had +specified Pool, Full Backup Pool. and Differential Backup Pool. but +apparently not. This happened when I removed the pool directive and +started the director. + +- On restore add Restore Client, Original Client. +01-Apr 00:42 rufus-dir: Start Backup JobId 55, Job=kernsave.2007-04-01_00.42.48 +01-Apr 00:42 rufus-sd: Python SD JobStart: JobId=55 Client=Rufus +01-Apr 00:42 rufus-dir: Created new Volume "Full0001" in catalog. +01-Apr 00:42 rufus-dir: Using Device "File" +01-Apr 00:42 rufus-sd: kernsave.2007-04-01_00.42.48 Warning: Device "File" (/tmp) not configured to autolabel Volumes. +01-Apr 00:42 rufus-sd: kernsave.2007-04-01_00.42.48 Warning: Device "File" (/tmp) not configured to autolabel Volumes. +01-Apr 00:42 rufus-sd: Please mount Volume "Full0001" on Storage Device "File" (/tmp) for Job kernsave.2007-04-01_00.42.48 +01-Apr 00:44 rufus-sd: Wrote label to prelabeled Volume "Full0001" on device "File" (/tmp) + +- Add Where: client:/.... to restore job report. +- Ensure that each device in an Autochanger has a different + Device Index. +- Add Catalog = to Pool resource so that pools will exist + in only one catalog -- currently Pools are "global". +- Look at sg_logs -a /dev/sg0 for getting soft errors. +- btape "test" command with Offline on Unmount = yes + + This test is essential to Bacula. + + I'm going to write one record in file 0, + two records in file 1, + and three records in file 2 + + 02-Feb 11:00 btape: ABORTING due to ERROR in dev.c:715 + dev.c:714 Bad call to rewind. Device "LTO" (/dev/nst0) not open + 02-Feb 11:00 btape: Fatal Error because: Bacula interrupted by signal 11: Segmentation violation + Kaboom! btape, btape got signal 11. Attempting traceback. + +- Ensure that moving a purged Volume in ua_purge.c to the RecyclePool + does the right thing. +- Why doesn't @"xxx abc" work in a conf file? +- Figure out some way to "automatically" backup conf changes. - Add the OS version back to the Win32 client info. +- Restarted jobs have a NULL in the from field. +- Modify SD status command to indicate when the SD is writing + to a DVD (the device is not open -- see bug #732). - Look at the possibility of adding "SET NAMES UTF8" for MySQL, and possibly changing the blobs into varchar. - Check if gnome-console works with TLS. @@ -49,7 +106,6 @@ Priority: does not match -- it may have been updated by another job. - Look at moving the Storage directive from the Job to the Pool in the default conf files. -- Test FIFO backup/restore -- make regression - Doc items - Test Volume compatibility between machine architectures - Encryption documentation @@ -83,8 +139,6 @@ Projects: - Incremental backup -- rsync, Stow - - For next release: - Look at mondo/mindi - Don't restore Solaris Door files: @@ -1640,107 +1694,25 @@ Block Position: 0 === Done -- Make sure that all do_prompt() calls in Dir check for - -1 (error) and -2 (cancel) returns. -- Fix foreach_jcr() to have free_jcr() inside next(). - jcr=jcr_walk_start(); - for ( ; jcr; (jcr=jcr_walk_next(jcr)) ) - ... - jcr_walk_end(jcr); -- A Volume taken from Scratch should take on the retention period - of the new pool. -- Correct doc for Maximum Changer Wait (and others) accepting only - integers. -- Implement status that shows why a job is being held in reserve, or - rather why none of the drives are suitable. -- Implement a way to disable a drive (so you can use the second - drive of an autochanger, and the first one will not be used or - even defined). -- Make sure Maximum Volumes is respected in Pools when adding - Volumes (e.g. when pulling a Scratch volume). -- Keep same dcr when switching device ... -- Implement code that makes the Dir aware that a drive is an - autochanger (so the user doesn't need to use the Autochanger = yes - directive). -- Make catalog respect ACL. -- Add recycle count to Media record. -- Add initial write date to Media record. -- Fix store_yesno to be store_bitmask. ---- create_file.c.orig Fri Jul 8 12:13:05 2005 -+++ create_file.c Fri Jul 8 12:13:07 2005 -@@ -195,6 +195,8 @@ - attr->ofname, be.strerror()); - return CF_ERROR; - } -+ } else if(S_ISSOCK(attr->statp.st_mode)) { -+ Dmsg1(200, "Skipping socket: %s\n", attr->ofname); - } else { - Dmsg1(200, "Restore node: %s\n", attr->ofname); - if (mknod(attr->ofname, attr->statp.st_mode, attr->statp.st_rdev) != 0 && errno != EEXIST) { -- Add true/false to conf same as yes/no -- Reserve blocks other restore jobs when first cannot connect to SD. -- Fix Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to - accept time qualifiers. -- 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. -- 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. -- Fix wx-console scanning problem with commas in names. -- Add manpages to the list of directories for make install. Notify - Scott -- Add bconsole option to use stdin/out instead of conio. -- Fix ClientRunBefore/AfterJob compatibility. -- Ensure that connection to daemon failure always indicates what - daemon it was trying to connect to. -- Freespace on DVD requested over and over even with no intervening - writes. -- .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. -- Restricted consoles start in the Default catalog even if it - is not permitted. -- When reading through parts on the DVD, the DVD is mounted and - unmounted for each part. -- Make sure that the restore options don't permit "seeing" other - Client's job data. -- Restore of a raw drive should not try to check the volume size. -- Lock tape drive door when open() -- Make release unload any autochanger. -- Arno's reservation deadlock. -- Eric's SD patch -- Make sure the new level=Full syntax is used in all - example conf files (especially in the manual). -- Fix prog copyright (SD) all other files. -- Document need for UTF-8 format -- Try turning on disk seek code. -- Some users claim that they must do two prune commands to get a - Volume marked as purged. -- Document fact that CatalogACL now needed for Tray monitor (fixed). -- If you have two Catalogs, it will take the first one. -- Migration Volume span bug -- Rescue release -- Bug reports +- Why the heck doesn't bacula drop root priviledges before connecting to + the DB? +- Look at using posix_fadvise(2) for backups -- see bug #751. + Possibly add the code at findlib/bfile.c:795 +/* TCP socket options */ +#define TCP_NODELAY 1 /* Turn off Nagle's algorithm. */ +#define TCP_MAXSEG 2 /* Limit MSS */ +#define TCP_CORK 3 /* Never send partially complete segments */ +#define TCP_KEEPIDLE 4 /* Start keeplives after this period */ +#define TCP_KEEPINTVL 5 /* Interval between keepalives */ +#define TCP_KEEPCNT 6 /* Number of keepalives before death */ +#define TCP_SYNCNT 7 /* Number of SYN retransmits */ +#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */ +#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */ +#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */ +#define TCP_INFO 11 /* Information about this connection. */ +#define TCP_QUICKACK 12 /* Block/reenable quick acks */ +#define TCP_CONGESTION 13 /* Congestion control algorithm */ +- Fix bnet_connect() code to set a timer and to use time to + measure the time. +- Implement 4th argument to make_catalog_backup that passes hostname. +- Test FIFO backup/restore -- make regression