On 05/04/2012 03:25 PM, Mike Christie wrote: > On 05/04/2012 10:07 AM, Bart Van Assche wrote: >> It is possible that a SCSI LLD invokes scsi_remove_host() after a >> request has been queued via scsi_host_template.queuecommand() but >> before scsi_done() has been invoked for that request. This may > > If that happens won't we wait in blk_cleanup_queue->blk_drain_queue for > that IO to be completed (completed normally or timed out and processed > through that path)? > > Is the point that once we call scsi_remove_host that the LLD is not > going to process any more IO so IO will timeout, so just call > blk_abort_queue to speed up that cleanup? If so I can see where you are > coming from. > Oh not wait. I do not get the patch. After blk_cleanup_queue runs then no IO should be running and no new IO can be queued can it? >> */ >> blk_cleanup_queue(q); >> + blk_abort_queue(q); >> >> if (sdev->is_visible) { >> if (scsi_device_set_state(sdev, SDEV_CANCEL) != 0) > > -- > 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 -- 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