X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fkernstodo;h=393c9efaf39400c5cecf165cc29fa57bfece4287;hb=022c28df426a6c763429b622c22e6f4ebebe70a6;hp=2f7c3ee53c7bf230d3981c373ea9bc11a55b9bc1;hpb=06668daffa6f0d22c539633195dee459e92f6173;p=bacula%2Fbacula diff --git a/bacula/kernstodo b/bacula/kernstodo index 2f7c3ee53c..393c9efaf3 100644 --- a/bacula/kernstodo +++ b/bacula/kernstodo @@ -1,35 +1,82 @@ Kern's ToDo List - 14 July 2004 + 31 August 2004 + +Major development: +Project Developer +======= ========= +IPv6_2 Meno Abels +Data encryption Meno Abels (see projects) +Communication encryption Meno Abels +Version 1.35 Kern (see below) +======================================================== + +1.35 Items to do for release: +- Bacula rescue CDROM implement isolinux +- Add new DCR calling sequences everywhere in SD. This will permit + simultaneous use of multiple devices by a single job. +- Look at patches/bacula_db.b2z postgresql that loops during restore. + See Gregory Wright. +- Perhaps add read/write programs and/or plugins to FileSets. -1.35 Items to do: -- Fix GROUP BYs in all SQL. -- Add new DCR calling sequences everywhere in SD. - This will permit simultaneous use of multiple - devices by a single job. -- Make btape release the drive during the "test" append. -- Do tape alerts -- see tapealert.txt -- Revisit and revise Disaster Recovery (fix SCSI and RAID - disk detection) +- Add bscan to four-concurrent-jobs regression. +- Add IPv6 to regression +- Alternative to static linking "ldd prog" save all binaries listed, + restore them and point LD_LIBRARY_PATH to them. - Document a get out of jail procedure if everything breaks if you lost/broke the Catalog -- do the same for "I know my file is there how do I get it back?". -- Make FD run on Win95 if possible: - The error I when I installed 1.34.2 clients: - The BACULA-FD file is - linked to missing export KERNEL32.DLL:GetFileAttributesExA. -- Add better error codes to run_program (10000+) -- When passwords do not match, print message that points the - user to the doc. -- Make Verify jobs require exclusive use of Volume as Restore - jobs do. -- Perhaps add read/write programs and/or plugins to FileSets. -- Look at adding Client run command that will use the - port opened by the client. -- Fix find_device in stored/dircmd.c:462 -- Make entering multiple Storage names in Dir illegal. +- Test/doc Tape Alerts +- Doc update AllFromVol +- Doc dbcheck eliminate orphaned clients. +- Doc -p option in stored +- Document that console commands can be abbreviated. +- New IP address specification is used as follows: + [sdaddresses|diraddresses|fdaddresses] = { [[ip|ipv4|ipv6] = { + [[addr|port] = [^ ]+[\n;]+] }] } + + so it could look for example like this: + SDaddresses = { ip = { + addr = 1.2.3.4; port = 1205; } + ipv4 = { + addr = 1.2.3.4; port = http; } + ipv6 = { + addr = 1.2.3.4; + port = 1205; + } + ip = { + addr = 1.2.3.4 + port = 1205 + } + ip = { + addr = 1.2.3.4 + } + ip = { + addr = 201:220:222::2 + } + ip = { + addr = bluedot.thun.net + } + } + as a consequence, you can now specify multiple IP addresses and + ports to be used. In the case of a server, it will listen on + all those that you specify. In the case of connecting to the server, + Bacula will attempt connecting to one at a time until it succeeds. + And, in a few other special cases, Bacula will use only the first + address specified. + + The default port numbers are still the same and the services and hosts + are also resolved by name. So now you could use the real names for the + port numbers. + + An ip section will allow resolution to either an ipv4 or an ipv6 address. + An ipv4 section forces the resolution to be only ipv4, and an ipv6 section + forces the resolution to be only ipv6. + + Documentation to do: (any release a little bit at a time) - Document query file format. +- Add more documentation for bsr files. - Document problems with Verify and pruning. - Document how to use multiple databases. - VXA drives have a "cleaning required" @@ -51,22 +98,124 @@ Documentation to do: (any release a little bit at a time) - Lookup HP tape replacement recommendations (see trouble shooting autochanger) - Add more obvious documentation of @ for conf files. - Document doing table repair + Testing to do: (painful) -- Test drive polling! -- blocksize recognition code. -- Test if rewind at end of tape waits for tape to rewind. -- Test cancel at EOM. + For 1.37 Testing/Documentation: +- Fix find_device in stored/dircmd.c:462 (see code) - Add db check test to regression. Test each function like delete, purge, ... - If you use restore replace=never, the directory attributes for non-existent directories will not be restored properly. +Fix: + Kern, + + mt status and tapeinfo output are attached. Default blocksize was + originally 512 bytes. I ran the following test on my machine: + + - set defblksize to 512 + - started bacula, labelled tape, ran job + - job completes with the following in log + SD termination status: OK + Termination: Backup OK + - restore attempts with blocksize set to 0 or 512 result in the familiar + "Volume data error! Wanted block-id BB02, got . Buffer discarded." + + + # tapeinfo -f /dev/sg0 + Product Type: Tape Drive + Vendor ID: 'SONY ' + Product ID: 'TSL-11000 ' + Revision: 'L100' + Attached Changer: Yes + SerialNumber: '0010000443' + MinBlock:1 + MaxBlock:16777215 + SCSI ID: 1 + SCSI LUN: 0 + Ready: yes + BufferedMode: yes + Medium Type: Not Loaded + Density Code: 0x26 + BlockSize: 512 + DataCompEnabled: no + DataCompCapable: yes + DataDeCompEnabled: yes + CompType: 0x20 + DeCompType: 0x20 + BOP: yes + Block Position: 0 + + # mt -f /dev/nst0 status + SCSI 2 tape drive: + File number=0, block number=132, partition=0. + Tape block size 512 bytes. Density code 0x26 (DDS-4 or QIC-4GB). + Soft error count since last status=0 + General status bits on (1010000): + ONLINE IM_REP_EN + + + Wish list: +- 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). + The next two lines will show them. + localmounts=`awk '/ext/ { print $2 }' /proc/mounts` # or whatever + find $localmounts -xdev -type s -ls +- 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. +- Look at adding Client run command that will use the + port opened by the client. +- bscan does not put first of two volumes back with all info in + bscan-test. +- Implement the FreeBSD nodump flag in chflags. +- Figure out how to make named console messages go only to that + console and to the non-restricted console (new console class?). +- Make restricted console prompt for password if *ask* is set or + perhaps if password is undefined. - Implement "from ISO-date/time every x hours/days/weeks/months" in schedules. +==== from Marc Schoechlin +- 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 + you need a special parameter + -> maybe it´s 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 +- 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. + -> adding the password to the file favours admins + to forget to remove the password after usage + -> security-aspects + the protection of that file is less important +- long-listed-output of commands should be scrollable + like the unix more/less-command does + -> if someone runs 200 and more machines, the lists could + be a little long and complex +- command-output should be shown column by column + to reduce scrolling and to increase clarity + -> see last item +- lsmark should list the selected files with full + paths +- wildcards for selecting and file and directories would be nice +- any actions should be interuptable with STRG+C +- command-expansion would be pretty cool +==== - Compaction of Disk space by "migrating" Volumes that have pruned Jobs (what criteria? size, #jobs, time). - Add prune all command @@ -1101,3 +1250,41 @@ Block Position: 0 - Look at Win32 inc problem when new directory added files not saved??? - Require resource names to be unique. - Make sure that all errors from libacl are printed. +- Make FD run on Win95 if possible (not really possible). +- Fix GROUP BYs in all SQL (done by Dan -- thanks) +- Make entering multiple Storage names in Dir illegal. +- Make btape release the drive during the "test" append. +- Fix restore: + You have selected the following JobIds: 739,856,797 + Building directory tree for JobId 739 ... + Building directory tree for JobId 856 ... + Building directory tree for JobId 797 ...3 + Jobs inserted into the tree. +- Fix errno handling in win32 compat routines. +- Add better error codes to run_program (10000+) +- Revisit and revise Disaster Recovery (fix SCSI and RAID + disk detection) +- When passwords do not match, print message that points the + user to the doc. +- Do tape alerts -- see tapealert.txt +- Find memory leaks in address_conf.c +- Network order of port and ip addresses. +- SetIP in dird/fd_cmds.c is broken. +- don't use inet_addr() it is deprecated. +- Fix code in filed.c for init_bsock(); +- Fix code in console.c for init_bsock(); +- Solve the termcap.h problem on Solaris configure. +- Make Verify jobs require exclusive use of Volume as Restore + jobs do. +- Fix restore ++++ that get intermingled with "Building directory tree" +- Fix doc in dirdconf.html for @, where the file must + have not a list of files, but + file = xxx + file = yyy +- Test Win32 errno handling. +- port 1.34.6-block.patch to 1.35 +- Look at Chris' patch for bscan bug. +- Fix error handling in spooling both data and attribute. +- Implement Ignore FileSet Change. +- Doc new duration time input editing. +