Appendix D Quality of Service Guide

Callbacks

 

In the above diagram, a process on client A requests some amount of

 

RTIO in Step 1. Since this is the first request, the FSM issues callbacks to all

 

connected clients (Steps 2-5) informing them that the stripe group is now

 

in real-time mode. The clients respond to the FSM in Steps 6-9. After all

 

the clients have responded, the FSM responds to the original requesting

 

client in Step 10.

 

If the timer expires and one or more clients have not responded, the FSM

 

must retract the callbacks. It issues a response to the requesting client

 

with the IP number of the first client that did not respond to the callback.

 

This allows the requesting client to log the error with the IP number so

 

system administrators have a chance of diagnosing the failure. It then

 

sends out callbacks to all the clients to which it first sent the callbacks,

 

retracting them to the original state. In our example, it would set the

 

stripe group back to non-real-time mode.

 

After sending out the callbacks, the FSM waits for a response using the

 

RtTokenTimeout value as before. If a client again does not respond within

 

the timeout value, the callbacks are retracted and sent out again. This

 

repeats until all clients respond. During this time of token retractions,

 

real-time requests cannot be honored and will only be enqueued.

 

The FSM must handle a case where a client does not respond to a callback

Callback Failures

within the specified timeout period (RtTokenTimeout). If a client does not

 

 

respond to a callback, the FSM must assume the worst: that it is a rogue

 

that could wreak havoc on real-time I/O. It must retract the tokens it just

 

issued and return to the previous state.

 

As mentioned earlier, the original requestor will receive an error

 

(EREMOTE) and the IP address of the first client that did not respond to

 

the callback. The FSM enters the token retraction state, and will not honor

 

any real-time or token requests until it has received positive

 

acknowledgement from all clients to which it originally sent the

 

callbacks.

StorNext 3.5 Installation Guide

155

Page 172
Image 172
Quantum 3.5 manual Above diagram, a process on client a requests some amount, Client in Step, Callback Failures