]> git.sur5r.net Git - bacula/bacula/commitdiff
- Fix seg fault in AlertCommand
authorKern Sibbald <kern@sibbald.com>
Wed, 29 Sep 2004 19:11:17 +0000 (19:11 +0000)
committerKern Sibbald <kern@sibbald.com>
Wed, 29 Sep 2004 19:11:17 +0000 (19:11 +0000)
- Fix btape test and fill commands to work with new SD
  data structures.  There are still problems ...

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1622 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/kernstodo
bacula/src/stored/acquire.c
bacula/src/stored/bacula-sd.conf.in
bacula/src/stored/block.c
bacula/src/stored/btape.c
bacula/src/stored/dev.c
bacula/src/stored/read_record.c
bacula/src/version.h

index fadf6e22a617baf7472577fbcb280fafac2c5a44..6fbd0bc14384d4bc9e559bcd3c88a222f92960a4 100644 (file)
@@ -15,6 +15,8 @@ Version 1.35                Kern (see below)
 - Doc to do unmount before removing magazine.
 - Detect fixed tape block mode during positioning by looking at
   block numbers in btape "test".  Possibly adjust in Bacula.
+- Fix possible bug in update volumefrompool (email 9/28 from
+  jesk@killall.org
 
 - Document a get out of jail procedure if everything breaks if 
   you lost/broke the Catalog -- do the same for "I know my
@@ -1360,4 +1362,3 @@ Block Position: 0
 - 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.
-
index 70e69964a9316677783c2d2bf353b3ebff83c345..f7905d8a8304b0bd10e7b59a70acfeb32d0819ef 100644 (file)
@@ -436,9 +436,9 @@ bool release_device(JCR *jcr)
         status = errno;
       }
       if (status != 0) {
-        berrno be(status);
+        berrno be;
          Jmsg(jcr, M_INFO, 0, _("3997 Bad alert command: %s: ERR=%s.\n"),
-             alert, be.strerror());
+             alert, be.strerror(status));
       }
 
       Dmsg1(400, "alert status=%d\n", status);
index 43482b447ed22510b9f69040e2bc74f512997a6f..1ad91aed555d0f388d4d4db14bfa30728fe30910 100644 (file)
@@ -67,7 +67,7 @@ Device {
 ## Changer Command = "@scriptdir@/mtx-changer %c %o %S %a %d"
 ## Changer Device = /dev/sg0
 ## AutoChanger = yes
-## Alert Command = "sh -c 'tapeinfo -f %c | grep TapeAlert'"
+## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
 #}
 
 #
index 37d4b7e813a9a28656eb937e9c6690ae677298bf..1c73dc47d536724f641ba879dde59cff436b7dfd 100644 (file)
@@ -119,7 +119,7 @@ DEV_BLOCK *new_block(DEVICE *dev)
    block->buf = get_memory(block->buf_len); 
    empty_block(block);
    block->BlockVer = BLOCK_VER;       /* default write version */
-   Dmsg1(90, "Returning new block=%x\n", block);
+   Dmsg1(350, "Returning new block=%x\n", block);
    return block;
 }
 
@@ -721,11 +721,11 @@ bool read_block_from_device(DCR *dcr, bool check_block_numbers)
 {
    bool stat;
    DEVICE *dev = dcr->dev;
-   Dmsg0(90, "Enter read_block_from_device\n");
+   Dmsg0(200, "Enter read_block_from_device\n");
    lock_device(dev);
    stat = read_block_from_dev(dcr, check_block_numbers);
    unlock_device(dev);
-   Dmsg0(90, "Leave read_block_from_device\n");
+   Dmsg0(200, "Leave read_block_from_device\n");
    return stat;
 }
 
@@ -748,7 +748,7 @@ bool read_block_from_dev(DCR *dcr, bool check_block_numbers)
       return false;
    }
    looping = 0;
-   Dmsg1(100, "Full read() in read_block_from_device() len=%d\n",
+   Dmsg1(200, "Full read() in read_block_from_device() len=%d\n",
         block->buf_len);
 reread:
    if (looping > 1) {
@@ -776,7 +776,7 @@ reread:
    if (stat < 0) {
       berrno be;
       clrerror_dev(dev, -1);
-      Dmsg1(90, "Read device got: ERR=%s\n", be.strerror());
+      Dmsg1(200, "Read device got: ERR=%s\n", be.strerror());
       block->read_len = 0;
       Mmsg4(dev->errmsg, _("Read error at file:blk %u:%u on device %s. ERR=%s.\n"), 
         dev->file, dev->block_num, dev->dev_name, be.strerror());
@@ -786,7 +786,7 @@ reread:
       }
       return false;
    }
-   Dmsg1(90, "Read device got %d bytes\n", stat);
+   Dmsg1(200, "Read device got %d bytes\n", stat);
    if (stat == 0) {            /* Got EOF ! */
       dev->block_num = block->read_len = 0;
       Mmsg3(dev->errmsg, _("Read zero bytes at %u:%u on device %s.\n"), 
@@ -836,7 +836,7 @@ reread:
       Pmsg1(000, "%s", dev->errmsg);
       /* Attempt to reposition to re-read the block */
       if (dev->state & ST_TAPE) {
-         Dmsg0(100, "Backspace record for reread.\n");
+         Dmsg0(200, "BSR for reread; block too big for buffer.\n");
         if (!bsr_dev(dev, 1)) {
             Jmsg(jcr, M_ERROR, 0, "%s", strerror_dev(dev));
            block->read_len = 0;
index 89f253d8484bc1ee8fadef22e04518dc8ea31a51..526a778208841e5f60c587c82153892be74af25d 100644 (file)
@@ -1105,9 +1105,8 @@ try_again:
       loaded = atoi(results);
    } else {
       berrno be;
-      be.set_errno(status);
       Pmsg1(-1, _("3991 Bad autochanger command: %s\n"), changer);
-      Pmsg2(-1, _("3991 result=\"%s\": ERR=%s\n"), results, be.strerror());
+      Pmsg2(-1, _("3991 result=\"%s\": ERR=%s\n"), results, be.strerror(status));
       goto bail_out;
    }
    if (loaded) {
@@ -1129,9 +1128,8 @@ try_again:
       Pmsg2(-1, "unload status=%s %d\n", status==0?"OK":"Bad", status);
       if (status != 0) {
         berrno be;
-        be.set_errno(status);
          Pmsg1(-1, _("3992 Bad autochanger command: %s\n"), changer);
-         Pmsg2(-1, _("3992 result=\"%s\": ERR=%s\n"), results, be.strerror());
+         Pmsg2(-1, _("3992 result=\"%s\": ERR=%s\n"), results, be.strerror(status));
       }
    }
 
@@ -1152,9 +1150,8 @@ try_again:
         slot, dev->drive_index);
    } else {
       berrno be;
-      be.set_errno(status);
       Pmsg1(-1, _("3993 Bad autochanger command: %s\n"), changer);
-      Pmsg2(-1, _("3993 result=\"%s\": ERR=%s\n"), results, be.strerror());
+      Pmsg2(-1, _("3993 result=\"%s\": ERR=%s\n"), results, be.strerror(status));
       goto bail_out;
    }
 
@@ -1514,8 +1511,9 @@ static void rrcmd()
    if (stat > 0 && stat <= len) {
       errno = 0;
    }
+   berrno be;
    Pmsg3(0, _("Read of %d bytes gives stat=%d. ERR=%s\n"),
-      len, stat, strerror(errno));
+      len, stat, be.strerror());
    free(buf);
 }
 
@@ -1545,9 +1543,10 @@ static void scancmd()
    Pmsg1(0, _("Starting scan at file %u\n"), dev->file);
    for (;;) {
       if ((stat = read(dev->fd, buf, sizeof(buf))) < 0) {
+        berrno be;
         clrerror_dev(dev, -1);
          Mmsg2(dev->errmsg, "read error on %s. ERR=%s.\n",
-           dev->dev_name, strerror(dev->dev_errno));
+           dev->dev_name, be.strerror());
          Pmsg2(0, "Bad status from read %d. ERR=%s\n", stat, strerror_dev(dev));
         if (blocks > 0)
             printf("%d block%s of %d bytes in file %d\n",        
@@ -1750,6 +1749,10 @@ This may take a long time -- hours! ...\n\n");
    dev->min_block_size = dev->max_block_size;
    set_volume_name("TestVolume1", 1);
 
+   rewind_dev(dev);
+   weof_dev(dev, 1);
+   dev->state &= ~ST_APPEND;         /* force volume to be relabeled */
+
    /* 
     * Acquire output device for writing.  Note, after acquiring a
     *  device, we MUST release it, which is done at the end of this
@@ -1772,7 +1775,7 @@ This may take a long time -- hours! ...\n\n");
         strerror_dev(dev));
       ok = false;
    }
-   Pmsg0(-1, "Wrote Start Of Session label.\n");
+   Pmsg0(-1, "Wrote Start of Session label.\n");
 
    memset(&rec, 0, sizeof(rec));
    rec.data = get_memory(100000);     /* max record size */
@@ -1892,7 +1895,7 @@ This may take a long time -- hours! ...\n\n");
          Pmsg0(-1, _("Set ok=false after write_block_to_device.\n"));
         ok = false;
       }
-      Pmsg0(-1, _("Wrote End Of Session label.\n"));
+      Pmsg0(-1, _("Wrote End of Session label.\n"));
 
       /* Save last block info for second tape */
       last_block_num2 = last_block_num;
@@ -1919,18 +1922,20 @@ This may take a long time -- hours! ...\n\n");
       Pmsg2(-1, "Wrote state file last_block_num1=%d last_block_num2=%d\n",
         last_block_num1, last_block_num2);
    } else {
+      berrno be;
       Pmsg2(-1, _("Could not create state file: %s ERR=%s\n"), buf,
-                strerror(errno));
+                be.strerror());
    }
 
-   /* Release the device if multiple tapes being used */
-   if (!simple && !release_device(jcr)) {
-      Pmsg0(-1, _("Error in release_device\n"));
-      ok = false;
-   }
+   Pmsg4(-1, _("\n\nDone filling tape%s at %d:%d. Now beginning re-read of %stape ...\n"),
+      simple?"":"s", jcr->dcr->dev->file, jcr->dcr->dev->block_num, simple?"":"first ");
 
-   Pmsg2(-1, _("\n\nDone filling tape%s. Now beginning re-read of %stape ...\n"),
-      simple?"":"s", simple?"":"first ");
+   jcr->dcr->block = block;
+   /* Release the device if multiple tapes being used */
+// if (!simple && !release_device(jcr)) {
+//    Pmsg0(-1, _("Error in release_device\n"));
+//    ok = false;
+// }
 
    do_unfill();
 
@@ -1971,8 +1976,9 @@ static void unfillcmd()
          return;
        }
    } else {
+      berrno be;
       Pmsg2(-1, "\nCould not find the state file: %s ERR=%s\n"
-             "You must redo the fill command.\n", buf, strerror(errno));
+             "You must redo the fill command.\n", buf, be.strerror());
       return;
    }
    do_unfill();
@@ -2021,7 +2027,8 @@ static void do_unfill()
       jcr->bsr = NULL;
       create_vol_list(jcr);
       close_dev(dev);
-      dev->state &= ~ST_READ;
+      dev->state &= ~(ST_READ|ST_APPEND);
+      dev->num_writers = 0;
       if (!acquire_device_for_read(jcr)) {
          Pmsg1(-1, "%s", dev->errmsg);
         goto bail_out;
@@ -2032,14 +2039,18 @@ static void do_unfill()
     * Note, re-reading last block may have caused us to 
     *  loose track of where we are (block number unknown).
     */
-   rewind_dev(dev);                  /* get to a known place on tape */
+   if (!rewind_dev(dev)) {               /* get to a known place on tape */
+      goto bail_out;
+   }
    /* Read the first 1000 records */
    Pmsg0(-1, _("Reading the first 1000 records.\n"));
+   quickie_count = 0;
    read_records(dcr, quickie_cb, my_mount_next_read_volume);
    Pmsg4(-1, _("Reposition from %u:%u to %u:%u\n"), dev->file, dev->block_num,
         last_file, last_block_num);
    if (!reposition_dev(dev, last_file, last_block_num)) {
       Pmsg1(-1, "Reposition error. ERR=%s\n", strerror_dev(dev));
+      goto bail_out;
    }
    Pmsg1(-1, _("Reading block %u.\n"), last_block_num);
    if (!read_block_from_device(dcr, NO_BLOCK_NUMBER_CHECK)) {
@@ -2126,8 +2137,17 @@ bail_out:
 /* Read 1000 records then stop */
 static bool quickie_cb(DCR *dcr, DEV_RECORD *rec)
 {
+   DEVICE *dev = dcr->dev;
+   if (dev->file != 0) {
+      Pmsg3(-1, "ERROR! device at %d:%d count=%d\n", dev->file, dev->block_num,
+        quickie_count);
+      return false;
+   }
    quickie_count++;
-   return quickie_count <= 1000;
+   if (quickie_count == 1000) {
+      Pmsg2(-1, "1000 records read now at %d:%d\n", dev->file, dev->block_num);
+   }
+   return quickie_count < 1000;
 }
 
 static bool compare_blocks(DEV_BLOCK *last_block, DEV_BLOCK *block) 
@@ -2177,10 +2197,10 @@ static bool compare_blocks(DEV_BLOCK *last_block, DEV_BLOCK *block)
 static int flush_block(DEV_BLOCK *block, int dump)
 {
    char ec1[50];
-   lock_device(dev);
    DEV_BLOCK *tblock;
    uint32_t this_file, this_block_num;
 
+   lock_device(dev);
    if (!this_block) {
       this_block = new_block(dev);
    }
@@ -2224,7 +2244,8 @@ static int flush_block(DEV_BLOCK *block, int dump)
       }
       kbs = (double)dev->VolCatInfo.VolCatBytes / (1000 * now);
       vol_size = dev->VolCatInfo.VolCatBytes;
-      Pmsg2(000, "End of tape. VolumeCapacity=%s. Write rate = %.1f KB/s\n", 
+      Pmsg4(000, "End of tape %d:%d. VolumeCapacity=%s. Write rate = %.1f KB/s\n", 
+        dev->file, dev->block_num,
         edit_uint64_with_commas(dev->VolCatInfo.VolCatBytes, ec1), kbs);
 
       if (simple) {
@@ -2247,7 +2268,8 @@ static int flush_block(DEV_BLOCK *block, int dump)
    memcpy(this_block->buf, block->buf, this_block->buf_len);
 
    /*
-    * Toggle between two allocated blocks for efficiency.
+    * Note, we always read/write to block, but we toggle
+    *  copying it to one or another of two allocated blocks.
     * Switch blocks so that the block just successfully written is
     *  always in last_block. 
     */
@@ -2360,8 +2382,9 @@ static void rawfill_cmd()
    }
    my_errno = errno;
    printf("\n");
+   berrno be;
    printf("Write failed at block %u. stat=%d ERR=%s\n", block_num, stat,
-      strerror(my_errno));
+      be.strerror(my_errno));
    weofcmd();
 }
 
index 79b3fc3ad426b9257206a45db6b6992eb351b631..b4f8639480d988f84a515da24fb55a08236a7d71 100644 (file)
@@ -373,7 +373,7 @@ bool rewind_dev(DEVICE *dev)
       dev->dev_errno = EBADF;
       Mmsg1(&dev->errmsg, _("Bad call to rewind_dev. Device %s not open\n"),
            dev->dev_name);
-      Emsg0(M_FATAL, 0, dev->errmsg);
+      Emsg0(M_ABORT, 0, dev->errmsg);
       return false;
    }
    dev->state &= ~(ST_EOT|ST_EOF|ST_WEOT);  /* remove EOF/EOT flags */
@@ -1006,7 +1006,7 @@ fsr_dev(DEVICE *dev, int num)
       return false;
    }
 
-   Dmsg0(29, "fsr_dev\n");
+   Dmsg1(29, "fsr_dev %d\n", num);
    mt_com.mt_op = MTFSR;
    mt_com.mt_count = num;
    stat = ioctl(dev->fd, MTIOCTOP, (char *)&mt_com);
@@ -1016,6 +1016,8 @@ fsr_dev(DEVICE *dev, int num)
    } else {
       berrno be;
       struct mtget mt_stat;
+      clrerror_dev(dev, MTFSR);
+      Dmsg1(100, "FSF fail: ERR=%s\n", be.strerror());
       if (ioctl(dev->fd, MTIOCGET, (char *)&mt_stat) == 0 && mt_stat.mt_fileno >= 0) {
          Dmsg4(100, "Adjust from %d:%d to %d:%d\n", dev->file, 
            dev->block_num, mt_stat.mt_fileno, mt_stat.mt_blkno);
@@ -1031,7 +1033,6 @@ fsr_dev(DEVICE *dev, int num)
            dev->file_addr = 0;
         }
       }
-      clrerror_dev(dev, MTFSR);
       Mmsg2(dev->errmsg, _("ioctl MTFSR error on %s. ERR=%s.\n"),
         dev->dev_name, be.strerror(dev->dev_errno));
    }
index 88f63f729b70e7b5060d0d9b6751dadbd19f43b1..827d9e44aa71d5c3722874503d71c7806b5bbda5 100644 (file)
@@ -102,7 +102,7 @@ bool read_records(DCR *dcr,
                Jmsg(jcr, M_INFO, 0, "Got EOF at file %u  on device %s, Volume \"%s\"\n", 
                  dev->file, dev_name(dev), dcr->VolumeName);
            }
-            Dmsg3(100, "Got EOF at file %u  on device %s, Volume \"%s\"\n", 
+            Dmsg3(200, "Got EOF at file %u  on device %s, Volume \"%s\"\n", 
                  dev->file, dev_name(dev), dcr->VolumeName);
            continue;
         } else if (dev_state(dev, ST_SHORT)) {
@@ -120,7 +120,7 @@ bool read_records(DCR *dcr,
            break;
         }
       }
-      Dmsg2(100, "New block at position=(file:block) %d:%d\n", dev->file, dev->block_num);
+      Dmsg2(300, "New block at position=(file:block) %d:%d\n", dev->file, dev->block_num);
 #ifdef if_and_when_FAST_BLOCK_REJECTION_is_working
       /* this does not stop when file/block are too big */
       if (!match_bsr_block(jcr->bsr, block)) {
@@ -146,7 +146,7 @@ bool read_records(DCR *dcr,
       if (!found) {
         rec = new_record();
         recs->prepend(rec);
-         Dmsg2(100, "New record for SI=%d ST=%d\n",
+         Dmsg2(300, "New record for SI=%d ST=%d\n",
             block->VolSessionId, block->VolSessionTime);
       } else {
 #ifdef xxx
@@ -156,18 +156,18 @@ bool read_records(DCR *dcr,
         }
 #endif 
       }
-      Dmsg3(100, "After mount next vol. stat=%s blk=%d rem=%d\n", rec_state_to_str(rec), 
+      Dmsg3(300, "After mount next vol. stat=%s blk=%d rem=%d\n", rec_state_to_str(rec), 
            block->BlockNumber, rec->remainder);
       record = 0;
       rec->state = 0;
-      Dmsg1(100, "Block empty %d\n", is_block_empty(rec));
+      Dmsg1(300, "Block empty %d\n", is_block_empty(rec));
       for (rec->state=0; !is_block_empty(rec); ) {
         if (!read_record_from_block(block, rec)) {
-            Dmsg3(100, "!read-break. state=%s blk=%d rem=%d\n", rec_state_to_str(rec), 
+            Dmsg3(400, "!read-break. state=%s blk=%d rem=%d\n", rec_state_to_str(rec), 
                  block->BlockNumber, rec->remainder);
            break;
         }
-         Dmsg5(100, "read-OK. state=%s blk=%d rem=%d file:block=%d:%d\n", 
+         Dmsg5(300, "read-OK. state=%s blk=%d rem=%d file:block=%d:%d\n", 
                 rec_state_to_str(rec), block->BlockNumber, rec->remainder,
                 dev->file, dev->block_num);
         /*
@@ -177,7 +177,7 @@ bool read_records(DCR *dcr,
          *  get all the data.
          */
         record++;
-         Dmsg6(100, "recno=%d state=%s blk=%d SI=%d ST=%d FI=%d\n", record,
+         Dmsg6(300, "recno=%d state=%s blk=%d SI=%d ST=%d FI=%d\n", record,
            rec_state_to_str(rec), block->BlockNumber,
            rec->VolSessionId, rec->VolSessionTime, rec->FileIndex);
 
@@ -191,7 +191,7 @@ bool read_records(DCR *dcr,
            handle_session_record(dev, rec, &sessrec);
            ok = record_cb(dcr, rec);
            if (rec->FileIndex == EOS_LABEL) {
-               Dmsg2(100, "Remove rec. SI=%d ST=%d\n", rec->VolSessionId,
+               Dmsg2(300, "Remove rec. SI=%d ST=%d\n", rec->VolSessionId,
                  rec->VolSessionTime);
               recs->remove(rec);
               free_record(rec);
@@ -206,10 +206,10 @@ bool read_records(DCR *dcr,
            int stat = match_bsr(jcr->bsr, rec, &dev->VolHdr, &sessrec);
            if (stat == -1) { /* no more possible matches */
               done = true;   /* all items found, stop */
-               Dmsg2(100, "All done=(file:block) %d:%d\n", dev->file, dev->block_num);
+               Dmsg2(300, "All done=(file:block) %d:%d\n", dev->file, dev->block_num);
               break;
            } else if (stat == 0) {  /* no match */
-               Dmsg4(100, "Clear rem=%d FI=%d before set_eof pos %d:%d\n", 
+               Dmsg4(300, "Clear rem=%d FI=%d before set_eof pos %d:%d\n", 
                  rec->remainder, rec->FileIndex, dev->file, dev->block_num);
               rec->remainder = 0;
               rec->state &= ~REC_PARTIAL_RECORD;
@@ -220,26 +220,26 @@ bool read_records(DCR *dcr,
            }
         }
         if (is_partial_record(rec)) {
-            Dmsg6(100, "Partial, break. recno=%d state=%s blk=%d SI=%d ST=%d FI=%d\n", record,
+            Dmsg6(300, "Partial, break. recno=%d state=%s blk=%d SI=%d ST=%d FI=%d\n", record,
               rec_state_to_str(rec), block->BlockNumber,
               rec->VolSessionId, rec->VolSessionTime, rec->FileIndex);
            break;                    /* read second part of record */
         }
         ok = record_cb(dcr, rec);
         if (rec->Stream == STREAM_MD5_SIGNATURE || rec->Stream == STREAM_SHA1_SIGNATURE) {
-            Dmsg3(100, "Done FI=%d before set_eof pos %d:%d\n", rec->FileIndex,
+            Dmsg3(300, "Done FI=%d before set_eof pos %d:%d\n", rec->FileIndex,
                  dev->file, dev->block_num);
            if (match_set_eof(jcr->bsr, rec) && try_repositioning(jcr, rec, dev)) {
-               Dmsg2(100, "Break after match_set_eof pos %d:%d\n",
+               Dmsg2(300, "Break after match_set_eof pos %d:%d\n",
                     dev->file, dev->block_num);
               break;
            }
-            Dmsg2(100, "After set_eof pos %d:%d\n", dev->file, dev->block_num);
+            Dmsg2(300, "After set_eof pos %d:%d\n", dev->file, dev->block_num);
         }
       } /* end for loop over records */
-      Dmsg2(100, "After end records position=(file:block) %d:%d\n", dev->file, dev->block_num);
+      Dmsg2(300, "After end records position=(file:block) %d:%d\n", dev->file, dev->block_num);
    } /* end for loop over blocks */
-// Dmsg2(100, "Position=(file:block) %d:%d\n", dev->file, dev->block_num);
+// Dmsg2(300, "Position=(file:block) %d:%d\n", dev->file, dev->block_num);
 
    /* Walk down list and free all remaining allocated recs */
    while (!recs->empty()) {
@@ -262,8 +262,8 @@ static int try_repositioning(JCR *jcr, DEV_RECORD *rec, DEVICE *dev)
    BSR *bsr;
    bsr = find_next_bsr(jcr->bsr, dev);
    if (bsr == NULL && jcr->bsr->mount_next_volume) {
-      Dmsg0(100, "Would mount next volume here\n");
-      Dmsg2(100, "Current postion (file:block) %d:%d\n",
+      Dmsg0(300, "Would mount next volume here\n");
+      Dmsg2(300, "Current postion (file:block) %d:%d\n",
         dev->file, dev->block_num);
       jcr->bsr->mount_next_volume = false;
       dev->state |= ST_EOT;
@@ -276,7 +276,7 @@ static int try_repositioning(JCR *jcr, DEV_RECORD *rec, DEVICE *dev)
            dev->file, dev->block_num, bsr->volfile->sfile,
            bsr->volblock->sblock);
       }
-      Dmsg4(100, "Try_Reposition from (file:block) %d:%d to %d:%d\n",
+      Dmsg4(300, "Try_Reposition from (file:block) %d:%d to %d:%d\n",
            dev->file, dev->block_num, bsr->volfile->sfile,
            bsr->volblock->sblock);
       reposition_dev(dev, bsr->volfile->sfile, bsr->volblock->sblock);
@@ -301,7 +301,7 @@ static BSR *position_to_first_file(JCR *jcr, DEVICE *dev)
       if (bsr && (bsr->volfile->sfile != 0 || bsr->volblock->sblock != 0)) {
          Jmsg(jcr, M_INFO, 0, _("Forward spacing to file:block %u:%u.\n"), 
            bsr->volfile->sfile, bsr->volblock->sblock);
-         Dmsg2(100, "Forward spacing to file:block %u:%u.\n", 
+         Dmsg2(300, "Forward spacing to file:block %u:%u.\n", 
            bsr->volfile->sfile, bsr->volblock->sblock);
         reposition_dev(dev, bsr->volfile->sfile, bsr->volblock->sblock);
       }
@@ -339,7 +339,7 @@ static void handle_session_record(DEVICE *dev, DEV_RECORD *rec, SESSION_LABEL *s
       rtype = buf;
       break;
    }
-   Dmsg5(100, "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n",
+   Dmsg5(300, "%s Record: VolSessionId=%d VolSessionTime=%d JobId=%d DataLen=%d\n",
         rtype, rec->VolSessionId, rec->VolSessionTime, rec->Stream, rec->data_len);
 }
 
index 0753d865a5c2688ca5f98ea75eb715da1c19213b..22e3efa73765c27a8a57db8abf5b0ac4af5fdae4 100644 (file)
@@ -1,8 +1,8 @@
 /* */
 #undef  VERSION
 #define VERSION "1.35.5"
-#define BDATE   "26 September 2004"
-#define LSMDATE "26Sep04"
+#define BDATE   "29 September 2004"
+#define LSMDATE "29Sep04"
 
 /* Debug flags */
 #undef  DEBUG