As part of the normal initiator side scanning the guest's scsi layer
will loop over all possible targets and send an inquiry. Since the
max number of targets for virtio-scsi is 256, this results in 255
error messages about targets not existing. When there's more than 1
vhost-scsi device, then you get N * 255 log messages.
It looks like the log message was added by accident in:
commit 09d7583294aa ("vhost/scsi: Use common handling code in request
queue handler")
The patch was just making some coce common but added the vq_err call
and I'm guessing the patch author forgot to enable the vq_err call
(vq_err is implemented by pr_debug which defaults to off). So this
patch removes the call since it's expected to hit this path during
device discovery.
Fixes: 09d7583294aa ("vhost/scsi: Use common handling code in request queue
handler")
Signed-off-by: Mike Christie <[email protected]>
---
drivers/vhost/scsi.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c
index c12a0d4e6386..c9f418a4571a 100644
--- a/drivers/vhost/scsi.c
+++ b/drivers/vhost/scsi.c
@@ -1226,10 +1226,8 @@ vhost_scsi_get_req(struct vhost_virtqueue *vq, struct
vhost_scsi_ctx *vc,
/* validated at handler entry */
vs_tpg = vhost_vq_get_backend(vq);
tpg = READ_ONCE(vs_tpg[*vc->target]);
- if (unlikely(!tpg)) {
- vq_err(vq, "Target 0x%x does not exist\n",
*vc->target);
+ if (unlikely(!tpg))
goto out;
- }
}
if (tpgp)
--
2.43.0