On 29/05/2019 14:28, Hannes Reinecke wrote:
static int virtscsi_map_queues(struct Scsi_Host *shost) @@ -827,6 +830,8 @@ static int virtscsi_probe(struct virtio_device *vdev) shost->max_channel = 0; shost->max_cmd_len = VIRTIO_SCSI_CDB_SIZE; shost->nr_hw_queues = num_queues; + shost->can_queue -= VIRTIO_SCSI_RESERVED_CMDS;
shost->can_queue is already referenced after it is set earlier in virtscsi_probe(), so I wonder if this is ok to later revise it? See:
shost->cmd_per_lun = min_t(u32, cmd_per_lun, shost->can_queue); thanks, John
+ shost->nr_reserved_cmds = VIRTIO_SCSI_RESERVED_CMDS; #ifdef CONFIG_BLK_DEV_INTEGRITY if (virtio_has_feature(vdev, VIRTIO_SCSI_F_T10_PI)) { @@ -928,45 +933,12 @@ static struct virtio_driver virtio_scsi_driver = {