Page MenuHomeFreeBSD

hyperv/storvsc: use SRB flag and CAM_SEL_TIMEOUT to filter invalid LUN
ClosedPublic

Authored by honzhan_microsoft.com on Aug 16 2016, 5:42 AM.
Tags
None
Referenced Files
F89302139: D7521.id19321.diff
Fri, Jul 26, 9:16 AM
Unknown Object (File)
Mon, Jul 8, 1:57 AM
Unknown Object (File)
Tue, Jul 2, 4:54 AM
Unknown Object (File)
Sat, Jun 29, 8:18 AM
Unknown Object (File)
Fri, Jun 28, 3:32 PM
Unknown Object (File)
Thu, Jun 27, 11:01 PM
Unknown Object (File)
Thu, Jun 27, 6:14 PM
Unknown Object (File)
May 28 2024, 9:53 PM

Details

Summary

This fixes the issue of failing to hot plugin more than 7 disks.

SRB flag is set to 0x20 if the specified LUN is invalid by Hyper-v host, and
the INQUIRY response will not be set by Hyper-v host. That is why INQUIRY
on invalid lun get all zero values. In addition, TUR (Test Unit Ready) command
on invalid LUN also makes SRB flag be 0x20.

VM shall response to CAM layer with CAM_SEL_TIMEOUT to filter those
invalid LUNs. Never use CAM_DEV_NOT_THERE which will block LUN scan
for LUN number higher than 7.

Submitted by: Hongjiang Zhang <honzhan microsoft com>

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

honzhan_microsoft.com retitled this revision from to hyperv/storvsc: use SRB flag and CAM_SEL_TIMEOUT to filter invalid LUN.
honzhan_microsoft.com updated this object.
This revision is now accepted and ready to land.Aug 16 2016, 5:47 AM
This revision now requires review to proceed.Aug 16 2016, 6:53 AM
This revision was automatically updated to reflect the committed changes.