X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fkernstodo;h=8eed47c6b882cc65fcb15e33a988ebedaf87ee5a;hb=20f6b0d77a99a6cda589415816a0b433afa273a1;hp=3a1c4d1e6dc6868dcd42e6b12aca5835076ed954;hpb=a3a62ac76a17b760763ce764d36589c41264e5a4;p=bacula%2Fbacula diff --git a/bacula/kernstodo b/bacula/kernstodo index 3a1c4d1e6d..8eed47c6b8 100644 --- a/bacula/kernstodo +++ b/bacula/kernstodo @@ -1,11 +1,10 @@ Kern's ToDo List - 16 July 2006 + 16 July 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. @@ -21,32 +20,190 @@ Document: \bacula\working). - 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; +- 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 +- Doc + { "JobErrors", "i"}, + { "JobFiles", "i"}, + { "SDJobFiles", "i"}, + { "SDErrors", "i"}, + { "FDJobStatus","s"}, + { "SDJobStatus","s"}, +- Document all the little details of setting up certificates for + the Bacula data encryption code. +- 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) +- Synthetic Full, Diff, Inc (Virtual, Reconstructed) +- SD to SD +- Modules for Databases, Exchange, ... +- Novell NSS backup http://www.novell.com/coolsolutions/tools/18952.html +- Compliance norms that compare restored code hash code. +- When glibc crash, get address with + info symbol 0x809780c +- How to sync remote offices. +- Exchange backup: + http://www.microsoft.com/technet/itshowcase/content/exchbkup.mspx +- David's priorities + Copypools + Extract capability (#25) + Continued enhancement of bweb + Threshold triggered migration jobs (not currently in list, but will be + needed ASAP) + Client triggered backups + Complete rework of the scheduling system (not in list) + Performance and usage instrumentation (not in list) + See email of 21Aug2007 for details. Priority: - -For 1.39: +- Implement SDErrors (must return from SD) +- Implement USB keyboard support in rescue CD. +- Remove all install temp files in Win32 PLUGINSDIR. +- Audit retention periods to make sure everything is 64 bit. +- Use E'xxx' to escape PostgreSQL strings. +- No where in restore causes kaboom. +- Performance: multiple spool files for a single job. +- Performance: despool attributes when despooling data (problem + multiplexing Dir connection). +- Make restore use the in-use volume reservation algorithm. +- Look at mincore: http://insights.oetiker.ch/linux/fadvise.html +- Unicode input http://en.wikipedia.org/wiki/Byte_Order_Mark +- Add TLS to bat (should be done). +- When Pool specifies Storage command override does not work. +- Implement wait_for_sysop() message display in wait_for_device(), which + now prints warnings too often. +- 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. + +- Encryption -- email from Landon + > The backup encryption algorithm is currently not configurable, and is + > set to AES_128_CBC in src/filed/backup.c. The encryption code + > supports a number of different ciphers (as well as adding arbitrary + > new ones) -- only a small bit of code would be required to map a + > configuration string value to a CRYPTO_CIPHER_* value, if anyone is + > interested in implementing this functionality. + +- 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. +- Ensure that the SD re-reads the Media record if the JobFiles + 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. +- Doc items +- Test Volume compatibility between machine architectures +- Encryption documentation +- Wrong jobbytes with query 12 (todo) +- Bare-metal recovery Windows (todo) + + +Projects: +- Pool enhancements + - Access Mode = Read-Only, Read-Write, Unavailable, Destroyed, Offsite + - Pool Type = Copy + - Maximum number of scratch volumes + - Maximum File size + - Next Pool (already have) + - Reclamation threshold + - Reclamation Pool + - Reuse delay (after all files purged from volume before it can be used) + - Copy Pool = xx, yyy (or multiple lines). + - Catalog = xxx + - Allow pool selection during restore. + +- Average tape size from Eric + SELECT COALESCE(media_avg_size.volavg,0) * count(Media.MediaId) AS volmax, GROUP BY Media.MediaType, Media.PoolId, media_avg_size.volavg + count(Media.MediaId) AS volnum, + sum(Media.VolBytes) AS voltotal, + Media.PoolId AS PoolId, + Media.MediaType AS MediaType + FROM Media + LEFT JOIN (SELECT avg(Media.VolBytes) AS volavg, + Media.MediaType AS MediaType + FROM Media + WHERE Media.VolStatus = 'Full' + GROUP BY Media.MediaType + ) AS media_avg_size ON (Media.MediaType = media_avg_size.MediaType) + GROUP BY Media.MediaType, Media.PoolId, media_avg_size.volavg +- GUI + - Admin + - Management reports + - Add doc for bweb -- especially Installation + - Look at Webmin + http://www.orangecrate.com/modules.php?name=News&file=article&sid=501 +- Performance + - Despool attributes in separate thread + - Database speedups + - Embedded MySQL + - Check why restore repeatedly sends Rechdrs between + each data chunk -- according to James Harper 9Jan07. +- Features + - Better scheduling + - Full at least once a month, ... + - Cancel Inc if Diff/Full running + - More intelligent re-run + - New/deleted file backup + - FD plugins + - Incremental backup -- rsync, Stow + + +For next release: +- Try to fix bscan not working with multiple DVD volumes bug #912. +- Look at mondo/mindi +- Don't restore Solaris Door files: + #define S_IFDOOR in st_mode. + see: http://docs.sun.com/app/docs/doc/816-5173/6mbb8ae23?a=view#indexterm-360 +- Make Bacula by default not backup tmpfs, procfs, sysfs, ... +- Fix hardlinked immutable files when linking a second file, the + immutable flag must be removed prior to trying to link it. +- Implement Python event for backing up/restoring a file. +- 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. +- 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. +- 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. -- Correct the Include syntax in the m4.xxx files in examples/conf -- Get Perl replacement for bregex.c -- Fix auth compatibility with 1.38 -- 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 @@ -55,7 +212,76 @@ For 1.39: target slot. The catalog should be updated accordingly. .move transfer device=xxx fromslot=yyy toslot=zzz - +Low priority: +- Article: http://www.heise.de/open/news/meldung/83231 +- Article: http://www.golem.de/0701/49756.html +- Article: http://lwn.net/Articles/209809/ +- Article: http://www.onlamp.com/pub/a/onlamp/2004/01/09/bacula.html +- Article: http://www.linuxdevcenter.com/pub/a/linux/2005/04/07/bacula.html +- Article: http://www.osreviews.net/reviews/admin/bacula +- Article: http://www.debianhelp.co.uk/baculaweb.htm +- Article: +- Wikis mentioning Bacula + http://wiki.finkproject.org/index.php/Admin:Backups + http://wiki.linuxquestions.org/wiki/Bacula + http://www.openpkg.org/product/packages/?package=bacula + http://www.iterating.com/products/Bacula + http://net-snmp.sourceforge.net/wiki/index.php/Net-snmp_extensions + http://www.section6.net/wiki/index.php/Using_Bacula_for_Tape_Backups + http://bacula.darwinports.com/ + http://wiki.mandriva.com/en/Releases/Corporate/Server_4/Notes#Bacula + http://en.wikipedia.org/wiki/Bacula + +- Bacula Wikis + http://www.devco.net/pubwiki/Bacula/ + http://paramount.ind.wpi.edu/wiki/doku.php + http://gentoo-wiki.com/HOWTO_Backup + http://www.georglutz.de/wiki/Bacula + http://www.clarkconnect.com/wiki/index.php?title=Modules_-_LAN_Backup/Recovery + http://linuxwiki.de/Bacula (in German) + +- Possibly allow SD to spool even if a tape is not mounted. +- It appears to me that you have run into some sort of race + condition where two threads want to use the same Volume and they + were both given access. Normally that is no problem. However, + one thread wanted the particular Volume in drive 0, but it was + loaded into drive 1 so it decided to unload it from drive 1 and + then loaded it into drive 0, while the second thread went on + thinking that the Volume could be used in drive 1 not realizing + that in between time, it was loaded in drive 0. + I'll look at the code to see if there is some way we can avoid + this kind of problem. Probably the best solution is to make the + first thread simply start using the Volume in drive 1 rather than + transferring it to drive 0. +- 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). +- Figure out how to configure query.sql. Suggestion to use m4: + == changequote.m4 === + changequote(`[',`]')dnl + ==== query.sql.in === + :List next 20 volumes to expire + SELECT + Pool.Name AS PoolName, + Media.VolumeName, + Media.VolStatus, + Media.MediaType, + ifdef([MySQL], + [ FROM_UNIXTIME(UNIX_TIMESTAMP(Media.LastWritten) Media.VolRetention) AS Expire, ])dnl + ifdef([PostgreSQL], + [ media.lastwritten + interval '1 second' * media.volretention as expire, ])dnl + Media.LastWritten + FROM Pool + LEFT JOIN Media + ON Media.PoolId=Pool.PoolId + WHERE Media.LastWritten>0 + ORDER BY Expire + LIMIT 20; + ==== + Command: m4 -DmySQL changequote.m4 query.sql.in >query.sql + + The problem is that it requires m4, which is not present on all machines + at ./configure time. - 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 @@ -271,7 +497,7 @@ minutes). 3905 Device "LTO-Drive1" (/dev/nst0) open but no Bacula volume is mounted. If this is not a blank tape, try unmounting and remounting the Volume. -- Add VolumeState (enable, disable, archive) +- http://www.dwheeler.com/essays/commercial-floss.html - Add VolumeLock to prevent all but lock holder (SD) from updating the Volume data (with the exception of VolumeState). - The btape fill command does not seem to use the Autochanger @@ -293,16 +519,9 @@ minutes). - What happens when you rename a Disk Volume? - Job retention period in a Pool (and hence Volume). The job would then be migrated. -- Detect resource deadlock in Migrate when same job wants to read - and write the same device. -- Queue warning/error messages during restore so that they - are reported at the end of the report rather than being - hidden in the file listing ... - Look at -D_FORTIFY_SOURCE=2 - Add Win32 FileSet definition somewhere - Look at fixing restore status stats in SD. -- Make selection of Database used in restore correspond to - client. - Look at using ioctl(FIMAP) and FIGETBSZ for sparse files. http://www.informatik.uni-frankfurt.de/~loizides/reiserfs/fibmap.html - Implement a mode that says when a hard read error is @@ -315,7 +534,6 @@ minutes). ("F","Full"), ("D","Diff"), ("I","Inc"); -- Add ACL to restore only to original location. - Show files/second in client status output. - Add a recursive mark command (rmark) to restore. - "Minimum Job Interval = nnn" sets minimum interval between Jobs @@ -393,10 +611,6 @@ minutes). - In restore don't compare byte count on a raw device -- directory entry does not contain bytes. -- To mark files as deleted, run essentially a Verify to disk, and - when a file is found missing (MarkId != JobId), then create - a new File record with FileIndex == -1. This could be done - by the FD at the same time as the backup. === rate design jcr->last_rate jcr->last_runtime @@ -445,7 +659,12 @@ minutes). - Bug: if a job is manually scheduled to run later, it does not appear in any status report and cannot be cancelled. -==== Keeping track of deleted files ==== +==== Keeping track of deleted/new files ==== +- To mark files as deleted, run essentially a Verify to disk, and + when a file is found missing (MarkId != JobId), then create + a new File record with FileIndex == -1. This could be done + by the FD at the same time as the backup. + My "trick" for keeping track of deletions is the following. Assuming the user turns on this option, after all the files have been backed up, but before the job has terminated, the @@ -456,7 +675,14 @@ minutes). pass. The DIR will then compare that to what is stored in the catalog. Any files in the catalog but not in what the FD sent will receive a catalog File entry that indicates - that at that point in time the file was deleted. + that at that point in time the file was deleted. This + either transmitted to the FD or simultaneously computed in + the FD, so that the FD can put a record on the tape that + indicates that the file has been deleted at this point. + A delete file entry could potentially be one with a FileIndex + of 0 or perhaps -1 (need to check if FileIndex is used for + some other thing as many of the Bacula fields are "overloaded" + in the SD). During a restore, any file initially picked up by some backup (Full, ...) then subsequently having a File entry @@ -483,6 +709,12 @@ minutes). Make sure this information is stored on the tape too so that it can be restored directly from the tape. + All the code (with the exception of formally generating and + saving the delete file entries) already exists in the Verify + Catalog command. It explicitly recognizes added/deleted files since + the last InitCatalog. It is more or less a "simple" matter of + taking that code and adapting it slightly to work for backups. + Comments from Martin Simmons (I think they are all covered): Ok, that should cover the basics. There are few issues though: @@ -760,8 +992,6 @@ Documentation to do: (any release a little bit at a time) block numbers in btape "test". Possibly adjust in Bacula. - Fix list volumes to output volume retention in some other units, perhaps via a directive. -- If opening a tape in read/write mode fails attempt to open - it in read-only mode, and mark the tape for read only. - Allow Simultaneous Priorities = yes => run up to Max concurrent jobs even with multiple priorities. - If you use restore replace=never, the directory attributes for @@ -769,11 +999,6 @@ Documentation to do: (any release a little bit at a time) - see lzma401.zip in others directory for new compression algorithm/library. -- Minimal autochanger handling in Bacula and in btape. -- Look into how tar does not save sockets and the possiblity of - not saving them in Bacula (Martin Simmons reported this). -- Fix restore jobs so that multiple jobs can run if they - are not using the same tape(s). - Allow the user to select JobType for manual pruning/purging. - bscan does not put first of two volumes back with all info in bscan-test. @@ -823,8 +1048,6 @@ Documentation to do: (any release a little bit at a time) are not restored. See bug 213. To fix this requires creating a list of newly restored directories so that those directory permissions *can* be restored. -- Compaction of Disk space by "migrating" Volumes that have pruned - Jobs (what criteria? size, #jobs, time). - Add prune all command - Document fact that purge can destroy a part of a restore by purging one volume while others remain valid -- perhaps mark Jobs. @@ -845,9 +1068,6 @@ Documentation to do: (any release a little bit at a time) - Add tree pane to left of window. - Add progress meter. - Max wait time or max run time causes seg fault -- see runtime-bug.txt -- Document writing to a CD/DVD with Bacula. -- Add a "base" package to the window installer for pthreadsVCE.dll - which is needed by all packages. - Add message to user to check for fixed block size when the forward space test fails in btape. - When unmarking a directory check if all files below are unmarked and @@ -856,7 +1076,6 @@ Documentation to do: (any release a little bit at a time) - Setup lrrd graphs: (http://www.linpro.no/projects/lrrd/) Mike Acar. - Revisit the question of multiple Volumes (disk) on a single device. - Add a block copy option to bcopy. -- Investigate adding Mac Resource Forks. - Finish work on Gnome restore GUI. - Fix "llist jobid=xx" where no fileset or client exists. - For each job type (Admin, Restore, ...) require only the really necessary @@ -1006,11 +1225,6 @@ Documentation to do: (any release a little bit at a time) to start a job or pass its DHCP obtained IP number. - Implement a query tape prompt/replace feature for a console - Copy console @ code to gnome2-console -- Make AES the only encryption algorithm see - http://csrc.nist.gov/CryptoToolkit/aes/). It's - an officially adopted standard, has survived peer - review, and provides keys up to 256 bits. -- Take a careful look at SetACL http://setacl.sourceforge.net - Make tree walk routines like cd, ls, ... more user friendly by handling spaces better. - Make sure that Bacula rechecks the tape after the 20 min wait. @@ -1027,7 +1241,6 @@ Documentation to do: (any release a little bit at a time) in the "short" pool to the "long" pool if this pool runs out of volume space? - What to do about "list files job=xxx". -- Get and test MySQL 4.0 - Look at how fuser works and /proc/PID/fd that is how Nic found the file descriptor leak in Bacula. - Implement WrapCounters in Counters. @@ -1050,14 +1263,8 @@ Documentation to do: (any release a little bit at a time) run the job but don't save the files. - Make things like list where a file is saved case independent for Windows. -- Implement migrate - Use autochanger to handle multiple devices. -- On Windows with very long path names, it may be impossible to create - a file (and thus restore it) because the total length is too long. - We must cd into the directory then create the file without the - full path name. - Implement a Recycle command -- Test a second language e.g. french. - Start working on Base jobs. - Implement UnsavedFiles DB record. - From Phil Stracchino: @@ -1087,8 +1294,6 @@ Documentation to do: (any release a little bit at a time) - If SD cannot open a drive, make it periodically retry. - Add more of the config info to the tape label. -- If tape is marked read-only, then try opening it read-only rather than - failing, and remember that it cannot be written. - Refine SD waiting output: Device is being positioned > Device is being positioned for append @@ -1127,7 +1332,6 @@ Documentation to do: (any release a little bit at a time) - Compare tape to Client files (attributes, or attributes and data) - Make all database Ids 64 bit. - Allow console commands to detach or run in background. -- Fix status delay on storage daemon during rewind. - Add SD message variables to control operator wait time - Maximum Operator Wait - Minimum Message Interval @@ -1352,16 +1556,6 @@ Longer term to do: Migration: Move a backup from one Volume to another Clone: Copy a backup -- two Volumes -Bacula Migration is based on Jobs (apparently Networker is file by file). - -Migration triggered by: - Number of Jobs - Number of Volumes - Age of Jobs - Highwater mark (keep total size) - Lowwater mark - - ====================================================== Base Jobs design @@ -1561,65 +1755,35 @@ 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. -- 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 - +- 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_KEEPIDLE 4 /* Start keeplives after this period */ +- 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 +- Please mount volume "xxx" on Storage device ... should also list + Pool and MediaType in case user needs to create a new volume. +- 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) +- Check if gnome-console works with TLS. +- 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. +- Add Where: client:/.... to restore job report. +- Ensure that moving a purged Volume in ua_purge.c to the RecyclePool + does the right thing. +- FD-SD quick disconnect +- Building the in memory restore tree is slow.