- Release Notes for Bacula 1.35.5
+ Release Notes for Bacula 1.35.6
- Bacula code: Total files = 395 Total lines = 115,062 (*.h *.c *.in)
+ Bacula code: Total files = 396 Total lines = 116,116 (*.h *.c *.in)
Changes for 1.35.5
Major Changes:
- Tray monitor program
- Bacula Rescue CDROM
+- Bacula CD Image Manager
- Lots of improvements in the Rescue scripts -- better
network detection, better mounting code, ...
- General bug fixes/stabilization
block numbers in btape "test". Possibly adjust in Bacula.
- Fix possible bug in update volumefrompool (email 9/28 from
jesk@killall.org
-- Fix storage overrides in Run directives.
+- Look into failing Excludes in Win32
- 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?".
-- Add "Rerun failed levels = yes/no" to Job resource.
Maybe for 1.35:
- Add IPv6 to regression
- Perhaps add read/write programs and/or plugins to FileSets.
- How to handle backing up portables ...
+- Add "Rerun failed levels = yes/no" to Job resource.
+- Add some sort of guaranteed Interval for upgrading jobs.
Documentation to do: (any release a little bit at a time)
- Alternative to static linking "ldd prog" save all binaries listed,
For 1.37 Testing/Documentation:
+- 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.
- Add a read-only mode to the mount option.
- Fix bscan so that it releases the drive when requesting a new tape.
- List verify options for DiskToCatalog in doc.
- Turn on transactions if multiple connections are on in DB.
+- Fix storage overrides in Run directives.
if (job->RestoreBootstrap) {
jcr->RestoreBootstrap = bstrdup(job->RestoreBootstrap);
}
+ /* This can be overridden by Console program */
+ jcr->verify_job = job->verify_job;
/* If no default level given, set one */
if (jcr->JobLevel == 0) {
switch (jcr->JobType) {
jcr = new_jcr(sizeof(JCR), dird_free_jcr);
set_jcr_defaults(jcr, job);
+ jcr->verify_job = verify_job;
jcr->store = store;
jcr->client = client;
jcr->fileset = fileset;
jcr->JobPriority);
} else { /* JT_VERIFY */
const char *Name;
- if (jcr->job->verify_job) {
- Name = jcr->job->verify_job->hdr.name;
+ if (jcr->verify_job) {
+ Name = jcr->verify_job->hdr.name;
} else {
Name = "";
}
case 8:
/* Verify Job */
if (jcr->JobType == JT_VERIFY) {
- JOB *job = select_job_resource(ua);
- if (job) {
- jcr->job->verify_job = job;
- } else {
- jcr->job->verify_job = NULL;
+ verify_job = select_job_resource(ua);
+ if (verify_job) {
+ jcr->verify_job = verify_job;
}
goto try_again;
}
jcr->JobLevel == L_VERIFY_VOLUME_TO_CATALOG ||
jcr->JobLevel == L_VERIFY_DISK_TO_CATALOG) {
memcpy(&jr, &jcr->jr, sizeof(jr));
- if (jcr->job->verify_job &&
+ if (jcr->verify_job &&
(jcr->JobLevel == L_VERIFY_VOLUME_TO_CATALOG ||
jcr->JobLevel == L_VERIFY_DISK_TO_CATALOG)) {
- Name = jcr->job->verify_job->hdr.name;
+ Name = jcr->verify_job->hdr.name;
} else {
Name = NULL;
}
jcr->sd_auth_key = bstrdup("dummy"); /* dummy Storage daemon key */
}
- if (jcr->JobLevel == L_VERIFY_DISK_TO_CATALOG && jcr->job->verify_job) {
- jcr->fileset = jcr->job->verify_job->fileset;
+ if (jcr->JobLevel == L_VERIFY_DISK_TO_CATALOG && jcr->verify_job) {
+ jcr->fileset = jcr->verify_job->fileset;
}
Dmsg2(100, "ClientId=%u JobLevel=%c\n", verify_jr.ClientId, jcr->JobLevel);
}
bstrftime(sdt, sizeof(sdt), jcr->jr.StartTime);
bstrftime(edt, sizeof(edt), jcr->jr.EndTime);
- if (jcr->job->verify_job) {
- Name = jcr->job->verify_job->hdr.name;
+ if (jcr->verify_job) {
+ Name = jcr->verify_job->hdr.name;
} else {
Name = "";
}
}
bfd->fh = CreateFile(win32_fname,
dwaccess, /* Requested access */
- FILE_SHARE_READ, /* Shared mode */
+ FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
NULL, /* SecurityAttributes */
OPEN_EXISTING, /* CreationDisposition */
dwflags, /* Flags and attributes */
volatile bool sd_msg_thread_done; /* Set when Storage message thread terms */
BSOCK *ua; /* User agent */
JOB *job; /* Job resource */
+ JOB *verify_job; /* Job resource of verify target job */
alist *storage[MAX_STORE]; /* Storage possibilities */
STORE *store; /* Storage daemon selected */
CLIENT *client; /* Client resource */
/* */
#undef VERSION
-#define VERSION "1.35.5"
-#define BDATE "29 September 2004"
-#define LSMDATE "29Sep04"
+#define VERSION "1.35.6"
+#define BDATE "30 September 2004"
+#define LSMDATE "30Sep04"
/* Debug flags */
#undef DEBUG