BUG: IOCTL_SCSI_RESCAN_BUS Finds New TargetIds, Not New LUNs
PSS ID Number: 141988
Article Last Modified on 10/2/2003
The information in this article applies to:
- Microsoft Win32 Device Driver Kit (DDK) for Windows NT 3.5
- Microsoft Win32 Device Driver Kit (DDK) for Windows NT 3.51
This article was previously published under Q141988
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: KB141988
Technology: kbAudDeveloper kbWin32DDKNT350 kbWin32DDKNT351 kbWin32DDKNTSearch kbWin32DDKSearch kbWin32sSearch kbWinDDKSearch