Quite some drivers are using management commands internally. These commands
typically use the same tag pool as regular SCSI commands. Tags for these
management commands are set aside before allocating the block-mq tag bitmap
for regular SCSI commands. The block layer already supports this via the
reserved tag mechanism. Add a new field 'nr_reserved_cmds' to the SCSI host
template to instruct the block layer to set aside a tag space for these
management commands by using reserved tags. Exclude reserved commands from
.can_queue because .can_queue is visible in sysfs.
Change-Id: Ie18285c756bafe152a8ca17109469e4518366039
Signed-off-by: Hannes Reinecke <hare@suse.de>
[ bvanassche: modified patch description ]
Cc: John Garry <john.g.garry@oracle.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Bug: 408217416
Link: https://lore.kernel.org/linux-scsi/20250403211937.2225615-5-bvanassche@acm.org/
Signed-off-by: Bart Van Assche <bvanassche@google.com>