In order to make the system as robust as possible, we use a dynamic allocation scheme. In other words, when a phase of the program needs a disk to read or write to, it requests one from a disk server. If no disks are available, the server exits without performing any action. Should this happen the Pass1 software proceeds to access the tape directly. Input and output staging are completely separate, so a given process can do either, both, or none.
Which disks are in use is determined by a simple lock-file mechanism. In the directory ~e831p1/stage_lock is a file stage_disk.lis which lists all the disks available on the host and their allowed uses. Also in this directory are a series of .isl and .osl files which lock disks for a specific use. These files contain some information on the job which has the disk allocated.
The staging software is completely integrated with the InfoFile mechanism which allows staging progress to be monitored via the InfoFile.
The most useful diagnostic use of this command is to look for partitions that were allocated some time ago and belong to jobs which are no longer running.
There are no parameters for this command (yet).
These environmental variables are largely a hold-over from the way things were done before the InfoFile mechanism was fully developed.
The -a option allocates a disk. In this case value is either input or output.
The -d option deallocates a disk. In this case value is the name of the partition. For example, StageLock -d  /stageE831_02 is a typical command. The -f option forces deallocation. Things are supposed to be set up so that one job or an careless czar cannot accidentally deallocate the wrong partition. This doesn't quite work yet, though.
StageLock looks at the value of the STAGE field in the InfoFile as well as at an internal lookup table to determine whether or not a job is allowed to stage data. In the case where p1submit requests staging, but none is allowed according to the lookup table, the STAGE field is set to 0.
This command writes the namelist file input_stager.nam which is used to control the Fortran program in_stager_os.x. Should in_stager_os.x fail, another attempt may be made. Currently, another attempt will be made if less than 5 attempts have been made and less than 3 hours have elapsed since the start of the "on-deck" process.
If the input staging ultimately fails, the input disk is deallocated. There are no parameters for this command.
There are no parameters for this command.
This command writes the namelist file output_stager.nam which is used to control the Fortran program out_stager_os.x. Should out_stager_os.x fail, another attempt may be made. Currently, another attempt will be made if less than 5 attempts have been made and less than 3 hours have elapsed since the start of the "rundown" process.
If the output staging ultimately fails, the output disk is not deallocated, so that a czar can attempt by hand to stage the output. There are no parameters for this command.