]> git.sur5r.net Git - bacula/bacula/commitdiff
Create mode set method add debug output for DVD
authorKern Sibbald <kern@sibbald.com>
Sun, 26 Jun 2005 09:37:32 +0000 (09:37 +0000)
committerKern Sibbald <kern@sibbald.com>
Sun, 26 Jun 2005 09:37:32 +0000 (09:37 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@2164 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/stored/block.c
bacula/src/stored/dev.c
bacula/src/stored/dev.h
bacula/src/stored/dvd.c
bacula/src/stored/record.c
bacula/src/version.h

index 01d39324260d5f9ce7c030121c343c604a985210..e9528d43e3a542c5bac54882eb1f9090ddd8d116 100644 (file)
@@ -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);
 }
 
index 230559839142f4b8a5428fa2f39ffec221b0d79a..a28a0a2edcd60da181539fd557e139264907c671 100644 (file)
@@ -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());
       }
    }
index 362063243863a565117bcd2e90526cbf9d793bc5..1d064ee1449137b30fca6de2a1635b220b0c4431 100644 (file)
@@ -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; };
index 24b387762512600131a054fd3e6e5d1343389443..466bf0716b782ac372b19ab75f585ecec4d03604 100644 (file)
@@ -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. */
index 6b3d23dc1207e6a9d46c53c350ba064e4e9564f9..1ed09332e8cf240a4628946f603064d61aa0d715 100644 (file)
@@ -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 */
 }
index cec8eccc958d048319a37dd4504ac7237c622b67..063590e2a95ddc37e17cef65e0308d9758147e99 100644 (file)
@@ -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