A D1 Stop error may occur when you use Microsoft Multipath I/O (MPIO) together with multiple host bus adapters on a Windows Server 2003-based computer

Support for Windows Server 2003 ended on July 14, 2015

Microsoft ended support for Windows Server 2003 on July 14, 2015. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

This article has been archived. It is offered "as is" and will no longer be updated.
Symptoms
When you use Microsoft Multipath I/O (MPIO) together with multiple host bus adapters (HBAs) on a Windows Server 2003-based computer, a D1 Stop error may occur on the computer.
Cause
This issue occurs if the following conditions are true:
  • HBAs that have different characteristics are used in the same operating system.
  • The HBA drivers report different capabilities for the supported MaximumTransferLength information or for the supported MaximumPhysicalPages information.
In this case, if an I/O is sent down the path of an HBA that is used together with MPIO and if the I/O is larger than the path can handle, the Stop error occurs.


Note: This behavior can occur, regardles of the HBA protocol used. For example, iSCSI or Fibre Channel.

Resolution
To resolve this issue, do not use HBAs that have different characteristics in an MPIO environment.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
More information
In an MPIO environment, the paths that connect to the SAN array must be managed by the same HBA types. Specifically, the information that is requested by class drivers through the IOCTL_STORAGE_QUERY_PROPERTY request for the STORAGE_PROPERTY_QUERY structure must return the same results for any given path under the pseudo-logical unit number (LUN). The reason is that the disk I/O transactions are split according to the MaximumTransferLength information and the MaximumPhysicalPages information.

For example, if an MPIO configuration has heterogeneous HBAs that manage the paths, MPIO depends on which path receives the IOCTL_STORAGE_QUERY_PROPERTY request from the class driver through the pseudo-LUN. For this to work correctly, each path must be maintained independently in the MPIO environment. However, this breaks the path-agnostic design of MPIO and requires MPIO to have hardware-level knowledge of the underlying HBA hardware.
Properties

Article ID: 969255 - Last Review: 01/15/2015 18:36:36 - Revision: 3.0

Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems, Microsoft Windows Server 2003, Standard x64 Edition, Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems, Microsoft Windows Server 2003, Datacenter x64 Edition, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard

  • kbnosurvey kbarchive kbprb kbsurveynew kbexpertiseadvanced kbtshoot KB969255
Feedback