Procedure 13 |
Initialise Volume |
REQUEST Requests that the volume currently loaded on the device specified by client identifier be initialised. Standard volume labels of the type specified by label type are written onto the tape. Note that this operation will cause all data currently on the tape to be lost. |
Client identifier identifies the device for the client and
capability
is the corresponding access key provided by the server for the device.
Volume name specifies the name to be used when writting the
volume labels.
label type specifies the type of the volume labels to be written.
label type |
density specifies the option to be selected on the device when writting the labels. This field is only used by those devices which support more than one data density.
density |
current volume name must be supplied if the tape already
contains a valid volume label. If the tape is currently unlabelled this field should be
supplied as a null length string or the name NULL supplied.
The current stream state for the stream must be either
dev_alloc or dev_mount otherwise
the request will fail.
RESPONSE procedure status indicates the result of the request. |
procedure status |
If procedure status = accepted the current value of the stream status for this stream changes to dev_initialising.
When the initialise operation has been completed successfully (which could take some time)
then stream state for the stream changes to dev_alloc.
Should the initialise operation fail (for example there is an i/o error positioning the device) then
stream state reverts to dev_alloc and
procedure status is set appropiately.
Implementation
The tape server writes data tapes which are formatted according to either the IBM specified
standard or the ANSI standard (as defined by ANSI X3.27 - 1978). Only VOL1, HDR1, EOF1 and EOF2
labels are used by the tape server. Other labels defined by the standards (such as UHLn and UTLn)
are not used.
The Eurogam control software by default uses ANSI labels. The option to use IBM standard
labels arises from a time when data tapes were analysed using IBM mainframe computers
and may be omitted.
This procedure is used to write a volume label to a new tape or to reinitialise a tape by
rewriting its volume label. In the second case the current volume name must be provided
as a security check since rewriting the volume label will cause all existing data to be
lost. The drive may be initially in the allocated state or in the mounted state
(useful when reinitialising a tape) but at the end of the operation will always be in the allocated
state. A mount procedure request is required to change to the mounted state.
The drive is in the initialising state during the initialise sequence.
(1) - rewind label and attempt to read the current label - if the tape is new (contains no data)
or does not have a valid volume label goto (3)
(2) - if the tape does contain a valid volume label check that the volume name
on the tape is the same as the current volume name supplied by the initialise procedure
request. If these are not the same then abort the sequence.
(3) - rewind the tape and select the requested write density or mode.
(4) - write the volume label
(5) - write 2 file marks to denote end of information - these also allow data to be appended
in the case of Exabyte drives. Note - the ANSI standard specifies that a dummy HDR1 block
(all nulls) should be written after the volume label which will be overwritten by the first
file labels. The Exabyte hardware does not allow this dummy block to be overwritten and so
it is ignored.
The server logs the initialise action into the System Log recording the client identifier, real device name, new volume name and possibly old volume name for reinitialise operations.