• Boaz Harrosh's avatar
    [SCSI] scsi_error: Refactoring scsi_error to facilitate in synchronous REQUEST_SENSE · e1c23468
    Boaz Harrosh authored
     - Drivers/transports that want to send a synchronous REQUEST_SENSE command
       as part of their .queuecommand sequence, have 2 new API's that facilitate
       in doing so and abstract them from scsi-ml internals.
    
       void scsi_eh_prep_cmnd(struct scsi_cmnd *scmd,
    	struct scsi_eh_save *sesci, unsigned char *cmnd,
    	int cmnd_size, int sense_bytes)
    
       Will hijack a command and prepare it for request sense if needed.
       And will save any later needed info into a scsi_eh_save structure.
    
       void scsi_eh_restore_cmnd(struct scsi_cmnd* scmd,
    	struct scsi_eh_save *sesci);
    
       Will undo any changes done to a command by above function. Making
       it ready for completion.
    
     - Re-factor scsi_send_eh_cmnd() to use above APIs
    Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    e1c23468
scsi_error.c 51.3 KB