On 03/18/2014 03:28 PM, Christoph Hellwig wrote:
> Does anyone still have a device listed in the blacklist with
> BLIST_SINGLELUN?
> 
> From reading the source code I'm not sure the code actually works as
> expected currently, or did for a long time.
> 
> While scsi_target_queue_ready makes sure to only queue commands to the
> right lun as long as starget_sdev_user is set, scsi_single_lun_run
> clears starget_sdev_user as soon as the any command completes on a
> target marked with the flag, allowing the following situation:
> 
>  - cmd 1 lun 0                submitted
>  - cmd 2 lun 0                submitted
>  - cmd 1 lun 0                completed
>  - cmd 9 lun 1                submitted
> 
> and thus having commands for two luns in flight at the same time
> if we hit the narrow enough race of entering the scsi_request_fn
> for lun 1 before scsi_single_lun_run does so for lun 0.

You know what, I've been looking at that, too.
And indeed, it looks like you're right.

I do wonder, though, why we don't do away with the
starget_sdev_user and just set max_target_blocked to 1 ...

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                   zSeries & Storage
[email protected]                          +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to