Re: [PATCH v2 01/11] scsi: Convert struct Scsi_Host->cmd_serial_numberto atomic_t

From: Mike Christie
Date: Fri Sep 24 2010 - 22:27:17 EST


On 09/24/2010 01:33 PM, Mike Anderson wrote:
In reviewing the current code paths wasn't the serial_number also used to
avoid calling __scsi_try_to_abort_cmd for START_UNIT case also.

You mean from scsi_eh_try_stu....->__scsi_try_to_abort_cmd? How does it work for that case or what is the code path? Is it when it is called from the sas code through scsi_eh_ready_devs?



If we skip __scsi_try_to_abort_cmd when REQ_ATOM_COMPLETE is set it would
be correct for the scsi_decide_disposition cases but it would appear this
would stop __scsi_try_to_abort_cmd from being called in the time out
case as REQ_ATOM_COMPLETE is set prior to calling blk_rq_timed_out.

1.) Request timed out path to scsi_eh_scmd_add.

blk_rq_timed_out_timer
...
if (blk_mark_rq_complete(rq))
continue;
blk_rq_timed_out
q->rq_timed_out_fn "scsi_times_out"
scsi_times_out
scsi_eh_scmd_add


You are right.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/