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]

 



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?

Good point and agreed -- I definitely think passthru commands want device errors immediately.

That vastly increases the utility of passthru to be used in test suites and stuff, where you know a lot of operations should fail, by design. (i.e. intentionally submitting an invalid command, to test that 'command aborted' is returned)

Absolutely! Speaking as an 'application programmer', much of the utility of passthru is lost if the device errors are not immediately returned to the caller.

Cheers,
	Bruce





	Jeff


-
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