What does HRESULT 0x80042532 (VDS_E_INVALID_BLOCK_SIZE) mean?

 
Previous Next
VDS_E_ONE_EXTENT_PER_DISK VDS_E_PLEX_SIZE_INVALID

VDS_E_INVALID_BLOCK_SIZE

The published VDS error defines this as a failure to find a nonzero value in either the volume stripe size or disk sector size. Those values participate at different layers: stripe size describes interleave for striped/parity plexes, while disk sector size describes device geometry. A zero result for both leaves the volume manager without the block-size basis expected by the layout path.

Why this state matters

Do not diagnose this as a generic “bad buffer size.” Capture the plex type, reported disk sector sizes, and stripe-size field together. For non-striped plexes the stripe field should normally be zero, so a valid sector size becomes especially important. If disk geometry is reported as zero, investigate provider or device enumeration rather than inventing a default in management code.

Diagnostic focus

  • Log ulStripeSize, plex type, and bytes-per-sector for all contributing disks.
  • For simple or spanned plexes, expect stripe size to be zero and verify disk geometry is valid.
  • For stripe/parity creation, validate the documented stripe-size rule before entering the provider.
  • Never repair the request by substituting an arbitrary 512-byte value when the provider reported zero sector size.

Technical references

VDS_VOLUME_PLEX_PROP · IVdsPack2::CreateVolume2 · Disk Object · VDS_VOLUME_PLEX_TYPE · VDS common return codes


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