On Mon, 2007-05-14 at 17:26 +0200, Tejun Heo wrote: > Unlocking ap->lock and ssleeping don't work because SCSI commands can > be issued from completion path without context. Reimplement delayed > completion by allowing translation functions to override > qc->scsidone(), storing the original completion function to > scmd->scsi_done() and overriding qc->scsidone() with a function which > schedules delayed invocation of scmd->scsi_done(). > > This isn't pretty at all but all the ugly parts are thankfully > contained in the stop translation path where the compat feature is > implemented. > > Signed-off-by: Tejun Heo <htejun@xxxxxxxxx> Heh, very clever, but a bit of a hack (however, no better way I can see to do it given the layering constraints). Acked-by: James Bottomley <James.Bottomley@xxxxxxxxxxxx> James - 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