Buffer-status values, Cam-statusvalues, Table 3-7 – HP Integrity NonStop H-Series User Manual

Page 35: Buffer-status values and their meanings

Advertising
background image

Interfacing With the Open SCSI I/O Process (IOP)

Open SCSI for Fibre Channel Controller Integrator’s Manual for HP Integrity NonStop NS-Series Servers

3- 19

Buffer-Status Values

Buffer-Status Values

Buffer status is indicated by a 2-byte field in the WRITEREAD buffer header block. See

Figure 3-4

on page 3-7. This field is set to a nonzero value by the IOP if either:

The IOP does not support the specified version of the header block.

The IOP detects an error in the organization and layout of the buffer or in the
contents of the buffer that can be checked before the CCB is executed.

The buffer-status value needs to be checked only if a returned file-system error-code
value (see

Table 3-6

on page 3-16) indicates that something might be wrong with the

buffer.

Table 3-7

shows possible values for the buffer-status field, gives the FESTATUS

literals that could correspond to those values, and supplies possible error causes or
meanings for each status value.

CAM-StatusValues

The CAM-status field is supported in the CAM structure used in Open SCSI
passthrough mode. Because of the nature of the WRITEREAD procedure call, which is
used in the Open SCSI interface, polling the CAM-status field in the buffer does not

Table 3-7. Buffer-Status Values and Their Meanings

Buffer-Status
Value

FESTATUS Literal

Error Cause or Meaning

0

FEOK

No error occurred in either buffer format or data.

1

FEBADFORMAT

The buffer header block contains an
unsupported buffer version.

2

FEBADFORMAT

The buffer header block did not contain the
string 0h54485255 (THRU in ASCII) in the last
field (hdr_end).

3

FEBADCOUNT

The buffer is too short to contain the complete
header and the smallest allowable CCB.

The FEBADCOUNT literal might be returned in
cases where there is no valid buffer status; for
example, if the IOP detects a buffer that is not
long enough to contain even a valid header
block.

4

FEBADFORMAT

The CCB offset points back to the header block.

5

FEREQUEST

or

FEINVALOP

The IOP could not identify the command as a
valid passthrough command. The IOP did not
locate the string 0h50415353 (PASS in ASCII) in
the first field of the header block (hdr_begin), or
the IOP did not locate the string 0h54485255
(THRU in ASCII) in the last field of the header
block (hdr_end).

Advertising