What does HRESULT 0x80830001 (ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME) mean?

 
Previous Next
ERROR_VOLSNAP_ACTIVATION_TIMEOUT ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS

ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME

Why this is narrower than a generic disk error: tiering not supported on volume

ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME has unsigned value 0x80830001. In the tiering layer, it rejects a specific contract because the addressed volume has no storage-tier capability exposed by its storage provider and file-system stack while diagnosing ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME. Diagnosis of ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME should follow file-to-tier placement metadata for the addressed volume through one controlled state transition.

Storage tiering operates above a tiered Storage Spaces virtual disk and records desired placement separately from normal file allocation in the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME path. Optimization may move data according to heat, whereas pinning expresses an explicit placement preference for a supported file or volume object for the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME request. For ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME, this object model determines which identifiers, counts and ownership state are meaningful in the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME path.

The standard message identifies the immediate condition, but ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME also requires the producer API, object topology and attempted state transition in the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME path. Capture them before an automatic refresh advances the storage generation in the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME path.

Storage facts that change the diagnosis

Storage diagnostic fieldValue for ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME
Narrow experimentquery the volume tier inventory and repeat the exact call on a known tiered Storage Spaces volume without changing the file or policy
Closest comparisonERROR_NOT_A_TIERED_VOLUME
Owning objectfile-to-tier placement metadata for the addressed volume
Rejected invariantthe addressed volume has no storage-tier capability exposed by its storage provider and file-system stack
Identity and generationvolume GUID path, storage-space and tier IDs, file ID plus file-system identity, cluster owner node, optimization job state and requested pin target
  • Correlate volume GUID path with the first ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME call and its transaction or job identifier.
  • Export storage-space for ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME; this is more useful than a drive letter or friendly name alone when ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME is returned.
  • Verify tier IDs belongs to the same storage generation that produced ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME.
  • For ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME, preserve file ID plus file-system identity before a rescan; it anchors the failed object generation in the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME path.
  • Attach cluster owner node to the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME incident so later cleanup cannot replace the original identity while diagnosing ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME.
  • Record optimization job state at the instant ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME is returned, not after an automatic refresh.
  • Correlate requested pin target with the first ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME call and its transaction or job identifier.

For ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME, keep this HRESULT as the primary result if rollback or cleanup reports another code; those later values describe recovery, not the first rejected invariant in the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME path.

A/B test for this HRESULT

  1. Capture the API parameters and object map that led to ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME; do not begin with cleanup.
  2. Build a passing control with the same disks or image copy and preserve volume GUID path, storage-space and tier IDs, file ID plus file-system identity, cluster owner node, optimization job state and requested pin target for the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME request.
  3. Run the narrow transition described here: query the volume tier inventory and repeat the exact call on a known tiered Storage Spaces volume without changing the file or policy in the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME path.
  4. Compare resulting IDs, counts, health and ownership to prove the caller crossed the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME invariant rather than suppressing it.

A useful diagnostic fork is ERROR_NOT_A_TIERED_VOLUME versus ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME. This code concerns the addressed volume has no storage-tier capability exposed by its storage provider and file-system stack; the alternate code should remain observable after the fix, proving the application did not suppress the entire subsystem in the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME path.

Mechanism-specific note for ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME

Capability must be queried from the actual backing virtual disk and provider for ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME. A fast SSD plus a slow HDD do not automatically make an arbitrary volume tiered in the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME path. Confirm a Storage Spaces tier configuration and the file-system/provider support before exposing pin or tier-optimization controls for the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME request.

Corrective action and regression check

Re-enumerate the volume, its storage tiers and the file object on the owner node; serialize optimization jobs and apply pinning only to supported objects on a live tiered volume for the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME request. The ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME repair is incomplete until a fresh enumeration and new handle observe the corrected state within the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME workflow.

  • The original ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME request now reaches success or a documented later status with the intended layout and access mode in the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME path.
  • A new enumeration reports internally consistent IDs, counts, geometry and ownership for the object corrected after ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME.
  • The passing state survives the lifecycle transition relevant to ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME, such as reopen, remount, owner change or detach/attach within the ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME workflow.
  • The application still distinguishes ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME from ERROR_NOT_A_TIERED_VOLUME and has no unbounded retry loop.

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

Technical references


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