Ming,

> scsi_device's refcount is always grabbed in IO path.
>
> Turns out it isn't necessary, because blk_queue_cleanup() will
> drain any in-flight IOs, then cancel timeout/requeue work, and
> SCSI's requeue_work is canceled too in __scsi_remove_device().
>
> Also scsi_device won't go away until blk_cleanup_queue() is done.
>
> So don't hold the refcount in IO path, especially the refcount isn't
> required in IO path since blk_queue_enter() / blk_queue_exit()
> is introduced in the legacy block layer.

This all looks good to me. I assume it will go through Jens' tree?

Acked-by: Martin K. Petersen <martin.peter...@oracle.com>

-- 
Martin K. Petersen      Oracle Linux Engineering

Reply via email to