User's Manual
Appendix D Quality of Service Guide
Real-time I/O
StorNext 3.1.3 Installation Guide 143
SetRtio 4
Initially, all stripe groups in the file system are in non-real-time mode. 
Clients make their requests directly to the I/O subsystem without any 
gating. In our example, the process requires 186 MB/sec and the system 
designers know there will never be a need to support more than one 
stream at 186 MB/sec.
The SetRtio request has a number of flags and parameters to control its 
operation. These are all documented in the 
external_api.pdf file that 
describes the external API in detail. For this example, set the handle for 
the indicated stripe group using the 
RT_SET parameter. 
Oversubscription 4
In most cases, system designers ensure that the amount of rtio is not 
oversubscribed. This means that processes will not ask for more 
rtio than 
is specified in the configuration file. However, it is possible to request 
more 
rtio than is configured. The API uses the RT_MUST flag to indicate 
that the call must succeed with the specified amount. If the flag is clear, 
the call allocates as much as it can. In both cases, the amount allocated is 
returned to the caller. 
Handles 4
The SetRtio call accepts two different types of handles. The first is a 
handle to the 
root directory. In this mode the stripe group is put into real-
time mode, but no specific file handle is tagged as being 
ungated. Real-
time I/O continues on the stripe group until it is explicitly cleared with a 
SetRtio call on the root directory that specifies the RT_CLEAR flag; the file 
system is unmounted; or the system is rebooted. It is up to the application 
to make a subsequent call to 
EnableRtio (F_ENABLERTIO) on a specific 
handle.
If the handle in the SetRtio call refers to a regular file, it is the equivalent 
of a 
SetRtio call on the root directory followed by an EnableRtio call. The 
file handle will be ungated until it is closed, cleared (
RT_CLEAR in a 
SetRtio call), or disabled (DisableRtio). When the handle is closed, the 
amount of real-time I/O is released back to the system. This causes the 
FSM to readjust the amount of bandwidth available to all clients by 
issuing a series of callbacks. 
The client automatically issues a call to the FSM with the RT_CLEAR flag 
specifying the amount of real-time I/O set on the file. If multiple handles 
are open on the file—each with a different amount of real-time I/O—only 
the last file close triggers the releasing action; all aggregate 
rtio are 
released.










