[Stgt-devel] Thoughts on vtl filemarks
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.
More information about the stgt