Re: [PATCH] megaraid_sas: Enable shared tag map

Christoph Hellwig
2014-10-01T21:10:06Z

On Wed, Oct 01, 2014 at 02:51:31PM -0400, Webb Scales wrote:
> Hannes,
>
> In megasas_change_queue_type(), is it possible for sdev->queue_depth to be
> greater than 256?
>
> Unless I'm misunderstanding the SCSI code, we can request a
> queue-depth/tag-map-size which is greater than 256, but, since the
> scsi_cmnd::tag field is an unsigned char, depths greater than 256 may
> overflow the field when high-numbered tags are used...do I have that right?

Yes, we really need to increase the size of the tag field. SAM allows
a transport specific limit of up to 64 _bytes_ for it, although I don't
know implementation that large. Given that the block layer can generate
up to 32-bit tags both for the old blk-tag.c code and the new
blk-mq-tag.c version it would be good to use a u32 there. Can you send
me a patch?