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? Albert |