[Stgt-devel] Thoughts on vtl filemarks

Albert Pauw albert.pauw
Fri Jul 18 19:52:36 CEST 2008

Just a few thoughts on the vtl stuff.

Filemarks. As filemarks are usually marked by a gap in the recording 
signal on tape it imposes
a problem when using a file as a virtual tape. Since there needs to be 
some metadata to be retained
when writing a virtual tape (on a file) I guess the best way is to use a 
header containing various
information. Partly it will contain the same stuff as the usual chip 
build in eg an LTO tape.
One could think of max size, barcode, tape type, compression on/off, 
etc. Another addition to the header could be a table
of filemarks (sorted in increasing order). This table could be done in a 
fixed style, ie so many
filemarks but no more, or a variable table. This last possibility is a 
bit more flexible, but gives
the extra disadvantage of a possibly increasing table positioned before 
the actual data in the file
(which needs to be moved when it increases). Since the size of 
indexpointer in a file is of size off_t (long)
and 64 bits (if I am correct) every filemark will add 8 bytes. So the 
question will be how many
filemarks do you want on the tape?

Another point is when writing over a filemark (ie erasing the previous 
filemark), how do we
keep track of this in an easy way?

Of course set up correctly, skipping over filemarks would then be a 
doddle. Using a special character(s)
to mark a filemark would be easier, but a) it needs to be very special 
and never appear in normal data,
b) skipping filemarks would be a full search through the virtual tape, 
generating lots of IP traffic on its way.

To create such a header for an empty tape a small separate program is 
needed to "format" the new tape, ie creating a file with the header info.

Any thoughts?


More information about the stgt mailing list