What does HRESULT 0xC0380057 (ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED) mean?

 
Could be also:
ConstantTypeOS
STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNEDNTSTATUSWindows
Previous Next
ERROR_VOLMGR_VOLUME_MIRRORED ERROR_VOLMGR_NO_VALID_LOG_COPIES

ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED

Identify the owner before touching the layout: volmgr plex not simple spanned

The practical meaning of ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED (0xC0380057) is tied to volume plex descriptor, layout type and regeneration state: the selected plex is neither simple nor spanned, which are the only layouts accepted by this operation while diagnosing this result. The result does not, by itself, prove file-system corruption or physical-media failure.

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 while diagnosing this result. Indices and counts are relative to the submitted layout generation, while configuration logs are replicated across participating dynamic disks for it. This object model determines which identifiers, counts and ownership state are meaningful.

A useful record contains more than the final UI symptom: retain the first failing call, target identity, topology and state transition before management software rescans the disks.

Minimum diagnostic set

Storage diagnostic fieldValue
Narrow experimentrepeat the operation on simple, spanned and striped test plexes while preserving volume size and disk health
Closest comparisonERROR_VOLMGR_PLEX_NOT_SIMPLE
Owning objectvolume plex descriptor, layout type and regeneration state
Rejected invariantthe selected plex is neither simple nor spanned, which are the only layouts accepted by this operation
Identity and generationvolume ID, plex ordinal, plex type, member array, active/inactive state, health status and current regeneration job

A management layer handling this result should report later recovery errors separately, because they answer a different question from the failed storage operation.

Reproduce without destructive cleanup

  1. Capture the API parameters and object map that led to this result; do not begin with cleanup.
  2. Build a passing control with the same disks or image copy and preserve volume ID, plex ordinal, plex type, member array, active/inactive state, health status and current regeneration job.
  3. Run the narrow transition described here: repeat the operation on simple, spanned and striped test plexes while preserving volume size and disk health.
  4. Compare resulting IDs, counts, health and ownership to prove the caller crossed the result invariant rather than suppressing it.

Compare traces for ERROR_VOLMGR_PLEX_NOT_SIMPLE and it. The latter page covers a nearby storage boundary, whereas it rejects the selected plex is neither simple nor spanned, which are the only layouts accepted by this operation for it. A correct caller should be able to reproduce each case independently.

Mechanism-specific note

Simple, spanned, striped and parity plexes expose different address mappings. Preserve the type and the extent-to-disk order while diagnosing it. An operation that edits linear extent boundaries cannot safely be applied to a striped or parity mapping even when the total byte length is identical for it.

Restore the contract

Select an operation compatible with the actual plex type and keep at least one active data copy throughout detach, repair or regeneration while diagnosing it. Apply the change through the supported storage API, then close and reacquire affected objects before retrying.

  • 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_PLEX_NOT_SIMPLE path remains separately testable and separately logged.

A reboot, blanket disk conversion or deletion of storage metadata is not a justified first response to it; it changes multiple invariants and can erase the evidence needed to identify the defect while diagnosing it.

Technical references


Looking for a different code? Search another status or error code.