Bus Reset Test

This is an optional test that will execute repeated cycles on every disk. Each cycle will attempt to time out an IO request on every disk once by withholding the request from the miniport. This will trigger Storport to send a RESET_LUN at which point the test will either forward the held IO request to the miniport together with the RESET_LUN or complete the held IO request and forward only the RESET_LUN. The test comes in several flavors:

  • Lun Reset Test With Outstanding IO - All Disks - Forwards the held request and tests resets on all disks on the controller in parallel.
  • Lun Reset Test With Outstanding IO - Single Disk - Forwards the held request and tests resets on the first disk on the controller by PhysicalDrive number.
  • Lun Reset Test Without Outstanding IO - All Disks - Completes the held request and tests resets on all disks on the controller in parallel.
  • Lun Reset Test Without Outstanding IO - Single Disk - Completes the held request and tests resets on the first disk on the controller by PhysicalDrive number.
  • Bus Reset Test - Same as Lun Reset Test With Outstanding IO - All Disks but it will also fail the RESET_LUN command on purpose so that Storport will send a Bus Reset.

Test details

   
Specifications
  • Device.Storage.Controller.AzureStack.BasicFunction
Platforms
  • Windows 10, client editions (x86)
  • Windows 10, client editions (x64)
  • Windows Server 2016 (x64)
Supported Releases
  • Windows 10
  • Windows 10, version 1511
  • Windows 10, version 1607
  • Windows 10, version 1703
  • Windows 10, version 1709
  • Windows 10, version 1803
  • Windows 10, version 1809
  • Windows 10, version 1903
  • Next update to Windows 10
Expected run time (in minutes) 60
Category Development
Timeout (in minutes) 3600
Requires reboot false
Requires special configuration false
Type automatic

 

Additional documentation

Tests in this feature area might have additional documentation, including prerequisites, setup, and troubleshooting information, that can be found in the following topic(s):

Running the test

This test should be run on a nonboot storage controller. Running on a boot controller is possible, but requires at least one nonboot disk attached. This test will not execute on the boot disk. The expected result is for there to be no IOs stuck in the miniport after the RESET_LUNs and RESET_BUSs. Verification is done by restarting the machine after the test. To run this in a dual initiator setup, schedule this test on two machines connected to shared storage. Resets on one initiator should not adversely affect the other initiator. For Single Disk tests, double check that the two initiators are testing against the same physical disk in the shared storage.

Troubleshooting

For generic troubleshooting of HLK test failures, see Troubleshooting Windows HLK Test Failures.

For troubleshooting, use a debugger to verify that the test driver is loaded at boot during the test portion: StorPortShimLib: ShimInitialize called StorPortShimLib: Entering DriverAdd. CoreTestShim installed. Done with registry checks StorPortShimLib: Hooking driver: <storportminiportname>.sys

More information

Parameters

Parameter name Parameter description
WDKDeviceID Device instance path of test device
LLU_LclAdminUsr Administrator account to run test
LLU_NetAccessOnly User to access test network share
WDKHardwareID Hardware ID of test device
TestDuration Test Duration in seconds
TestName Test to run