aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kelley <mikelley@microsoft.com>2023-06-09 13:38:21 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2023-06-14 21:32:48 -0400
commit31d16e712bdcaee769de4780f72ff8d6cd3f0589 (patch)
tree6bf37d827386993cdb091dc1d8d7847e0cb06bb1
parent9dc704dcc09eae7d21b5da0615eb2ed79278f63e (diff)
downloadlinux-31d16e712bdcaee769de4780f72ff8d6cd3f0589.tar.gz
scsi: storvsc: Always set no_report_opcodes
Hyper-V synthetic SCSI devices do not support the MAINTENANCE_IN SCSI command, so scsi_report_opcode() always fails, resulting in messages like this: hv_storvsc <guid>: tag#205 cmd 0xa3 status: scsi 0x2 srb 0x86 hv 0xc0000001 The recently added support for command duration limits calls scsi_report_opcode() four times as each device comes online, which significantly increases the number of messages logged in a system with many disks. Fix the problem by always marking Hyper-V synthetic SCSI devices as not supporting scsi_report_opcode(). With this setting, the MAINTENANCE_IN SCSI command is not issued and no messages are logged. Signed-off-by: Michael Kelley <mikelley@microsoft.com> Link: https://lore.kernel.org/r/1686343101-18930-1-git-send-email-mikelley@microsoft.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/storvsc_drv.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index e6bc622954cfab..659196a2f63ad3 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1567,6 +1567,8 @@ static int storvsc_device_configure(struct scsi_device *sdevice)
{
blk_queue_rq_timeout(sdevice->request_queue, (storvsc_timeout * HZ));
+ /* storvsc devices don't support MAINTENANCE_IN SCSI cmd */
+ sdevice->no_report_opcodes = 1;
sdevice->no_write_same = 1;
/*