In the description of PER in the
Read-Write Error Recovery mode page, the following is
stated:
A post error (PER) bit set to one
specifies that if a recovered read error occurs during a command performing a
read or write operation, then the device server shall terminate the command with
CHECK CONDITION status with the sense key set to RECOVERED ERROR. A
PER bit set to zero
specifies that if a recovered read error occurs during a command performing a
read or write operation, then the device server shall terminate the command with
CHECK CONDITION status, and shall perform error recovery procedures within the
limits established by the error recovery parameters. If the DTE
bit is set to one, then the
PER bit shall be set to
one.
It seems that the first and second
sentences require mostly the same thing as far as reporting a CHECK
CONNDITION. I think that the second sentence is missing a “not” in the
device server shall NOT terminate the command with CHECK CONDITION status,
…
This interpretation is consistent
with the first two rows of table 128 also, which state “The device server shall
not report recovered read errors. The device server shall terminate a command
performing a read or write operation with CHECK CONDITION status before the
transfer count is exhausted only if an unrecovered error is
detected.”
Bill Martin
Emulex
Office of Technology
Industry
Standards
916 772-3658
916 765-6875
(Cell)
bill.martin@emulex.com