I’m currently working with a LTO Tape drive (LTO 3 to be more specific) and I’m looking for some explanation of the block sizes.
As I know, there are two supported modes:
0 for a variable block size and any other value for a fixed one.
Now to my part:
What does this even mean, a variable block size? Am I supposed to write in any multiple of 265 and than forced to use the same size to read again, so my application is choosing the block size? So I have to fill up the blocks by my self, when my data is too short?
And what about fixed ones?
If I’ve got a size of 265, do I get a exception writing something smaller than that or is the driver filling up the block automatically? Am I supposed to read the whole block (the 265 bytes) or am I able to read just what I need?
Variable block size: It means the block size written on the tape can be changed by applications.
tar -boption is an example. When you read data from the tape, you must specify the same block size as the one you used in write. Otherwise, tape drive may not return your data.
Fixed block size: The tape drive uses the block size specified in device configuration. You must use a multiple of this fixed block size when writing and reading. Even in this mode, when you read data from tape, you still need to use the same block size that is used for write.