BUG: IOCTL_SCSI_RESCAN_BUS Finds New TargetIds, Not New LUNs

ID: Q141988


The information in this article applies to:
  • Microsoft Win32 Device Driver Kit (DDK) for Windows NT, versions 3.5, 3.51


SYMPTOMS

When the SCSIPORT driver rescans the SCSI bus because of an IOCTL_SCSI_RESCAN_BUS request, the SCSIPORT driver only finds new TargetIds, not new LUNs. If the TargetId matches an existing TargetId, SCSIPORT will not recognize a new device even if the LUNs are different.

Example One - Rescan Fails

Consider a system with TargetId 1 LUN 0 active. After the system has been booted, TargetId 1 LUN 1 is powered up and becomes accessible. If SCSIPORT rescans the bus, this new device will not be located because the TargetId is the same as an existing TargetId.

Example Two - Rescan Succeeds

Consider a system with TargetId 1 LUN 0 active. After the system has been booted, TargetId 2 LUN 0 is powered up and becomes accessible. If SCSIPORT rescans the bus, the new device will be located by SCSIPORT.


CAUSE

When SCSIPORT gets the IOCTL_SCSI_RESCAN_BUS command, it only checks that the TargetId doesn't match an existing TargetId rather than checking that both the TargetId and LUN are not currently known.


STATUS

Microsoft has confirmed this to be a problem in the SCSIPORT driver. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.


REFERENCES

See the Win32 SDK (Software Development Kit) documentation for details on sending control codes using DeviceIoControl. See the Windows NT DDK documentation for details on the various control codes supported by the SCSI drivers.

Additional query words: 3.50

Keywords : ntddkstorage
Version : 3.50 3.51
Platform : NT WINDOWS
Issue type :


Last Reviewed: March 4, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.