On 08/28/2014 02:37 PM, Hans de Goede wrote:
Hi,
On 08/28/2014 02:33 PM, Paolo Bonzini wrote:
Il 28/08/2014 14:26, Hans de Goede ha scritto:
Then, blk_complete_request will do nothing because its call to
blk_mark_rq_complete returns true.
All this, of course, as long as ->scsi_done is called _before_ eh_abort
returns.
What about calling scsi_done after eh_abort if eh_abort returned FAILED?
I invoke the fifth amendment. :)
Although I appreciate the tongue in cheek answer, this was sort of a serious
question, as at the moment this may happen with the uas driver.
As mentioned earlier, as soon as SCSI EH is invoked control
is assumed to be transferred back to the SCSI midlayer.
How the midlayer interprets any return value from the various eh_XX
callbacks is immaterial to the LLDD.
So even if the eh_abort returns FAILED control is still with the SCSI
midlayer, so the earlier statements apply.
IE the command will be short-circuited by the block layer anyway if
->scsi_done() is called.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@xxxxxxx +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html