workaround: specify absolute working and pid directory in
bacula-fd.conf (e.g. c:\bacula\working instead of
\bacula\working).
+- Document techniques for restoring large numbers of files.
+- Document setting my.cnf to big file usage.
+- Add example of proper index output to doc.
+ show index from File;
Priority:
- Remove queue.c code.
- Correct the Include syntax in the m4.xxx files in examples/conf
- Get Perl replacement for bregex.c
-- Make base64.c (bin_to_base64) take a buffer length
- argument to avoid overruns.
- and verify that other buffers cannot overrun.
-- Implement VolumeState as discussed with Arno.
-- Document techniques for restoring large numbers of files.
-- Document setting my.cnf to big file usage.
-- Add example of proper index output to doc.
- show index from File;
+- Fix auth compatibility with 1.38
- Fix re-read of last block to check if job has actually written
a block, and check if block was written by a different job
(i.e. multiple simultaneous jobs writing).
Volume marked as purged.
- Print warning message if LANG environment variable does not specify
UTF-8.
-- Add LocationId to update volume
-- Add LocationLog
- LogId
- Date
- User text
- MediaId
- LocationId
- NewState???
-- Add Comment to Media record
- New dot commands from Arno.
.update volume [enabled|disabled|*see below]
> However, I could easily imagine an option to "update slots" that says
- Make Dir and SD authentication errors single threaded.
- Install man pages
- Fix catreq.c digestbuf at line 411 in src/dird/catreq.c
+- Make base64.c (bin_to_base64) take a buffer length
+ argument to avoid overruns.
+ and verify that other buffers cannot overrun.
+- Implement VolumeState as discussed with Arno.
+- Add LocationId to update volume
+- Add LocationLog
+ LogId
+ Date
+ User text
+ MediaId
+ LocationId
+ NewState???
+- Add Comment to Media record
+
Kern Sibbald
General:
-19July06
+22Jul06
+- Tweak catalog make scripts.
+- Fix catalog upgrade scripts so that they work.
+- Correct despooling debug code to eliminate race condition.
+19Jul06
- Add additional fields as specified by Arno to LocationLog.
- Add comment field to the Media record.
- Add Time field to the Log record.
- Correct migration SQL (thanks to Bill Moran) so that it
runs with PostgreSQL also.
- Add spooling/despooling info in status output of SD.
-17July06
+17Jul06
- Spend a lot of time integrating mkcdrec with the rescue disk.
- Add VOLMGMT message class for volume management messages (none yet).
- Add CATALOG as a destination. It goes into the LOG table.
DROP TABLE IF EXISTS CDImages;
DROP TABLE IF EXISTS Status;
DROP TABLE IF EXISTS MAC;
+DROP TABLE IF EXISTS Log;
DROP TABLE IF EXISTS Location;
+DROP TABLE IF EXISTS LocationLog;
END-OF-DATA
then
echo "Deletion of Bacula MySQL tables succeeded."
drop table MediaType;
drop table Status;
drop table MAC;
+drop table log;
drop table Location;
+drop table locationlog;
END-OF-DATA
pstat=$?
if test $pstat = 0;
LocLogId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Date DATETIME DEFAULT 0,
Comment BLOB NOT NULL,
- MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media;
- LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES LocationId;
+ MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media,
+ LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location,
NewVolStatus ENUM('Full', 'Archive', 'Append', 'Recycle', 'Purged',
'Read-Only', 'Disabled', 'Error', 'Busy', 'Used', 'Cleaning') NOT NULL,
NewEnabled TINYINT,
CREATE TABLE Log (
LogId INTEGER UNSIGNED AUTO_INCREMENT,
- JobId INTEGER INTEGER UNSIGNED DEFAULT 0 REFERENCES JobId,
+ JobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job,
Time DATETIME DEFAULT 0,
LogText BLOB NOT NULL,
PRIMARY KEY(LogId),
MediaId INTEGER DEFAULT 0,
LocationId INTEGER DEFAULT 0,
newvolstatus text not null
- check (volstatus in ('Full','Archive','Append',
+ check (newvolstatus in ('Full','Archive','Append',
'Recycle','Purged','Read-Only','Disabled',
'Error','Busy','Used','Cleaning','Scratch')),
newenabled smallint,
CREATE TABLE Location (
LocationId INTEGER,
- Location TINYBLOB NOT NULL,
+ Location TEXT NOT NULL,
Cost INTEGER DEFAULT 0,
Enabled TINYINT,
PRIMARY KEY(LocationId)
CREATE TABLE Location (
LocationId INTEGER,
- Location TINYBLOB NOT NULL,
+ Location TEXT NOT NULL,
Cost INTEGER DEFAULT 0,
Enabled TINYINT,
PRIMARY KEY(LocationId)
# Shell script to update MySQL tables from version 1.38 to 1.39
#
echo " "
-echo "This script will update a Bacula MySQL database from version 9 to 9"
+echo "This script will update a Bacula SQLite database from version 9 to 10"
+echo " which is needed to convert from Bacula version 1.38.x to 1.39.x or higher"
echo "Depending on the size of your database,"
echo "this script may take several minutes to run."
echo " "
if $bindir/mysql $* -f <<END-OF-DATA
USE bacula;
-ALTER TABLE Media ADD COLUMN MediaTypeId INTEGER UNSIGNED DEFAULT 0 REFERENCES MediaType;
-ALTER TABLE Media ADD COLUMN DeviceId INTEGER UNSIGNED DEFAULT 0 REFERENCES Device;
-ALTER TABLE Media ADD COLUMN LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location;
-ALTER TABLE Media ADD COLUMN RecycleCount INTEGER UNSIGNED DEFAULT 0;
-ALTER TABLE Media ADD COLUMN InitialWrite DATETIME DEFAULT 0;
-ALTER TABLE Media ADD COLUMN ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
-ALTER TABLE Media ADD COLUMN RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
-ALTER TABLE Media ADD COLUMN Enabled TINYINT DEFAULT 1;
-ALTER TABLE Media ADD COLUMN Comment BLOB;
-
-ALTER TABLE JobMedia DROP ADD COLUMN Stripe;
-
-ALTER TABLE Job ADD COLUMN PriorJobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job;
-ALTER TABLE Job ADD COLUMN RealEndTime DATETIME DEFAULT 0;
+DROP TABLE IF EXISTS MAC;
+DROP TABLE IF EXISTS Log;
+DROP TABLE IF EXISTS Location;
+DROP TABLE IF EXISTS LocationLog;
CREATE TABLE Log (
LogId INTEGER UNSIGNED AUTO_INCREMENT,
- JobId INTEGER INTEGER UNSIGNED DEFAULT 0 REFERENCES JobId,
+ JobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job,
Time DATETIME DEFAULT 0,
LogText BLOB NOT NULL,
PRIMARY KEY(LogId),
INDEX (JobId)
);
+CREATE TABLE Location (
+ LocationId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ Location TINYBLOB NOT NULL,
+ Cost INTEGER DEFAULT 0,
+ Enabled TINYINT,
+ PRIMARY KEY(LocationId)
+ );
+
CREATE TABLE LocationLog (
LocLogId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Date DATETIME DEFAULT 0,
- Comment BLOB NOT NULL,
- MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media;
- LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES LocationId;
+ Comment BLOB,
+ MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media,
+ LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location,
NewVolStatus ENUM('Full', 'Archive', 'Append', 'Recycle', 'Purged',
'Read-Only', 'Disabled', 'Error', 'Busy', 'Used', 'Cleaning') NOT NULL,
NewEnabled TINYINT,
PRIMARY KEY(LocLogId)
);
+ALTER TABLE Media ADD COLUMN MediaTypeId INTEGER UNSIGNED DEFAULT 0 REFERENCES MediaType;
+ALTER TABLE Media ADD COLUMN DeviceId INTEGER UNSIGNED DEFAULT 0 REFERENCES Device;
+ALTER TABLE Media ADD COLUMN LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location;
+ALTER TABLE Media ADD COLUMN RecycleCount INTEGER UNSIGNED DEFAULT 0;
+ALTER TABLE Media ADD COLUMN InitialWrite DATETIME DEFAULT 0;
+ALTER TABLE Media ADD COLUMN ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
+ALTER TABLE Media ADD COLUMN RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
+ALTER TABLE Media ADD COLUMN Enabled TINYINT DEFAULT 1;
+ALTER TABLE Media ADD COLUMN Comment BLOB;
+
+ALTER TABLE JobMedia DROP COLUMN Stripe;
+
+ALTER TABLE Job ADD COLUMN PriorJobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job;
+ALTER TABLE Job ADD COLUMN RealEndTime DATETIME DEFAULT 0;
-CREATE TABLE Location (
- LocationId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
- Location BLOB NOT NULL,
- Cost INTEGER DEFAULT 0,
- Enabled TINYINT,
- PRIMARY KEY(LocationId)
- );
DELETE FROM Version;
# Shell script to update PostgreSQL tables from version 1.38 to 1.39
#
echo " "
-echo "This script will update a Bacula PostgreSQL database from version 9 to 9"
+echo "This script will update a Bacula SQLite database from version 9 to 10"
+echo " which is needed to convert from Bacula version 1.38.x to 1.39.x or higher"
echo "Depending on the size of your database,"
echo "this script may take several minutes to run."
echo " "
ALTER TABLE media ADD COLUMN RecycleCount integer;
UPDATE media SET RecycleCount=0;
ALTER TABLE media ADD COLUMN InitialWrite timestamp without time zone;
-UPDATE media SET InitialWrite=0;
ALTER TABLE media ADD COLUMN scratchpoolid integer;
UPDATE media SET scratchpoolid=0;
ALTER TABLE media ADD COLUMN recyclepoolid integer;
ALTER TABLE media ADD COLUMN Comment TEXT;
ALTER TABLE job ADD COLUMN RealEndTime timestamp without time zone;
-UPDATE job SET RealEndTime=0;
ALTER TABLE job ADD COLUMN PriorJobId integer;
UPDATE job SET PriorJobId=0;
MediaId INTEGER DEFAULT 0,
LocationId INTEGER DEFAULT 0,
newvolstatus text not null
- check (volstatus in ('Full','Archive','Append',
+ check (newvolstatus in ('Full','Archive','Append',
'Recycle','Purged','Read-Only','Disabled',
'Error','Busy','Used','Cleaning','Scratch')),
newenabled smallint,
# shell script to update SQLite from version 1.38 to 1.39
#
echo " "
-echo "This script will update a Bacula SQLite database from version 9 to 9"
+echo "This script will update a Bacula SQLite database from version 9 to 10"
+echo " which is needed to convert from Bacula version 1.38.x to 1.39.x or higher"
echo "Depending on the size of your database,"
echo "this script may take several minutes to run."
echo " "
MediaId INTEGER UNSIGNED AUTOINCREMENT,
VolumeName VARCHAR(128) NOT NULL,
Slot INTEGER DEFAULT 0,
- PoolId INTEGER UNSIGNED REFERENCES Pool NOT NULL,
+ PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
MediaType VARCHAR(128) NOT NULL,
MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0,
LabelType TINYINT DEFAULT 0,
DROP TABLE Media;
CREATE TABLE Media (
- MediaId INTEGER UNSIGNED AUTOINCREMENT,
+ MediaId INTEGER,
VolumeName VARCHAR(128) NOT NULL,
Slot INTEGER DEFAULT 0,
- PoolId INTEGER UNSIGNED REFERENCES Pool NOT NULL,
+ PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
MediaType VARCHAR(128) NOT NULL,
- MediaTypeId INTEGER UNSIGNED REFERENCES MediaType NOT NULL,
+ MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0,
LabelType TINYINT DEFAULT 0,
FirstWritten DATETIME DEFAULT 0,
LastWritten DATETIME DEFAULT 0,
MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
InChanger TINYINT DEFAULT 0,
- StorageId INTEGER UNSIGNED REFERENCES Storage,
- DeviceId INTEGER UNSIGNED REFERENCES Device,
+ StorageId INTEGER UNSIGNED REFERENCES Storage DEFAULT 0,
+ DeviceId INTEGER UNSIGNED REFERENCES Device DEFAULT 0,
MediaAddressing TINYINT DEFAULT 0,
VolReadTime BIGINT UNSIGNED DEFAULT 0,
VolWriteTime BIGINT UNSIGNED DEFAULT 0,
EndFile INTEGER UNSIGNED DEFAULT 0,
EndBlock INTEGER UNSIGNED DEFAULT 0,
- LocationId INTEGER UNSIGNED REFERENCES Location,
+ LocationId INTEGER UNSIGNED REFERENCES Location DEFAULT 0,
RecycleCount INTEGER UNSIGNED DEFAULT 0,
InitialWrite DATETIME DEFAULT 0,
ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
- Comment TEXT,
+ Comment TEXT,
PRIMARY KEY(MediaId)
);
CREATE INDEX inx8 ON Media (PoolId);
CREATE TEMPORARY TABLE job_backup
-{
+(
JobId INTEGER,
Job VARCHAR(128) NOT NULL,
Name VARCHAR(128) NOT NULL,
FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0,
PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0,
PurgedFiles TINYINT DEFAULT 0,
- HasBase TINYINT DEFAULT 0,
- PRIMARY KEY(JobId)
+ HasBase TINYINT DEFAULT 0
);
INSERT INTO Job_backup SELECT
SchedTime, StartTime, EndTime, 0,
JobTDate, VolSessionId, VolSessionTime,
JobFiles, JobBytes, JobErrors, JobMissingFiles,
- PoolId, FileSetId, 0, PurgedFiles, HasBase,
- PRIMARY KEY(JobId)
- );
+ PoolId, FileSetId, 0, PurgedFiles, HasBase
FROM Job;
DROP TABLE Job;
-CREATE TEMPORARY TABLE Job
-{
+
+CREATE TABLE Job
+(
JobId INTEGER,
Job VARCHAR(128) NOT NULL,
Name VARCHAR(128) NOT NULL,
PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0,
PurgedFiles TINYINT DEFAULT 0,
HasBase TINYINT DEFAULT 0,
- PRIMARY KEY(JobId)
+ PRIMARY KEY(JobId)
);
+CREATE INDEX inx6 ON Job (Name);
-INSERT INTO Job SELECT
+INSERT INTO Job (
JobId, Job, Name, Type, Level, ClientId, JobStatus,
SchedTime, StartTime, EndTime, RealEndTime,
JobTDate, VolSessionId, VolSessionTime,
JobFiles, JobBytes, JobErrors, JobMissingFiles,
- PoolId, FileSetId, PriorJobId, PurgedFiles, HasBase
- FROM Job_backup;
+ PoolId, FileSetId, PriorJobId, PurgedFiles, HasBase)
+ SELECT * FROM Job_backup;
DROP TABLE Job_backup;
CREATE TABLE Location (
LocationId INTEGER,
- Location VARCHAR(128) NOT NULL,
+ Location TEXT NOT NULL,
Cost INTEGER DEFAULT 0,
Enabled TINYINT,
PRIMARY KEY(LocationId)
# shell script to update SQLite from version 1.38 to 1.39
#
echo " "
-echo "This script will update a Bacula SQLite database from version 9 to 9"
+echo "This script will update a Bacula SQLite database from version 9 to 10"
+echo " which is needed to convert from Bacula version 1.38.x to 1.39.x or higher"
echo "Depending on the size of your database,"
echo "this script may take several minutes to run."
echo " "
MediaId INTEGER UNSIGNED AUTOINCREMENT,
VolumeName VARCHAR(128) NOT NULL,
Slot INTEGER DEFAULT 0,
- PoolId INTEGER UNSIGNED REFERENCES Pool NOT NULL,
+ PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
MediaType VARCHAR(128) NOT NULL,
MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0,
LabelType TINYINT DEFAULT 0,
DROP TABLE Media;
CREATE TABLE Media (
- MediaId INTEGER UNSIGNED AUTOINCREMENT,
+ MediaId INTEGER,
VolumeName VARCHAR(128) NOT NULL,
Slot INTEGER DEFAULT 0,
- PoolId INTEGER UNSIGNED REFERENCES Pool NOT NULL,
+ PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
MediaType VARCHAR(128) NOT NULL,
- MediaTypeId INTEGER UNSIGNED REFERENCES MediaType NOT NULL,
+ MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0,
LabelType TINYINT DEFAULT 0,
FirstWritten DATETIME DEFAULT 0,
LastWritten DATETIME DEFAULT 0,
MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
InChanger TINYINT DEFAULT 0,
- StorageId INTEGER UNSIGNED REFERENCES Storage,
- DeviceId INTEGER UNSIGNED REFERENCES Device,
+ StorageId INTEGER UNSIGNED REFERENCES Storage DEFAULT 0,
+ DeviceId INTEGER UNSIGNED REFERENCES Device DEFAULT 0,
MediaAddressing TINYINT DEFAULT 0,
VolReadTime BIGINT UNSIGNED DEFAULT 0,
VolWriteTime BIGINT UNSIGNED DEFAULT 0,
EndFile INTEGER UNSIGNED DEFAULT 0,
EndBlock INTEGER UNSIGNED DEFAULT 0,
- LocationId INTEGER UNSIGNED REFERENCES Location,
+ LocationId INTEGER UNSIGNED REFERENCES Location DEFAULT 0,
RecycleCount INTEGER UNSIGNED DEFAULT 0,
InitialWrite DATETIME DEFAULT 0,
ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
- Comment TEXT,
+ Comment TEXT,
PRIMARY KEY(MediaId)
);
CREATE INDEX inx8 ON Media (PoolId);
CREATE TEMPORARY TABLE job_backup
-{
+(
JobId INTEGER,
Job VARCHAR(128) NOT NULL,
Name VARCHAR(128) NOT NULL,
FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0,
PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0,
PurgedFiles TINYINT DEFAULT 0,
- HasBase TINYINT DEFAULT 0,
- PRIMARY KEY(JobId)
+ HasBase TINYINT DEFAULT 0
);
INSERT INTO Job_backup SELECT
SchedTime, StartTime, EndTime, 0,
JobTDate, VolSessionId, VolSessionTime,
JobFiles, JobBytes, JobErrors, JobMissingFiles,
- PoolId, FileSetId, 0, PurgedFiles, HasBase,
- PRIMARY KEY(JobId)
- );
+ PoolId, FileSetId, 0, PurgedFiles, HasBase
FROM Job;
DROP TABLE Job;
-CREATE TEMPORARY TABLE Job
-{
+
+CREATE TABLE Job
+(
JobId INTEGER,
Job VARCHAR(128) NOT NULL,
Name VARCHAR(128) NOT NULL,
PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0,
PurgedFiles TINYINT DEFAULT 0,
HasBase TINYINT DEFAULT 0,
- PRIMARY KEY(JobId)
+ PRIMARY KEY(JobId)
);
+CREATE INDEX inx6 ON Job (Name);
-INSERT INTO Job SELECT
+INSERT INTO Job (
JobId, Job, Name, Type, Level, ClientId, JobStatus,
SchedTime, StartTime, EndTime, RealEndTime,
JobTDate, VolSessionId, VolSessionTime,
JobFiles, JobBytes, JobErrors, JobMissingFiles,
- PoolId, FileSetId, PriorJobId, PurgedFiles, HasBase
- FROM Job_backup;
+ PoolId, FileSetId, PriorJobId, PurgedFiles, HasBase)
+ SELECT * FROM Job_backup;
DROP TABLE Job_backup;
CREATE TABLE Location (
LocationId INTEGER,
- Location VARCHAR(128) NOT NULL,
+ Location TEXT NOT NULL,
Cost INTEGER DEFAULT 0,
Enabled TINYINT,
PRIMARY KEY(LocationId)
if (!db_find_job_start_time(jcr, jcr->db, &jcr->jr, &jcr->stime)) {
/* No 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. Doing FULL backup.\n"));
+ 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)"),
level_to_str(jcr->JobLevel));
jcr->JobLevel = jcr->jr.JobLevel = L_FULL;
} else {
if (jcr->job->rerun_failed_levels) {
if (db_find_failed_job_since(jcr, jcr->db, &jcr->jr, jcr->stime, JobLevel)) {
- Jmsg(jcr, M_INFO, 0, _("Prior failed job found. Upgrading to %s.\n"),
+ Jmsg(jcr, M_INFO, 0, _("Prior failed job found in catalog. Upgrading to %s.\n"),
level_to_str(JobLevel));
bsnprintf(since, since_len, _(" (upgraded from %s)"),
level_to_str(jcr->JobLevel));
bool spool_data; /* set to spool data */
bool spooling; /* set when actually spooling */
bool despooling; /* set when despooling */
+ bool despool_wait; /* waiting for despooling */
bool dev_locked; /* set if dev already locked */
bool NewVol; /* set if new Volume mounted */
bool WroteVol; /* set if Volume written */
Jmsg(jcr, M_INFO, 0, _("Writing spooled data to Volume. Despooling %s bytes ...\n"),
edit_uint64_with_commas(jcr->dcr->job_spool_size, ec1));
}
+ dcr->despool_wait = true;
dcr->spooling = false;
- dcr->despooling = true;
lock_device(dcr->dev);
+ dcr->despool_wait = false;
+ dcr->despooling = true;
dcr->dev_locked = true;
/*
rdcr->jcr = NULL;
free_dcr(rdcr);
free(rdev);
- unlock_device(dcr->dev);
dcr->dev_locked = false;
dcr->spooling = true; /* turn on spooling again */
dcr->despooling = false;
+ unlock_device(dcr->dev);
return ok;
}
dcr->pool_name,
dcr->dev?dcr->dev->print_name():
dcr->device->device_name);
- bnet_fsend(user, _(" spooling=%d despooling=%d devblocked=%d\n"),
- dcr->spooling, dcr->despooling, dcr->dev->dev_blocked);
+ bnet_fsend(user, _(" spooling=%d despooling=%d despool_wait=%d\n"),
+ dcr->spooling, dcr->despooling, dcr->despool_wait);
}
sec = time(NULL) - jcr->run_time;
if (sec <= 0) {
#undef VERSION
#define VERSION "1.39.16"
-#define BDATE "19 July 2006"
-#define LSMDATE "19Jul06"
+#define BDATE "22 July 2006"
+#define LSMDATE "22Jul06"
/* Debug flags */
#undef DEBUG