What does HRESULT 0x8004254E (VDS_E_INVALID_VOLUME_LENGTH) mean?

 
Previous Next
VDS_E_UNEXPECTED_DISK_LAYOUT_CHANGE VDS_E_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE

VDS_E_INVALID_VOLUME_LENGTH

This HRESULT rejects the total volume length as a structural value. VDS volumes are assembled from disk extents and plex/member topology; a requested or reconstructed length must agree with those components. The error is distinct from “not enough free space” because it can occur when the numerical length is internally impossible even on a large disk.

Why this state matters

Calculate lengths from current extent data using 64-bit arithmetic. For mirrored layouts, logical volume size is not the sum of all mirror copies; for striped or spanned layouts, member and extent rules also affect the derived size. Preserve units at the API boundary because VDS structure sizes and offsets are expressed in bytes.

Diagnostic focus

  • Recompute the length from the current VDS extent and plex/member model using 64-bit values.
  • Verify that all callers pass bytes rather than sectors, clusters, or megabytes.
  • Do not sum redundant mirror plexes when deriving logical volume length.
  • Compare the requested length with the value returned by current VDS volume properties before retrying.

Technical references

IVdsDisk::QueryExtents · VDS_PARTITION_PROP · IVdsDisk · Basic and Dynamic Disks · MS-VDS error codes


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