• Jens Axboe's avatar
    [PATCH] scsi patches · cbfec645
    Jens Axboe authored
    Hi James,
    
    Here are the changes that are good outside the other changes :-)
    
    scsi_lib:
    	o ->errors is used as the scsi status byte for REQ_BLOCK_PC
    	o ->data_len is the residual byte count
    	o call __scsi_end_request even for !good_sectors if status is
    	  good. This legitimately can happen for REQ_BLOCK_PC commands
    	  sent from a user space program, if it gets the command setup
    	  wrong (or weird). Right now this will hang that queue.
    
    scsi_merge:
    	o set SCpnt->request_bufflen to ->data_len, this is the
    	  authoritative io byte count for REQ_BLOCK_PC. Here we deal in
    	  bytes and not sectors.
    
    sr + sd:
    	o Set transfersize and underlow correctly for REQ_BLOCK_PC
    
    sr_ioctl
    	o We want to return -EIO for command failure, not EINVAL. That
     	  is pretty stupid :-)
    
    
    ===== drivers/scsi/scsi_lib.c 1.35 vs edited =====
    cbfec645
scsi_lib.c 31.8 KB