[SCSI] Command protection operation
authorMartin K. Petersen <martin.petersen@oracle.com>
Thu, 17 Jul 2008 08:28:31 +0000 (04:28 -0400)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Sat, 26 Jul 2008 19:14:54 +0000 (15:14 -0400)
commitdb007fc5e20c00b356e9ffe2d0e007398c65c837
treeab0483beff7abaddb9648bc0b2ef1ceacfeb02a9
parent4469f9878059f1707f021512e6b34252c4096ee7
[SCSI] Command protection operation

Controllers that support DMA of protection information must be told
explicitly how to handle the I/O.  The controller has no knowledge of
the protection capabilities of the target device so this information
must be passed in the scsi_cmnd.

 - The protection operation tells the HBA whether to generate, strip or
   verify protection information.

 - The protection type tells the HBA which layout the target is
   formatted with.  This is necessary because the controller must be
   able to correctly interpret the included protection information in
   order to verify it.

 - When a scsi_cmnd is reused for error handling the protection
   operation must be cleared and saved while error handling is in
   progress.

 - prot_op and prot_type are placed in an existing hole in scsi_cmnd
   and don't cause the structure to grow.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/scsi_error.c
include/scsi/scsi_cmnd.h
include/scsi/scsi_eh.h