| Previous | Next |
| ERROR_VOLMGR_MEMBER_INDEX_INVALID | ERROR_VOLMGR_MEMBER_NOT_DETACHED |
ERROR_VOLMGR_MEMBER_MISSING
Identify the owner before touching the layout: volmgr member missing
ERROR_VOLMGR_MEMBER_MISSING (0xC0380026) is emitted by the volmgr path when the layout references a plex member whose backing disk extent is absent from the current pack. The deciding object for it is dynamic-volume plex member descriptor and its backing extents, so the first investigation belongs there rather than in a generic “disk failure” bucket.
Dynamic volumes are represented as packs containing disks and volumes; each volume has one or more plexes, and each plex is assembled from members and extents for it. Indices and counts are relative to the submitted layout generation, while configuration logs are replicated across participating dynamic disks. This object model determines which identifiers, counts and ownership state are meaningful while diagnosing this result.
The standard message identifies the immediate condition, but this result also requires the producer API, object topology and attempted state transition. Capture them before an automatic refresh advances the storage generation.
Minimum diagnostic set
| Storage diagnostic field | Value |
|---|---|
| Rejected invariant | the layout references a plex member whose backing disk extent is absent from the current pack |
| Identity and generation | pack ID, volume ID, plex index, member index, disk IDs, extent offsets, health state and regeneration percentage |
| Narrow experiment | capture the disk/extent inventory, re-present the missing test disk without changing IDs, and repeat the lookup or repair request |
| Closest comparison | ERROR_VOLMGR_MEMBER_NOT_DETACHED |
| Owning object | dynamic-volume plex member descriptor and its backing extents |
A management layer handling this result should report later recovery errors separately, because they answer a different question from the failed storage operation for it.
Reproduce without destructive cleanup
- Create a nonproduction case for it that preserves the same geometry and ownership model.
- Collect pack ID, volume ID, plex index, member index, disk IDs, extent offsets, health state and regeneration percentage before invoking the first mutating API.
- Change one condition only: capture the disk/extent inventory, re-present the missing test disk without changing IDs, and repeat the lookup or repair request while diagnosing this result.
- Re-enumerate after the transition and confirm it is not reproduced by a stale handle from the old generation while diagnosing it.
A useful diagnostic fork is ERROR_VOLMGR_MEMBER_NOT_DETACHED versus it. This code concerns the layout references a plex member whose backing disk extent is absent from the current pack; the alternate code should remain observable after the fix, proving the application did not suppress the entire subsystem for it.
Mechanism-specific note
“Missing” is an identity result: metadata names an object whose backing extents are not present in the current pack view. Compare disk unique IDs and extent offsets rather than substituting a same-sized disk. If the original disk returns, re-enumerate before repair so the recovered object is matched to its existing metadata instead of added as a new member.
Restore the contract
Restore access to the identified disk or extent and confirm its identity and health; do not substitute a different disk merely because its size matches for it. The result repair is incomplete until a fresh enumeration and new handle observe the corrected state.
- the first retry uses newly enumerated identifiers rather than cached handles.
- The durable metadata or provider state agrees with the success returned after it.
- A second run after close/reopen does not recreate the rejected the condition.
- the nearby
ERROR_VOLMGR_MEMBER_NOT_DETACHEDpath remains separately testable and separately logged.
Avoid broad rescans, forced failovers and metadata deletion until identities and generations are captured for it. Those actions can make a stale request appear to heal without fixing its caller.
Technical references
- Microsoft: COM error codes for VOLMGR, VHD and SDIAG — defines the volmgr objects used to interpret it.
- Microsoft: Virtual Disk Service object model — primary API or object-model reference for the boundary.
- Microsoft: Pack object — use this source to verify volmgr state and parameters for it.
- Microsoft: Virtual Disk Service common return codes — documents the supported management path relevant to it.
Looking for a different code? Search another status or error code.
