]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: storvsc: Workaround for virtual DVD SCSI version
authorStephen Hemminger <stephen@networkplumber.org>
Tue, 7 Mar 2017 17:15:53 +0000 (09:15 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 8 Mar 2017 01:20:12 +0000 (20:20 -0500)
commite6f2a285aa77294c2eea5044e58dfc001c827ad6
tree39f5f0ecf72fb70f63507fbad69f09480b8c2870
parentcd69d99dd6e5f1725df1d5da0d08d6893ac991d2
scsi: storvsc: Workaround for virtual DVD SCSI version

Hyper-V host emulation of SCSI for virtual DVD device reports SCSI
version 0 (UNKNOWN) but is still capable of supporting REPORTLUN.

Without this patch, a GEN2 Linux guest on Hyper-V will not boot 4.11
successfully with virtual DVD ROM device. What happens is that the SCSI
scan process falls back to doing sequential probing by INQUIRY.  But the
storvsc driver has a previous workaround that masks/blocks all errors
reports from INQUIRY (or MODE_SENSE) commands.  This workaround causes
the scan to then populate a full set of bogus LUN's on the target and
then sends kernel spinning off into a death spiral doing block reads on
the non-existent LUNs.

By setting the correct blacklist flags, the target with the DVD device
is scanned with REPORTLUN and that works correctly.

Patch needs to go in current 4.11, it is safe but not necessary in older
kernels.

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/storvsc_drv.c