From: Kern Sibbald Date: Tue, 2 Aug 2005 16:09:51 +0000 (+0000) Subject: 02Aug05 X-Git-Tag: Release-1.38.0~226 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3fafb59fab85aa9f770790733be3afde4f34b71f;p=bacula%2Fbacula 02Aug05 - Correct PostgreSQL database scripts as suggested by a user. - Add additional info to FATAL message generated when a device is busy writing to another volume. - Suppress an inappropriate NULL Volume name message after a cancel. - Correct a warning message in reserve.c git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@2278 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/ReleaseNotes b/bacula/ReleaseNotes index 04086a70aa..e9fdca9c10 100644 --- a/bacula/ReleaseNotes +++ b/bacula/ReleaseNotes @@ -33,7 +33,7 @@ Major Changes: records have been removed from the catalog. - Restore of a directory (non-recursive, i.e. only one level). - Support for TLS (ssl) between all the daemon connections thanks - to Landon Fuller. + to Landon Fuller. This is mostly untested. - Any Volume in the Pool named Scratch may be reassigned to any other Pool when a new Volume is needed. - You may clone a Job and thus write (almost) the same data @@ -159,7 +159,8 @@ Items to note!!! - When linking with --with-python, there are a few warnings that can be ignored. - You must either create a new catalog database or upgrade your - old database (the PostgreSQL upgrade scripts not yet tested). + old database. +- The TLS code is for the most part untested. - You must add --with-openssl to the configure command line if you want TLS communications encryption support. - If you use an Autochanger, you *must* update your SD conf file diff --git a/bacula/kernstodo b/bacula/kernstodo index 048a683ae2..dce48aaf18 100644 --- a/bacula/kernstodo +++ b/bacula/kernstodo @@ -9,6 +9,8 @@ Version 1.37 Kern (see below) Final items for 1.37 before release: 1. Fix bugs +- Tape xxx in drive 0, requested in drive 1 +- Multi-drive changer seems to only use drive 0 - --without-openssl breaks at least on Solaris. 9. Run the regression scripts on Solaris and FreeBSD - Figure out how to package gui, and rescue programs. @@ -57,6 +59,10 @@ Document: ======= For 1.39: +- Email to the user when the tape is about to need changing x + days before it needs changing. +- Command to show next tape that will be used for a job even + if the job is not scheduled. --- 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 @@ diff --git a/bacula/kes-1.37 b/bacula/kes-1.37 index e2020f5b61..aae0dcd007 100644 --- a/bacula/kes-1.37 +++ b/bacula/kes-1.37 @@ -4,6 +4,12 @@ General: Changes to 1.37.32: +02Aug05 +- Correct PostgreSQL database scripts as suggested by a user. +- Add additional info to FATAL message generated when a device + is busy writing to another volume. +- Suppress an inappropriate NULL Volume name message after a cancel. +- Correct a warning message in reserve.c 29Jul05 - Apply user's patch to make mutiple modifiers for times work correctly. diff --git a/bacula/projects b/bacula/projects index 956569fd64..5b4fb7cef5 100644 --- a/bacula/projects +++ b/bacula/projects @@ -24,7 +24,7 @@ Item 1: Implement Base jobs. pulled in where necessary. Why: This is something none of the competition does, as far as - we know (except BackupPC, which is a Perl program that + we know (except perhpas BackupPC, which is a Perl program that saves to disk only). It is big win for the user, it makes Bacula stand out as offering a unique optimization that immediately saves time and money. diff --git a/bacula/src/cats/drop_postgresql_tables.in b/bacula/src/cats/drop_postgresql_tables.in index dcb7d56ba6..7ef5ad9d43 100644 --- a/bacula/src/cats/drop_postgresql_tables.in +++ b/bacula/src/cats/drop_postgresql_tables.in @@ -19,7 +19,7 @@ drop table filename; drop table counters; drop table version; drop table CDImages; -drop table Devices; +drop table Device; drop table Storage; drop table MediaType; drop table Status; diff --git a/bacula/src/cats/make_postgresql_tables.in b/bacula/src/cats/make_postgresql_tables.in index 4c6e9cf0d3..be0e9f5840 100644 --- a/bacula/src/cats/make_postgresql_tables.in +++ b/bacula/src/cats/make_postgresql_tables.in @@ -167,7 +167,7 @@ CREATE TABLE Device ( DeviceId SERIAL, Name TEXT NOT NULL, MediaTypeId INTEGER NOT NULL, - StorageId INTEGER UNSIGNED, + StorageId INTEGER NOT NULL, DevMounts INTEGER NOT NULL DEFAULT 0, DevReadBytes BIGINT NOT NULL DEFAULT 0, DevWriteBytes BIGINT NOT NULL DEFAULT 0, @@ -176,7 +176,7 @@ CREATE TABLE Device ( DevReadTime BIGINT NOT NULL DEFAULT 0, DevWriteTime BIGINT NOT NULL DEFAULT 0, DevReadTimeSinceCleaning BIGINT NOT NULL DEFAULT 0, - DevWriteTimeSinceCleaning BIGINT UNSIGNED DEFAULT 0, + DevWriteTimeSinceCleaning BIGINT NOT NULL DEFAULT 0, CleaningDate TIMESTAMP WITHOUT TIME ZONE, CleaningPeriod BIGINT NOT NULL DEFAULT 0, PRIMARY KEY(DeviceId) diff --git a/bacula/src/stored/acquire.c b/bacula/src/stored/acquire.c index 6776086724..e9daa80c1d 100644 --- a/bacula/src/stored/acquire.c +++ b/bacula/src/stored/acquire.c @@ -356,7 +356,8 @@ DCR *acquire_device_for_append(DCR *dcr) free_unused_volume(dcr); } if (dev->num_writers != 0 || dev->reserved_device) { - Jmsg(jcr, M_FATAL, 0, _("Device %s is busy writing on another Volume.\n"), dev->print_name()); + Jmsg(jcr, M_FATAL, 0, _("Wanted Volume \"%s\", but device %s is busy writing on \"%s\" .\n"), + dcr->VolumeName, dev->print_name(), dev->VolHdr.VolumeName); goto get_out; } /* Wrong tape mounted, release it, then fall through to get correct one */ diff --git a/bacula/src/stored/append.c b/bacula/src/stored/append.c index 2415c9c02a..b6ee3f1ce1 100644 --- a/bacula/src/stored/append.c +++ b/bacula/src/stored/append.c @@ -245,7 +245,7 @@ bool do_append_data(JCR *jcr) set_jcr_job_status(jcr, ok?JS_Terminated:JS_ErrorTerminated); Dmsg1(200, "Write session label JobStatus=%d\n", jcr->JobStatus); - if (dev->VolCatInfo.VolCatName[0] == 0) { + if ((!ok || job_canceled(jcr)) && dev->VolCatInfo.VolCatName[0] == 0) { Pmsg0(000, "NULL Volume name. This shouldn't happen!!!\n"); } diff --git a/bacula/src/stored/reserve.c b/bacula/src/stored/reserve.c index ebcb77c038..4dc22f1c4c 100644 --- a/bacula/src/stored/reserve.c +++ b/bacula/src/stored/reserve.c @@ -694,7 +694,8 @@ static int can_reserve_drive(DCR *dcr, bool PreferMountedVols) return 1; } else { /* Drive not suitable for us */ - Jmsg(jcr, M_WARNING, 0, _("Device %s is busy writing on another Volume.\n"), dev->print_name()); + Jmsg(jcr, M_WARNING, 0, _("Wanted Pool \"%s\", but device %s is using Pool \"%s\" .\n"), + dcr->pool_name, dev->print_name(), dev->pool_name); return 0; /* wait */ } } else {