Re: [PATCH #upstream 1/2] libata: move command post processing to __ata_qc_complete()

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

 



Jeff Garzik wrote:
> Tejun Heo wrote:
>> Some commands need post-processing after successful completion.  This
>> was done in ata_scsi_qc_complete() till now but command post
>> processing doesn't belong to SAT layer.  Move them to
>> __ata_qc_complete() and, while at it, restructure a bit to ease adding
>> post-processing for other commands.
>>
>> Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>
> 
> BTW, while doing the TEST UNIT READY emulation patch for ATA (recently
> withdrawn from libata-dev.git#upstream), I found a problem with the
> interface that was difficult to get around:  TEST UNIT READY simulation
> code really wants to look at the result TF of CHECK POWER MODE, even if
> ATA_ERR is asserted, before determining whether or not to call that
> command an error.
> 
> Maybe the EH scheduling could be moved until after ->complete_fn, to
> permit ->complete_fn users to manipulate qc->err_mask etc.?

Yeah, right.  Device error is a special case.  In many cases, devices
can operate without any problem after asserting error and for some
commands error is used to signal certain conditions.  I think the least
intrusive way would be a qc flag - ATA_QCFLAG_ALLOW_DEVERR, maybe.
Also, I'm not sure whether EH should kick in when passthru commands fail
with a device error.  Maybe libata should just report the error to the
issuer and continue operation?

-- 
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux