From: Kern Sibbald Date: Sun, 26 Jun 2005 09:37:32 +0000 (+0000) Subject: Create mode set method add debug output for DVD X-Git-Tag: Release-7.0.0~8667 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f7cf131a2ae4ebbb82c129cd9d3190932e1f70de;p=bacula%2Fbacula Create mode set method add debug output for DVD git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@2164 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/src/stored/block.c b/bacula/src/stored/block.c index 01d3932426..e9528d43e3 100644 --- a/bacula/src/stored/block.c +++ b/bacula/src/stored/block.c @@ -154,9 +154,9 @@ void print_block_read_errors(JCR *jcr, DEV_BLOCK *block) */ void free_block(DEV_BLOCK *block) { - Dmsg1(199, "free_block buffer %x\n", block->buf); + Dmsg1(999, "free_block buffer %x\n", block->buf); free_memory(block->buf); - Dmsg1(199, "free_block block %x\n", block); + Dmsg1(999, "free_block block %x\n", block); free_memory((POOLMEM *)block); } diff --git a/bacula/src/stored/dev.c b/bacula/src/stored/dev.c index 2305598391..a28a0a2edc 100644 --- a/bacula/src/stored/dev.c +++ b/bacula/src/stored/dev.c @@ -295,6 +295,19 @@ DEVICE::open(char *VolName, int mode) return fd; } +void DEVICE::set_mode(int new_mode) +{ + if (new_mode == OPEN_READ_WRITE) { + mode = O_RDWR | O_BINARY; + } else if (new_mode == OPEN_READ_ONLY) { + mode = O_RDONLY | O_BINARY; + } else if (new_mode == OPEN_WRITE_ONLY) { + mode = O_WRONLY | O_BINARY; + } else { + Emsg0(M_ABORT, 0, _("Illegal mode given to open dev.\n")); + } +} + static void open_tape_device(DEVICE *dev, int mode) { int nonblocking = 0;; @@ -303,15 +316,7 @@ static void open_tape_device(DEVICE *dev, int mode) int ioerrcnt = 10; Dmsg0(29, "open dev: device is tape\n"); - if (mode == OPEN_READ_WRITE) { - dev->mode = O_RDWR | O_BINARY; - } else if (mode == OPEN_READ_ONLY) { - dev->mode = O_RDONLY | O_BINARY; - } else if (mode == OPEN_WRITE_ONLY) { - dev->mode = O_WRONLY | O_BINARY; - } else { - Emsg0(M_ABORT, 0, _("Illegal mode given to open dev.\n")); - } + dev->set_mode(mode); timeout = dev->max_open_wait; errno = 0; if (dev->open_nowait) { @@ -400,21 +405,14 @@ static void open_file_device(DEVICE *dev, int mode) return; } + Dmsg1(100, "Call get_filename. Vol=%s\n", dev->VolCatInfo.VolCatName); get_filename(dev, dev->VolCatInfo.VolCatName, archive_name); Dmsg3(29, "open dev: %s dev=%s mode=%d\n", dev->is_dvd()?"DVD":"disk", archive_name.c_str(), mode); dev->openmode = mode; - if (mode == OPEN_READ_WRITE) { - dev->mode = O_CREAT | O_RDWR | O_BINARY; - } else if (mode == OPEN_READ_ONLY) { - dev->mode = O_RDONLY | O_BINARY; - } else if (mode == OPEN_WRITE_ONLY) { - dev->mode = O_WRONLY | O_BINARY; - } else { - Emsg0(M_ABORT, 0, _("Illegal mode given to open dev.\n")); - } + dev->set_mode(mode); /* If creating file, give 0640 permissions */ Dmsg3(29, "mode=%d open(%s, 0x%x, 0640)\n", mode, archive_name.c_str(), dev->mode); if ((dev->fd = open(archive_name.c_str(), dev->mode, 0640)) < 0) { @@ -467,6 +465,7 @@ static void open_dvd_device(DEVICE *dev, int mode) dev->num_parts = dev->VolCatInfo.VolCatParts; } + Dmsg1(100, "Call get_filename. Vol=%s\n", dev->VolCatInfo.VolCatName); get_filename(dev, dev->VolCatInfo.VolCatName, archive_name); if (mount_dev(dev, 1) < 0) { @@ -489,15 +488,7 @@ static void open_dvd_device(DEVICE *dev, int mode) mode = OPEN_READ_ONLY; } - if (mode == OPEN_READ_WRITE) { - dev->mode = O_CREAT | O_RDWR | O_BINARY; - } else if (mode == OPEN_READ_ONLY) { - dev->mode = O_RDONLY | O_BINARY; - } else if (mode == OPEN_WRITE_ONLY) { - dev->mode = O_WRONLY | O_BINARY; - } else { - Emsg0(M_ABORT, 0, _("Illegal mode given to open dev.\n")); - } + dev->set_mode(mode); /* If creating file, give 0640 permissions */ Dmsg3(29, "mode=%d open(%s, 0x%x, 0640)\n", mode, archive_name.c_str(), dev->mode); if ((dev->fd = open(archive_name.c_str(), dev->mode, 0640)) < 0) { @@ -524,9 +515,8 @@ static void open_dvd_device(DEVICE *dev, int mode) update_pos_dev(dev); /* update position */ } } - Dmsg5(29, "open dev: %s fd=%d opened, part=%d/%d, part_size=%u\n", - dev->is_dvd()?"DVD":"disk", dev->fd, dev->part, dev->num_parts, - dev->part_size); + Dmsg4(29, "open dev: DVD fd=%d opened, part=%d/%d, part_size=%u\n", + dev->fd, dev->part, dev->num_parts, dev->part_size); if (dev->is_open() && dev->is_dvd() && (mode != OPEN_READ_ONLY) && (dev->free_space_errno == 0 || dev->num_parts == dev->part)) { update_free_space_dev(dev); @@ -1589,9 +1579,11 @@ static void do_close(DEVICE *dev) struct stat statp; POOL_MEM archive_name(PM_FNAME); dev->part = dev->num_parts; + Dmsg1(100, "Call get_filename. Vol=%s\n", dev->VolCatInfo.VolCatName); get_filename(dev, dev->VolCatInfo.VolCatName, archive_name); /* Check that the part file is empty */ if ((stat(archive_name.c_str(), &statp) == 0) && (statp.st_size == 0)) { + Dmsg1(100, "unlink(%s)\n", archive_name.c_str()); unlink(archive_name.c_str()); } } diff --git a/bacula/src/stored/dev.h b/bacula/src/stored/dev.h index 3620632438..1d064ee144 100644 --- a/bacula/src/stored/dev.h +++ b/bacula/src/stored/dev.h @@ -312,10 +312,12 @@ public: void clear_mounted() { state &= ~ST_MOUNTED; }; void clear_media() { state &= ~ST_MEDIA; }; void clear_short_block() { state &= ~ST_SHORT; }; + void block(int why); /* in dev.c */ void unblock(); /* in dev.c */ void close(); /* in dev.c */ int open(char *VolName, int mode); /* in dev.c */ + void set_mode(int mode); /* in dev.c */ void set_blocked(int block) { dev_blocked = block; }; int get_blocked() const { return dev_blocked; }; diff --git a/bacula/src/stored/dvd.c b/bacula/src/stored/dvd.c index 24b3877625..466bf0716b 100644 --- a/bacula/src/stored/dvd.c +++ b/bacula/src/stored/dvd.c @@ -42,14 +42,17 @@ void get_filename(DEVICE *dev, char *VolumeName, POOL_MEM& archive_name) /* If we try to open the last part, just open it from disk, * otherwise, open it from the spooling directory. */ - Dmsg2(100, "part=%d num_parts=%d\n", dev->part, dev->num_parts); + Dmsg2(100, "DVD part=%d num_parts=%d\n", dev->part, dev->num_parts); if (dev->num_parts == 0 || dev->part < dev->num_parts) { + Dmsg1(100, "Arch = mount point: %s\n", dev->device->mount_point); pm_strcpy(archive_name, dev->device->mount_point); } else { /* Use the working directory if spool directory is not defined */ if (dev->device->spool_directory) { + Dmsg1(100, "Arch = spool: %s\n", dev->device->spool_directory); pm_strcpy(archive_name, dev->device->spool_directory); } else { + Dmsg1(100, "Arch = working: %s\n", working_directory); pm_strcpy(archive_name, working_directory); } } @@ -67,6 +70,7 @@ void get_filename(DEVICE *dev, char *VolumeName, POOL_MEM& archive_name) bsnprintf(partnumber, sizeof(partnumber), "%d", dev->part); pm_strcat(archive_name, partnumber); } + Dmsg1(100, "Exit get_filename: arch=%s\n", archive_name.c_str()); } /* Mount the device. @@ -119,7 +123,7 @@ static bool do_mount_dev(DEVICE* dev, int mount, int dotimeout) edit_device_codes_dev(dev, ocmd.c_str(), icmd); - Dmsg2(200, "do_mount_dev: cmd=%s mounted=%d\n", ocmd.c_str(), dev->is_mounted()); + Dmsg2(200, "do_mount_dev: cmd=%s mounted=%d\n", ocmd.c_str(), !!dev->is_mounted()); if (dotimeout) { /* Try at most 1 time to (un)mount the device. This should perhaps be configurable. */ @@ -153,7 +157,7 @@ static bool do_mount_dev(DEVICE* dev, int mount, int dotimeout) free_pool_memory(results); get_out: - Dmsg1(29, "Exit do_mount_dev: mounted=%d\n", dev->is_mounted()); + Dmsg1(29, "Exit do_mount_dev: mounted=%d\n", !!dev->is_mounted()); return true; } @@ -426,6 +430,7 @@ static int dvd_write_part(DEVICE *dev) } else { Dmsg1(29, "dvd_write_part: command output=%s\n", results); POOL_MEM archive_name(PM_FNAME); + Dmsg1(100, "Call get_filename. Vol=%s\n", dev->VolCatInfo.VolCatName); get_filename(dev, dev->VolCatInfo.VolCatName, archive_name); unlink(archive_name.c_str()); free_pool_memory(results); @@ -475,6 +480,7 @@ int open_next_part(DEVICE *dev) POOL_MEM archive_bkp_name(PM_FNAME); struct stat buf; + Dmsg1(100, "Call get_filename. Vol=%s\n", dev->VolCatInfo.VolCatName); get_filename(dev, dev->VolCatInfo.VolCatName, archive_name); /* Check if the next part exists. */ diff --git a/bacula/src/stored/record.c b/bacula/src/stored/record.c index 6b3d23dc12..1ed09332e8 100644 --- a/bacula/src/stored/record.c +++ b/bacula/src/stored/record.c @@ -2,29 +2,24 @@ * * record.c -- tape record handling functions * - * Kern Sibbald, April MMI - * added BB02 format October MMII + * Kern Sibbald, April MMI + * added BB02 format October MMII * * Version $Id$ * */ /* - Copyright (C) 2000-2004 Kern Sibbald and John Walker + Copyright (C) 2001-2005 Kern Sibbald This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. + modify it under the terms of the GNU General Public License + version 2 as ammended with additional clauses defined in the + file LICENSE in the main source directory. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program; if not, write to the Free - Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + the file LICENSE for additional details. */ @@ -178,13 +173,13 @@ void empty_record(DEV_RECORD *rec) */ void free_record(DEV_RECORD *rec) { - Dmsg0(350, "Enter free_record.\n"); + Dmsg0(950, "Enter free_record.\n"); if (rec->data) { free_pool_memory(rec->data); } - Dmsg0(350, "Data buf is freed.\n"); + Dmsg0(950, "Data buf is freed.\n"); free_pool_memory((POOLMEM *)rec); - Dmsg0(350, "Leave free_record.\n"); + Dmsg0(950, "Leave free_record.\n"); } @@ -192,7 +187,7 @@ void free_record(DEV_RECORD *rec) * Write a Record to the block * * Returns: false on failure (none or partially written) - * true on success (all bytes written) + * true on success (all bytes written) * * and remainder returned in packet. * @@ -226,32 +221,32 @@ bool write_record_to_block(DEV_BLOCK *block, DEV_RECORD *rec) if (rec->remainder == 0) { /* Require enough room to write a full header */ if (remlen >= WRITE_RECHDR_LENGTH) { - ser_begin(block->bufp, WRITE_RECHDR_LENGTH); - if (BLOCK_VER == 1) { - ser_uint32(rec->VolSessionId); - ser_uint32(rec->VolSessionTime); - } else { - block->VolSessionId = rec->VolSessionId; - block->VolSessionTime = rec->VolSessionTime; - } - ser_int32(rec->FileIndex); - ser_int32(rec->Stream); - ser_uint32(rec->data_len); - - block->bufp += WRITE_RECHDR_LENGTH; - block->binbuf += WRITE_RECHDR_LENGTH; - remlen -= WRITE_RECHDR_LENGTH; - rec->remainder = rec->data_len; - if (rec->FileIndex > 0) { - /* If data record, update what we have in this block */ - if (block->FirstIndex == 0) { - block->FirstIndex = rec->FileIndex; - } - block->LastIndex = rec->FileIndex; - } + ser_begin(block->bufp, WRITE_RECHDR_LENGTH); + if (BLOCK_VER == 1) { + ser_uint32(rec->VolSessionId); + ser_uint32(rec->VolSessionTime); + } else { + block->VolSessionId = rec->VolSessionId; + block->VolSessionTime = rec->VolSessionTime; + } + ser_int32(rec->FileIndex); + ser_int32(rec->Stream); + ser_uint32(rec->data_len); + + block->bufp += WRITE_RECHDR_LENGTH; + block->binbuf += WRITE_RECHDR_LENGTH; + remlen -= WRITE_RECHDR_LENGTH; + rec->remainder = rec->data_len; + if (rec->FileIndex > 0) { + /* If data record, update what we have in this block */ + if (block->FirstIndex == 0) { + block->FirstIndex = rec->FileIndex; + } + block->LastIndex = rec->FileIndex; + } } else { - rec->remainder = rec->data_len + WRITE_RECHDR_LENGTH; - return false; + rec->remainder = rec->data_len + WRITE_RECHDR_LENGTH; + return false; } } else { /* @@ -271,20 +266,20 @@ bool write_record_to_block(DEV_BLOCK *block, DEV_RECORD *rec) */ ser_begin(block->bufp, WRITE_RECHDR_LENGTH); if (BLOCK_VER == 1) { - ser_uint32(rec->VolSessionId); - ser_uint32(rec->VolSessionTime); + ser_uint32(rec->VolSessionId); + ser_uint32(rec->VolSessionTime); } else { - block->VolSessionId = rec->VolSessionId; - block->VolSessionTime = rec->VolSessionTime; + block->VolSessionId = rec->VolSessionId; + block->VolSessionTime = rec->VolSessionTime; } ser_int32(rec->FileIndex); if (rec->remainder > rec->data_len) { - ser_int32(rec->Stream); /* normal full header */ - ser_uint32(rec->data_len); - rec->remainder = rec->data_len; /* must still do data record */ + ser_int32(rec->Stream); /* normal full header */ + ser_uint32(rec->data_len); + rec->remainder = rec->data_len; /* must still do data record */ } else { - ser_int32(-rec->Stream); /* mark this as a continuation record */ - ser_uint32(rec->remainder); /* bytes to do */ + ser_int32(-rec->Stream); /* mark this as a continuation record */ + ser_uint32(rec->remainder); /* bytes to do */ } /* Require enough room to write a full header */ @@ -294,15 +289,15 @@ bool write_record_to_block(DEV_BLOCK *block, DEV_RECORD *rec) block->binbuf += WRITE_RECHDR_LENGTH; remlen -= WRITE_RECHDR_LENGTH; if (rec->FileIndex > 0) { - /* If data record, update what we have in this block */ - if (block->FirstIndex == 0) { - block->FirstIndex = rec->FileIndex; - } - block->LastIndex = rec->FileIndex; + /* If data record, update what we have in this block */ + if (block->FirstIndex == 0) { + block->FirstIndex = rec->FileIndex; + } + block->LastIndex = rec->FileIndex; } } if (remlen == 0) { - return false; /* partial transfer */ + return false; /* partial transfer */ } /* @@ -313,38 +308,38 @@ bool write_record_to_block(DEV_BLOCK *block, DEV_RECORD *rec) if (rec->remainder > 0) { /* Write as much of data as possible */ if (remlen >= rec->remainder) { - memcpy(block->bufp, rec->data+rec->data_len-rec->remainder, - rec->remainder); - block->bufp += rec->remainder; - block->binbuf += rec->remainder; + memcpy(block->bufp, rec->data+rec->data_len-rec->remainder, + rec->remainder); + block->bufp += rec->remainder; + block->binbuf += rec->remainder; } else { - memcpy(block->bufp, rec->data+rec->data_len-rec->remainder, - remlen); + memcpy(block->bufp, rec->data+rec->data_len-rec->remainder, + remlen); #ifdef xxxxxSMCHECK - if (!sm_check_rtn(__FILE__, __LINE__, False)) { - /* We damaged a buffer */ + if (!sm_check_rtn(__FILE__, __LINE__, False)) { + /* We damaged a buffer */ Dmsg6(0, "Damaged block FI=%s SessId=%d Strm=%s len=%d\n" "rem=%d remainder=%d\n", - FI_to_ascii(rec->FileIndex), rec->VolSessionId, - stream_to_ascii(rec->Stream, rec->FileIndex), rec->data_len, - remlen, rec->remainder); + FI_to_ascii(rec->FileIndex), rec->VolSessionId, + stream_to_ascii(rec->Stream, rec->FileIndex), rec->data_len, + remlen, rec->remainder); Dmsg5(0, "Damaged block: bufp=%x binbuf=%d buf_len=%d rem=%d moved=%d\n", - block->bufp, block->binbuf, block->buf_len, block->buf_len-block->binbuf, - remlen); + block->bufp, block->binbuf, block->buf_len, block->buf_len-block->binbuf, + remlen); Dmsg2(0, "Damaged block: buf=%x binbuffrombuf=%d \n", - block->buf, block->bufp-block->buf); + block->buf, block->bufp-block->buf); Emsg0(M_ABORT, 0, "Damaged buffer\n"); - } + } #endif - block->bufp += remlen; - block->binbuf += remlen; - rec->remainder -= remlen; - return false; /* did partial transfer */ + block->bufp += remlen; + block->binbuf += remlen; + rec->remainder -= remlen; + return false; /* did partial transfer */ } } - rec->remainder = 0; /* did whole transfer */ + rec->remainder = 0; /* did whole transfer */ return true; } @@ -353,7 +348,7 @@ bool write_record_to_block(DEV_BLOCK *block, DEV_RECORD *rec) * Test if we can write whole record to the block * * Returns: false on failure - * true on success (all bytes can be written) + * true on success (all bytes can be written) */ bool can_write_record_to_block(DEV_BLOCK *block, DEV_RECORD *rec) { @@ -362,10 +357,10 @@ bool can_write_record_to_block(DEV_BLOCK *block, DEV_RECORD *rec) remlen = block->buf_len - block->binbuf; if (rec->remainder == 0) { if (remlen >= WRITE_RECHDR_LENGTH) { - remlen -= WRITE_RECHDR_LENGTH; - rec->remainder = rec->data_len; + remlen -= WRITE_RECHDR_LENGTH; + rec->remainder = rec->data_len; } else { - return false; + return false; } } else { return false; @@ -380,10 +375,10 @@ bool can_write_record_to_block(DEV_BLOCK *block, DEV_RECORD *rec) /* * Read a Record from the block * Returns: false if nothing read or if the continuation record does not match. - * In both of these cases, a block read must be done. - * true if at least the record header was read, this - * routine may have to be called again with a new - * block if the entire record was not read. + * In both of these cases, a block read must be done. + * true if at least the record header was read, this + * routine may have to be called again with a new + * block if the entire record was not read. */ bool read_record_from_block(DEV_BLOCK *block, DEV_RECORD *rec) { @@ -412,7 +407,7 @@ bool read_record_from_block(DEV_BLOCK *block, DEV_RECORD *rec) * otherwise we find it in the next block. */ Dmsg3(450, "Block=%d Ver=%d size=%u\n", block->BlockNumber, block->BlockVer, - block->block_len); + block->block_len); if (block->BlockVer == 1) { rhl = RECHDR1_LENGTH; } else { @@ -420,15 +415,15 @@ bool read_record_from_block(DEV_BLOCK *block, DEV_RECORD *rec) } if (remlen >= rhl) { Dmsg4(450, "Enter read_record_block: remlen=%d data_len=%d rem=%d blkver=%d\n", - remlen, rec->data_len, rec->remainder, block->BlockVer); + remlen, rec->data_len, rec->remainder, block->BlockVer); unser_begin(block->bufp, WRITE_RECHDR_LENGTH); if (block->BlockVer == 1) { - unser_uint32(VolSessionId); - unser_uint32(VolSessionTime); + unser_uint32(VolSessionId); + unser_uint32(VolSessionTime); } else { - VolSessionId = block->VolSessionId; - VolSessionTime = block->VolSessionTime; + VolSessionId = block->VolSessionId; + VolSessionTime = block->VolSessionTime; } unser_int32(FileIndex); unser_int32(Stream); @@ -442,45 +437,45 @@ bool read_record_from_block(DEV_BLOCK *block, DEV_RECORD *rec) * where the VolSessionId and VolSessionTime don't agree */ if (rec->remainder && (rec->VolSessionId != VolSessionId || - rec->VolSessionTime != VolSessionTime)) { - rec->state |= REC_NO_MATCH; + rec->VolSessionTime != VolSessionTime)) { + rec->state |= REC_NO_MATCH; Dmsg0(450, "remainder and VolSession doesn't match\n"); - return false; /* This is from some other Session */ + return false; /* This is from some other Session */ } /* if Stream is negative, it means that this is a continuation * of a previous partially written record. */ - if (Stream < 0) { /* continuation record? */ + if (Stream < 0) { /* continuation record? */ Dmsg1(500, "Got negative Stream => continuation. remainder=%d\n", - rec->remainder); - rec->state |= REC_CONTINUATION; + rec->remainder); + rec->state |= REC_CONTINUATION; if (!rec->remainder) { /* if we didn't read previously */ - rec->data_len = 0; /* return data as if no continuation */ - } else if (rec->Stream != -Stream) { - rec->state |= REC_NO_MATCH; - return false; /* This is from some other Session */ - } - rec->Stream = -Stream; /* set correct Stream */ - } else { /* Regular record */ - rec->Stream = Stream; - rec->data_len = 0; /* transfer to beginning of data */ + rec->data_len = 0; /* return data as if no continuation */ + } else if (rec->Stream != -Stream) { + rec->state |= REC_NO_MATCH; + return false; /* This is from some other Session */ + } + rec->Stream = -Stream; /* set correct Stream */ + } else { /* Regular record */ + rec->Stream = Stream; + rec->data_len = 0; /* transfer to beginning of data */ } rec->VolSessionId = VolSessionId; rec->VolSessionTime = VolSessionTime; rec->FileIndex = FileIndex; if (FileIndex > 0) { - if (block->FirstIndex == 0) { - block->FirstIndex = FileIndex; - } - block->LastIndex = FileIndex; + if (block->FirstIndex == 0) { + block->FirstIndex = FileIndex; + } + block->LastIndex = FileIndex; } Dmsg6(450, "rd_rec_blk() got FI=%s SessId=%d Strm=%s len=%u\n" "remlen=%d data_len=%d\n", - FI_to_ascii(rec->FileIndex), rec->VolSessionId, - stream_to_ascii(rec->Stream, rec->FileIndex), data_bytes, remlen, - rec->data_len); + FI_to_ascii(rec->FileIndex), rec->VolSessionId, + stream_to_ascii(rec->Stream, rec->FileIndex), data_bytes, remlen, + rec->data_len); } else { /* * No more records in this block because the number @@ -492,11 +487,11 @@ bool read_record_from_block(DEV_BLOCK *block, DEV_RECORD *rec) */ Dmsg0(450, "read_record_block: nothing\n"); rec->state |= (REC_NO_HEADER | REC_BLOCK_EMPTY); - empty_block(block); /* mark block empty */ + empty_block(block); /* mark block empty */ return false; } - ASSERT(data_bytes < MAX_BLOCK_LENGTH); /* temp sanity check */ + ASSERT(data_bytes < MAX_BLOCK_LENGTH); /* temp sanity check */ rec->data = check_pool_memory_size(rec->data, rec->data_len+data_bytes); @@ -520,7 +515,7 @@ bool read_record_from_block(DEV_BLOCK *block, DEV_RECORD *rec) block->bufp += remlen; block->binbuf -= remlen; rec->data_len += remlen; - rec->remainder = 1; /* partial record transferred */ + rec->remainder = 1; /* partial record transferred */ Dmsg1(450, "read_record_block: partial xfered=%d\n", rec->data_len); rec->state |= (REC_PARTIAL_RECORD | REC_BLOCK_EMPTY); return 1; @@ -529,5 +524,5 @@ bool read_record_from_block(DEV_BLOCK *block, DEV_RECORD *rec) Dmsg4(450, "Rtn full rd_rec_blk FI=%s SessId=%d Strm=%s len=%d\n", FI_to_ascii(rec->FileIndex), rec->VolSessionId, stream_to_ascii(rec->Stream, rec->FileIndex), rec->data_len); - return true; /* transferred full record */ + return true; /* transferred full record */ } diff --git a/bacula/src/version.h b/bacula/src/version.h index cec8eccc95..063590e2a9 100644 --- a/bacula/src/version.h +++ b/bacula/src/version.h @@ -1,8 +1,8 @@ /* */ #undef VERSION #define VERSION "1.37.26" -#define BDATE "23 June 2005" -#define LSMDATE "23Jun05" +#define BDATE "26 June 2005" +#define LSMDATE "26Jun05" /* Debug flags */ #undef DEBUG