From: Kern Sibbald Date: Tue, 8 May 2007 15:51:16 +0000 (+0000) Subject: kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL X-Git-Tag: Release-7.0.0~6403 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=63eef8388297685bf2ce0e8df692a7ce227db183;p=bacula%2Fbacula kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL so that Bacula doesn't later stumble into a seg fault. kes Use the term Restore Client in the restore Job report. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4728 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes index 1c33046e90..deeb63f49a 100644 --- a/bacula/ReleaseNotes +++ b/bacula/ReleaseNotes @@ -66,5 +66,7 @@ Other features or bug fixes: - Include/Exclude lists can now be efficiently handled for quite large sizes -- tens of thousands of entries. - Several memory leaks in migration and database usage were fixed. - - +- New console keyword restoreclient, which specifies the client to + which the restore will be sent. The client keyword specifies + the backup client. The restoreclient keyword is optional if it is + not specified, the backup client will also be the restore client. diff --git a/bacula/kernstodo b/bacula/kernstodo index ee54fbe148..f2f1b8fac8 100644 --- a/bacula/kernstodo +++ b/bacula/kernstodo @@ -1,9 +1,6 @@ Kern's ToDo List - 27 April 2007 + 08 May 2007 -Major development: -Project Developer -======= ========= Document: - !!! Cannot restore two jobs a the same time that were @@ -51,27 +48,10 @@ Professional Needs: - Detect state change of system (verify) Priority: +- Add TLS to bat - When Pool specifies Storage command override does not work. -- 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) + now prints warnings too often. - Add Where: client:/.... to restore job report. - Ensure that each device in an Autochanger has a different @@ -102,7 +82,6 @@ started the director. 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. - 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 @@ -1700,20 +1679,25 @@ Block Position: 0 - 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 +- 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. diff --git a/bacula/src/dird/dird.c b/bacula/src/dird/dird.c index e1c1bd1c5c..d97b31fd33 100644 --- a/bacula/src/dird/dird.c +++ b/bacula/src/dird/dird.c @@ -725,7 +725,7 @@ static bool check_resources() for (i=0; job_items[i].name; i++) { if (job_items[i].flags & ITEM_REQUIRED) { if (!bit_is_set(i, job->hdr.item_present)) { - Jmsg(NULL, M_FATAL, 0, _("\"%s\" directive in Job \"%s\" resource is required, but not found.\n"), + Jmsg(NULL, M_ERROR_TERM, 0, _("\"%s\" directive in Job \"%s\" resource is required, but not found.\n"), job_items[i].name, job->name()); OK = false; } diff --git a/bacula/src/dird/restore.c b/bacula/src/dird/restore.c index 973c1ebb80..6919e0105b 100644 --- a/bacula/src/dird/restore.c +++ b/bacula/src/dird/restore.c @@ -184,7 +184,7 @@ bool do_restore(JCR *jcr) replace = REPLACE_ALWAYS; /* always replace */ } - where = ∅ /* default */ + where = ∅ /* default */ if (jcr->RegexWhere) { where = jcr->RegexWhere; /* override */ @@ -297,7 +297,7 @@ void restore_cleanup(JCR *jcr, int TermCode) " Build OS: %s %s %s\n" " JobId: %d\n" " Job: %s\n" -" Client: %s\n" +" Restore Client: %s\n" " Start time: %s\n" " End time: %s\n" " Files Expected: %s\n" @@ -312,7 +312,7 @@ void restore_cleanup(JCR *jcr, int TermCode) HOST_OS, DISTNAME, DISTVER, jcr->jr.JobId, jcr->jr.Job, - jcr->client->hdr.name, + jcr->client->name(), sdt, edt, edit_uint64_with_commas((uint64_t)jcr->ExpectedFiles, ec1), diff --git a/bacula/src/version.h b/bacula/src/version.h index 42d26fb24c..263dd69e6d 100644 --- a/bacula/src/version.h +++ b/bacula/src/version.h @@ -4,8 +4,8 @@ #undef VERSION #define VERSION "2.1.8" -#define BDATE "06 May 2007" -#define LSMDATE "06May07" +#define BDATE "08 May 2007" +#define LSMDATE "08May07" #define PROG_COPYRIGHT "Copyright (C) %d-2007 Free Software Foundation Europe e.V.\n" #define BYEAR "2007" /* year for copyright messages in progs */ diff --git a/bacula/technotes-2.1 b/bacula/technotes-2.1 index 0b48e8d423..d3319b85f2 100644 --- a/bacula/technotes-2.1 +++ b/bacula/technotes-2.1 @@ -2,6 +2,9 @@ General: 08May07 +kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL + so that Bacula doesn't later stumble into a seg fault. +kes Use the term Restore Client in the restore Job report. kes Merge patch from Sergey Svishchev that preserves the original job's FileSetId. kes Merge patch from Sergey Svishchev that implements