Robert Nelson
Rudolf Cejka
Russel Howe
+Scott Bailey
Sergey Svishchev
Thomas Glatthor
Thorsten Enge
Release Notes for Bacula 2.2.2
- Bacula code: Total files = 520 Total lines = 195,550 (*.h *.c *.in)
+ Bacula code: Total files = 506 Total lines = 190,209 (*.h *.c *.in)
82 new files, 41,221 new lines of code, 208,380 lines of change from 2.0.3
This Director and Storage daemon must be upgraded at the same time,
{"differentialmaxwaittime", store_time, ITEM(res_job.DiffMaxWaitTime), 0, 0, 0},
{"maxwaittime", store_time, ITEM(res_job.MaxWaitTime), 0, 0, 0},
{"maxstartdelay",store_time, ITEM(res_job.MaxStartDelay), 0, 0, 0},
+ {"maxfullage", store_time, ITEM(res_job.MaxFullAge), 0, 0, 0},
{"jobretention", store_time, ITEM(res_job.JobRetention), 0, 0, 0},
{"prefixlinks", store_bool, ITEM(res_job.PrefixLinks), 0, ITEM_DEFAULT, false},
{"prunejobs", store_bool, ITEM(res_job.PruneJobs), 0, ITEM_DEFAULT, false},
utime_t MaxStartDelay; /* max start delay in seconds */
utime_t RescheduleInterval; /* Reschedule interval */
utime_t JobRetention; /* job retention period in seconds */
+ utime_t MaxFullAge; /* Max age of full to avoid upgrade */
uint32_t MaxConcurrentJobs; /* Maximum concurrent jobs */
int64_t spool_size; /* Size of spool file for this job */
int RescheduleTimes; /* Number of times to reschedule job */
void get_level_since_time(JCR *jcr, char *since, int since_len)
{
int JobLevel;
+ bool FullOk;
+ utime_t now, LastFull;
since[0] = 0;
/* If job cloned and a since time already given, use it */
case L_INCREMENTAL:
/* Look up start time of last job */
jcr->jr.JobId = 0; /* flag for db_find_job_start time */
- if (!db_find_job_start_time(jcr, jcr->db, &jcr->jr, &jcr->stime)) {
- /* No job found, so upgrade this one to Full */
+ FullOk = db_find_job_start_time(jcr, jcr->db, &jcr->jr, &jcr->stime);
+ /* If there was a successful job, make sure it is recent enough */
+ if (FullOk && jcr->job->MaxFullAge > 0) {
+ now = btime_to_utime(get_current_btime());
+ LastFull = str_to_utime(jcr->stime);
+ FullOk = ((now - LastFull) < jcr->job->MaxFullAge);
+ }
+ if (!FullOk) {
+ /* No recent job found, so upgrade this one to Full */
Jmsg(jcr, M_INFO, 0, "%s", db_strerror(jcr->db));
Jmsg(jcr, M_INFO, 0, _("No prior or suitable Full backup found in catalog. Doing FULL backup.\n"));
bsnprintf(since, since_len, _(" (upgraded from %s)"),
#undef VERSION
#define VERSION "2.3.10"
-#define BDATE "14 February 2008"
-#define LSMDATE "14Feb08"
+#define BDATE "16 February 2008"
+#define LSMDATE "16Feb08"
#define PROG_COPYRIGHT "Copyright (C) %d-2008 Free Software Foundation Europe e.V.\n"
#define BYEAR "2008" /* year for copyright messages in progs */
General:
17Feb08
kes Plugin debug code + tweak a couple bat dialog layouts
+16Feb08
+kes Apply Max Full Age patch submitted by Scott Bailey
+ <scott dot bailey at eds dot com>
14Feb08
kes Fix creating first JobMedia record during Migration to include
proper index. This caused slow restores of migrated jobs.