Messages in this thread | | | Date | Wed, 9 Jul 2014 17:05:48 +0200 | From | Christoph Hellwig <> | Subject | Re: [PATCH 10/14] scsi: only maintain target_blocked if the driver has a target queue limit |
| |
On Wed, Jul 09, 2014 at 01:19:41PM +0200, Hannes Reinecke wrote: >> host_not_ready: >> - atomic_dec(&scsi_target(sdev)->target_busy); >> + if (scsi_target(sdev)->can_queue > 0) >> + atomic_dec(&scsi_target(sdev)->target_busy); >> not_ready: >> /* >> * lock q, handle tag, requeue req, and decrement device_busy. We >> > Hmm. 'can_queue' can be changed by the LLDD. Don't we need some sort of > synchronization here?
While a few drivers change the host can_queue value at runtime none do for the target. While I don't think driver should even change the host one even modification to the target one is perfectly fine as long as no driver drops it to zero.
| |