Server mode staging

The STAGE command is normally typed interactively, or is issued as part of a command file. An additional possibility exists, which is particularly useful in the case of multi-file tapes. This is server mode staging, where stage requests are written to a special directory and processed from there. Server mode staging requires a further logical name definition, namely STAGEQUEUE, which should point to a directory that can be written to by users for whom server mode staging is permitted. Typically this will be handled by the use of a rights identifier.

If disk quotas are enabled on the volume to which the logical name STAGEQUEUE points, then the directory must be set up as in the example below:

(IDENTIFIER=owner,ACCESS=READ+WRITE+EXECUTE+DELETE+CONTROL)
(IDENTIFIER=stageuser,ACCESS=READ+WRITE+EXECUTE)
(IDENTIFIER=owner,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE+DELETE+CONTROL)
(IDENTIFIER=stageuser,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE)

where owner is the owner of the directory, with a corresponding disk quota entry and stageuser the rights identifier that permits access to this directory.

If disk quotas are not enabled on the volume in question, then allowing group or world write access to the directory is sufficient.

Server mode stage requests consist of a file whose name identifies the volume and file to be staged. The file name corresponds to the normal naming convention, i.e. vsnvid.fseq-labeltype. The contents of the file are ignored, but it can be useful to record the origin of the stage request. In the case of requests issued from FATMEN, the file contains the line

Stage request for vsnvid.fseq-labeltype issued at yymmdd hhmm by user on node nodename

If the STAGEQUEUE logical name is defined, then an existing staging process for the volume in question will automatically satisfy any requests in the queue. This is done as follows:

  1. The STAGE command checks whether the logical name STAGEQUEUE is defined
  2. If so, server mode staging is automatically enabled
  3. It then positions the tape to each file in turn and looks to see if there are any requests for the file in question.
  4. If so, the request is processed and the request file deleted
  5. If not, the tape is positioned to the next file
  6. Requests are always processed by increasing file sequence number. If required, the tape will be rewound and a further pass made to satisfy new requests

The logic to decide when to launch a new staging process is embodied into the FATMEN package and is transparent to the user.