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