On Thu, 2010-11-11 at 14:36 -0800, Mike Anderson wrote: > James Bottomley <James.Bottomley@xxxxxxx> wrote: > > On Thu, 2010-11-11 at 13:37 -0800, Nicholas A. Bellinger wrote: > > > > > > ..snip.. > > > > > > Sounds good to me, but you will recall the last attempt to make > > > scsi_cmd_get_serial() optional for the special case LLDs, that we > > > started running quickly in the legacy usage of cmd->serial_number in > > > scsi_softirq_done() and the side effects in scsi_try_to_abort_cmd(), who > > > use is complex enough that we have not found a proper resolution > > > sufficent to andmike discussed here: > > > > Yes, that's what I meant by "eliminate the overloading of the serial > > number zero value" above. This needs fixing before the serial number > > can be dumped for fast hba drivers. > > > > In the last email referenced below I believed that since > scsi_softirq_done is calling scsi_eh_scmd_add without the > SCSI_EH_CANCEL_CMD flag set this will stop scsi_try_to_abort_cmd from > being called. Since scsi_softirq_done is the one setting serial_number > to 0 I do not believe we can hit the serial number == 0 check in > scsi_try_to_abort_cmd anymore. > > > > http://marc.info/?l=linux-scsi&m=128820726325009&w=2 I buy this. The REQ_ATOM_COMPLETE flag in the block layer now mediates timer vs completion atomically ... so either one or the other is allowed to occur. James -- 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