This output is a Bacula btape test of the library mentioned in this post.
$ sudo btape -c /usr/local/etc/bacula/bacula-sd.conf /dev/nsa0 Tape block granularity is 1024 bytes. btape: butil.c:290 Using device: "/dev/nsa0" for writing. btape: btape.c:477 open device "DTL03" (/dev/nsa0): OK *test === Write, rewind, and re-read test === I'm going to write 10000 records and an EOF then write 10000 records and an EOF, then rewind, and re-read the data to verify that it is correct. This is an *essential* feature ... btape: btape.c:1157 Wrote 10000 blocks of 64412 bytes. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:1173 Wrote 10000 blocks of 64412 bytes. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:1215 Rewind OK. 10000 blocks re-read correctly. Got EOF on tape. 10000 blocks re-read correctly. === Test Succeeded. End Write, rewind, and re-read test === btape: btape.c:1283 Block position test btape: btape.c:1295 Rewind OK. Reposition to file:block 0:4 Block 5 re-read correctly. Reposition to file:block 0:200 Block 201 re-read correctly. Reposition to file:block 0:9999 Block 10000 re-read correctly. Reposition to file:block 1:0 Block 10001 re-read correctly. Reposition to file:block 1:600 Block 10601 re-read correctly. Reposition to file:block 1:9999 Block 20000 re-read correctly. === Test Succeeded. End Write, rewind, and re-read test === === Append files test === This test is essential to Bacula. I'm going to write one record in file 0, two records in file 1, and three records in file 2 btape: btape.c:579 Rewound "DTL03" (/dev/nsa0) btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:477 open device "DTL03" (/dev/nsa0): OK btape: btape.c:579 Rewound "DTL03" (/dev/nsa0) btape: btape.c:1427 Now moving to end of medium. btape: btape.c:630 Moved to end of medium. We should be in file 3. I am at file 3. This is correct! Now the important part, I am going to attempt to append to the tape. btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:579 Rewound "DTL03" (/dev/nsa0) Done appending, there should be no I/O errors Doing Bacula scan of blocks: 1 block of 64448 bytes in file 1 End of File mark. 2 blocks of 64448 bytes in file 2 End of File mark. 3 blocks of 64448 bytes in file 3 End of File mark. 1 block of 64448 bytes in file 4 End of File mark. Total files=4, blocks=7, bytes = 451,136 End scanning the tape. We should be in file 4. I am at file 4. This is correct! The above Bacula scan should have output identical to what follows. Please double check it ... === Sample correct output === 1 block of 64448 bytes in file 1 End of File mark. 2 blocks of 64448 bytes in file 2 End of File mark. 3 blocks of 64448 bytes in file 3 End of File mark. 1 block of 64448 bytes in file 4 End of File mark. Total files=4, blocks=7, bytes = 451,136 === End sample correct output === If the above scan output is not identical to the sample output, you MUST correct the problem or Bacula will not be able to write multiple Jobs to the tape. Skipping read backwards test because BSR turned off. === Forward space files test === This test is essential to Bacula. I'm going to write five files then test forward spacing btape: btape.c:579 Rewound "DTL03" (/dev/nsa0) btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:1914 Wrote one record of 64412 bytes. btape: btape.c:1916 Wrote block to device. btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:609 Wrote 1 EOF to "DTL03" (/dev/nsa0) btape: btape.c:579 Rewound "DTL03" (/dev/nsa0) btape: btape.c:1641 Now forward spacing 1 file. We should be in file 1. I am at file 1. This is correct! btape: btape.c:1653 Now forward spacing 2 files. We should be in file 3. I am at file 3. This is correct! btape: btape.c:579 Rewound "DTL03" (/dev/nsa0) btape: btape.c:1666 Now forward spacing 4 files. We should be in file 4. I am at file 4. This is correct! btape: btape.c:1684 Now forward spacing 1 more file. We should be in file 5. I am at file 5. This is correct! === End Forward space files test === Ah, I see you have an autochanger configured. To test the autochanger you must have a blank tape that I can write on in Slot 1. Do you wish to continue with the Autochanger test? (y/n): y === Autochanger test === 3301 Issuing autochanger "loaded" command. Slot 1 loaded. I am going to unload it. 3302 Issuing autochanger "unload 1 0" command. unload status=OK 0 3303 Issuing autochanger "load 1 0" command. 3303 Autochanger "load 1 0" status is OK. btape: btape.c:477 open device "DTL03" (/dev/nsa0): OK btape: btape.c:1571 Rewound "DTL03" (/dev/nsa0) btape: btape.c:1578 Wrote EOF to "DTL03" (/dev/nsa0) The test autochanger worked!! *quit btape: smartall.c:404 Orphaned buffer: btape 280 bytes at 802c5e928 from jcr.c:362 $