Re: [PATCH 11/20] qla2xxx: Add TAS detection for kernel 3.15 n newer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/7/15, 6:48 PM, "target-devel-owner@xxxxxxxxxxxxxxx on behalf of
Christoph Hellwig" <target-devel-owner@xxxxxxxxxxxxxxx on behalf of
hch@xxxxxxxxxxxxx> wrote:

>> diff --git a/drivers/scsi/qla2xxx/tcm_qla2xxx.c
>>b/drivers/scsi/qla2xxx/tcm_qla2xxx.c
>> index 842fcca..2e9c194 100644
>> --- a/drivers/scsi/qla2xxx/tcm_qla2xxx.c
>> +++ b/drivers/scsi/qla2xxx/tcm_qla2xxx.c
>> @@ -617,6 +617,26 @@ static int tcm_qla2xxx_queue_status(struct se_cmd
>>*se_cmd)
>>  				struct qla_tgt_cmd, se_cmd);
>>  	int xmit_type = QLA_TGT_XMIT_STATUS;
>>  
>> +	if (se_cmd->transport_state & CMD_T_ABORTED) {
>> +		/* For TCM TAS support n kernel >= 3.15:
>> +		 * This cmd is attempting to respond with "Task Aborted Status".
>> +		 */
>> +		if (cmd->aborted) {
>> +			return 0;
>> +		} else if ((cmd->state == QLA_TGT_STATE_NEED_DATA) &&
>> +		    cmd->cmd_sent_to_fw) {
>> +			qlt_abort_cmd(cmd);
>> +			return 0;
>> +		} else if (cmd->state == QLA_TGT_STATE_PROCESSED) {
>> +			if (cmd->cmd_sent_to_fw) {
>> +				qlt_abort_cmd(cmd);
>> +				return 0;
>> +			} else {	/* about to be free */
>> +				return 0;
>> +			}
>> +		}
>> +	}
>> +
>
>This is really something that should be explicitly communicated
>from the core instead of having to second guess it.

QT> The extra protection of the code here is to reduce erroneous error
message and interaction error with our firmware. I think communicating
back to the core at this stage might add undue complication.  It¹s best to
allow the initiator to re-drive the command at this point.

<<attachment: winmail.dat>>


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux