IBM Advanced SerialRAID Adapters SA33-3285-02 User Manual page 320

Advanced serialraid adapters
Table of Contents

Advertisement

In the calculation, 20 is the default scaling factor that generates the time-out value. The
caller can customize the time-out value through the TMCHGIMPARM operation. The
actual period that elapses before a time-out occurs can be up to 10 seconds longer
than the calculated value, because it is related to the operation of the hardware at the
time of the write operation. A time-out value of zero means that no time-out occurs. A
value of zero is not allowed when the write operation is nonblocking, because a
deadlock might occur. Under this condition, EINVAL is returned for the write operation.
If the caller opened the initiator-mode device with the O_NDELAY flag set, the write
operation is nonblocking. In this mode, the device checks whether enough buffer space
is available for the write operation. If enough buffer space is not available, the write
operation fails, and the errno global variable is set to EAGAIN. If enough buffer space
is available, the write operation immediately ends with all the data written successfully.
The write operation now occurs asynchronously. If you want to track the progress of this
write operation, use the TMIOSTAT operation. The driver keeps the status of the last
write operation, which is then reported by the TMIOSTAT operation.
Possible return values for the errno global variable include:
EFAULT
EINTR Interrupted by signal.
EINVAL
EAGAIN
EIO
ETIMEDOUT
300
User's Guide and Maintenance Information
The write operation was unsuccessful because of a kernel service error. This
value is applicable only during data gathering.
Attempted to execute a write operation for a device instance that is not
configured, not open, or is not an initiator-mode minor device number. If a
nonblocking write operation, the transfer length is too long, or the time-out
period is zero. If the transfer length is too long, try the operation again with a
smaller transfer length. If the time-out period is zero, use TMCHGIMPARM to
set the time-out value to another value.
A nonblocking write operation could not proceed because not enough buffer
space was available. Try the operation again later.
One of the following I/O errors occurred:
v An error that cannot be produced again.
v The number or retried operations reached the limit that is specified in
TM_MAXRETRY without success on an error that cannot be reproduced.
v The target-mode device of the remote node is not initialized or open.
Do the appropriate error recovery routine.
The command has timed out. Do the appropriate error recovery routine.

Advertisement

Table of Contents
loading

Table of Contents