]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl update
authorEric Bollengier <eric@eb.homelinux.org>
Sun, 4 May 2008 20:18:15 +0000 (20:18 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Sun, 4 May 2008 20:18:15 +0000 (20:18 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6891 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/patches/testing/faketape.c
bacula/patches/testing/t.c

index 65792a985d0fedd1c448801cb90c2db087c5bb6d..962faf86bbb6cb17b81955ab1efb5384858b7ed1 100644 (file)
@@ -232,7 +232,7 @@ int faketape::tape_op(struct mtop *mt_com)
       atEOF = true;
       atEOD = true;
       close_file();
-      current_file = last_file;
+      current_file = last_file+1;
       current_block = -1;
       /* Ne pas creer le fichier si on est a la fin */
 
@@ -575,22 +575,21 @@ int faketape::fsr(int count)
 
    check_file();
 
+   /* check all block record */
    for(i=0; (i < count) && (where != -1) ; i++) {
-      Dmsg3(dbglevel,"  fsr ok count=%i i=%i where=%i\n", count, i, where);
-      nb = ::read(cur_fd, &size, sizeof(size));
+      nb = ::read(cur_fd, &size, sizeof(size));        /* get size of block */
       if (nb == sizeof(size)) {
-        where = lseek(cur_fd, size, SEEK_CUR);
+        current_block++;
+        where = lseek(cur_fd, size, SEEK_CUR); /* seek after this block */
         if (where == -1) {
            errno = EIO;
            return -1;
         }
-        current_block++;
       } else {
         errno = EIO;
         return -1;
       }
    }
-   Dmsg2(dbglevel,"  fsr ok i=%i where=%i\n", i, where);
    return 0;
 }
 
index 64b7f47761fb52c7cb1ccce3546090dacd7275b4..ca9c2cdf5885f98f5a092871867a385a9033262a 100644 (file)
@@ -45,6 +45,18 @@ int main()
    printf("write something (3 writes)\n");
    print_pos();
 
+   /* write EOF */
+   printf("WEOF\n");
+   mt_com.mt_op = MTWEOF;
+   mt_com.mt_count = 1;
+   r1 = ioctl(fd, MTIOCTOP, &mt_com);
+   print_pos();
+
+   /* write a second file */
+   write(fd, "abcdefghijklmnopqrstuvwyz", strlen("abcdefghijklmnopqrstuvwyz")+1);
+   printf("write something\n");
+   print_pos();
+
    /* rewind */
    mt_com.mt_count = 1;
    mt_com.mt_op = MTREW;
@@ -135,7 +147,12 @@ int main()
    r1 = ioctl(fd, MTIOCTOP, &mt_com);
    printf("goto eom\n");
    print_pos();
-   
+
+   /* write something */
+   printf("write something\n");
+   write(fd, "abcdefghijklmnopqrstuvwyz", strlen("abcdefghijklmnopqrstuvwyz")+1);
+   print_pos();
+
    close(fd);
    return(0);
 }