For Infoscale on Windows platform, the DMP Device Specific Module returns a bogus path during a path failover operation

book

Article ID: 100022081

calendar_today

Updated On:

Description

Error Message

Log Name: System
Source: mpio
Date: DD/MM/YYYY HH:MM:SS
Event ID: 33
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: HOSTNAME
Description:
DSM NAME returned a bogus Path to \Device\MPIODisk#.

Cause

DMP DSM uses the DsmInvalidatePath API from the Microsoft MPIO framework.  

In the event of a path failure, a surviving path is returned without knowledge of which specific disks have a path that is being removed.  

If the disks therefore share some paths and not other paths, there is a possibility that a disk may be given a path that does not belong to it.

Resolution

In order to avoid this issue, the following conditions should be met:
  • If a disk shares any paths with another disk in the same array, they must share exactly the same paths.
  • If a disk does not share a path with a disk in the same array, then they must not share any paths.

That is, they must either share all paths, or share no paths.  This is known as a share-all or share-nothing configuration.

Example:
 
Control Devices: Paths 1-10
Harddisks1-5: Paths 1-5
Harddisks6-10: Paths 6-10
 
In this scenario, if path 1 fails and MPIO requests an available failover path from a Control device, it can choose any path from paths 2-10. If it chooses path 6, then all disks with failed I/O on path 1 may attempt to move to path 6. In this case, since Harddisks 1-5 do NOT have path 6 available, this could result in failed I/O and the "Bogus Path" message being logged.

 

Issue/Introduction

For Infoscale on Windows platform, the Dynamic Multi-Pathing (DMP) Device Specific Module (DSM), returns a bogus path during a path failover operation.

If a path fails or is removed during I/O, DMP DSM may return a bogus path which causes IO to the volume to fail.