scsi: Some miscellaneous fixes
Subsystems (2)
cover scsi: Some miscellaneous fixes
Some miscellaneous fixes.
K. Y. Srinivasan (1):
storvsc: Don't set the SRB_FLAGS_QUEUE_ACTION_ENABLE flag
Vitaly Kuznetsov (2):
scsi_scan: don't dump trace when scsi_prep_async_scan() is called
twice
scsi: introduce short_inquiry flag for broken host adapters
drivers/scsi/scsi_scan.c | 10 +++++----- drivers/scsi/storvsc_drv.c | 4 ++-- include/scsi/scsi_host.h | 6 ++++++ 3 files changed, 13 insertions(+), 7 deletions(-)
Signature · 1 line
1.7.4.1
PATCH 1/3 scsi_scan: don't dump trace when scsi_prep_async_scan() is called twice
From: Vitaly Kuznetsov <[email protected]>
The only user of scsi_prep_async_scan() is scsi_scan_host() and it handles the situation correctly. Move 'called twice' reporting to debug level as well.
The issue is observed on Hyper-V: on any device add/remove event storvsc driver calls scsi_scan_host() and in case previous scan is still running we get the message and stack dump on console.
--- drivers/scsi/scsi_scan.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/scsi/scsi_scan.c +1 -2
@@ -1712,8 +1712,7 @@ static struct async_scan_data *scsi_prep_async_scan(struct Scsi_Host *shost)return NULL ;if (shost->async_scan) { -shost_printk (KERN_INFO , shost,"%s called twice\n" , __func__); -dump_stack (); +shost_printk (KERN_DEBUG , shost,"%s called twice\n" , __func__);return NULL ; }
Signature · 1 line
1.7.4.1
PATCH 2/3 scsi: introduce short_inquiry flag for broken host adapters
From: Vitaly Kuznetsov <[email protected]>
Some host adapters (e.g. Hyper-V storvsc) are known for not respecting the SPC-2/3/4 requirement for 'INQUIRY data (see table ...) shall contain at least 36 bytes'. As a result we get tons on 'scsi 0:7:1:1: scsi scan:
INQUIRY result too short (5), using 36' messages on console. This can be problematic for slow consoles. Introduce short_inquiry host template flag to avoid printing error messages for such adapters.
--- drivers/scsi/scsi_scan.c | 7 ++++--- drivers/scsi/storvsc_drv.c | 1 + include/scsi/scsi_host.h | 6 ++++++ 3 files changed, 11 insertions(+), 3 deletions(-)
drivers/scsi/scsi_scan.c +4 -3
@@ -701,9 +701,10 @@ static int scsi_probe_lun(struct scsi_device *sdev, unsigned char *inq_result,* strings. */ if (sdev->inquiry_len <36 ) { -sdev_printk (KERN_INFO , sdev, -"scsi scan: INQUIRY result too short (%d)," -" using 36\n" , sdev->inquiry_len); +if (!sdev->host->hostt->short_inquiry) +sdev_printk (KERN_INFO , sdev, +"scsi scan: INQUIRY result too short (%d)," +" using 36\n" , sdev->inquiry_len); sdev->inquiry_len =36 ; }
drivers/scsi/storvsc_drv.c +1 -0
@@ -1781,6 +1781,7 @@ static struct scsi_host_template scsi_driver = {/* Make sure we dont get a sg segment crosses a page boundary */ .dma_boundary = PAGE_SIZE-1, .no_write_same = 1, + .short_inquiry = 1, };enum {
include/scsi/scsi_host.h +6 -0
@@ -454,6 +454,12 @@ struct scsi_host_template { unsigned no_async_abort:1;/* +* True if this host adapter returns short (<36 bytes) responses to +* some INQUIRY requests. +*/ + unsigned short_inquiry:1; + +/* * Countdown for host blocking with no commands outstanding. */ unsigned int max_host_blocked;
Signature · 1 line
1.7.4.1
PATCH RESEND 3/3 storvsc: Don't set the SRB_FLAGS_QUEUE_ACTION_ENABLE flag
In reply to K. Y. SrinivasanDon't set the SRB_FLAGS_QUEUE_ACTION_ENABLE flag since we are not specifying tags. Qlogic driver does not work correctly if the SRB_FLAGS_QUEUE_ACTION_ENABLE is set and no action tag is specified.
--- drivers/scsi/storvsc_drv.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/scsi/storvsc_drv.c +1 -2
@@ -1647,8 +1647,7 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd) vm_srb->win8_extension.time_out_value =60 ; vm_srb->win8_extension.srb_flags |= - (SRB_FLAGS_QUEUE_ACTION_ENABLE | -SRB_FLAGS_DISABLE_SYNCH_TRANSFER ); +SRB_FLAGS_DISABLE_SYNCH_TRANSFER ;/* Build the SRB */ switch (scmnd->sc_data_direction) {
Signature · 1 line
1.7.4.1
"K. Y. Srinivasan" <[email protected]> writes:
[...]
Quoted 5 lines
Vitaly Kuznetsov (2):
scsi_scan: don't dump trace whenscsi_prep_async_scan()is called
twice
scsi: introduceshort_inquiryflag for broken host adapters
James,
I'm sorry for the annoyance but when I asked about these patches last time you said we don't have them reviewed. Is it OK now when we have
signed-off-by: from K. Y. or do we need to ask someone else?
Thanks,
Signature · 1 line
Vitaly
Quoted 23 lines
-----Original Message-----
From: Vitaly Kuznetsov [mailto:[email protected]]
Sent: Tuesday, September 29, 2015 6:34 AM
To: James E.J. Bottomley <[email protected]>; KY Srinivasan <[email protected]>
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 0/3] scsi: Some miscellaneous fixes"K. Y. Srinivasan" <[email protected]> writes:
[...]
Quoted 5 lines
Vitaly Kuznetsov (2):
scsi_scan: don't dump trace whenscsi_prep_async_scan()is called
twice
scsi: introduceshort_inquiryflag for broken host adapters
Quoted 5 lines
James,
I'm sorry for the annoyance but when I asked about these patches last time you said we don't have them reviewed. Is it OK now when we have
signed-off-by: from K. Y. or do we need to ask someone else?
We have tested these patches on various Hyper-V platforms.
K. Y
Quoted 5 lines
Thanks,
--
Vitaly