| 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 this result. Diagnosis of it 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. Optimization may move data according to heat, whereas pinning expresses an explicit placement preference for a supported file or volume object. This object model determines which identifiers, counts and ownership state are meaningful.
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.
Storage facts that change the diagnosis
| Storage diagnostic field | Value |
|---|---|
| Narrow experiment | query the volume tier inventory and repeat the exact call on a known tiered Storage Spaces volume without changing the file or policy |
| Closest comparison | ERROR_NOT_A_TIERED_VOLUME |
| Owning object | file-to-tier placement metadata for the addressed volume |
| Rejected invariant | the addressed volume has no storage-tier capability exposed by its storage provider and file-system stack |
| Identity and generation | volume GUID path, storage-space and tier IDs, file ID plus file-system identity, cluster owner node, optimization job state and requested pin target |
Keep this HRESULT as the primary result if rollback or cleanup reports another code; those later values describe recovery, not the first rejected invariant.
A/B test for this HRESULT
- Capture the API parameters and object map that led to this result; do not begin with cleanup.
- 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.
- 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.
- Compare resulting IDs, counts, health and ownership to prove the caller crossed the result invariant rather than suppressing it.
A useful diagnostic fork is ERROR_NOT_A_TIERED_VOLUME versus this result. 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.
Mechanism-specific note
Capability must be queried from the actual backing virtual disk and provider for it. A fast SSD plus a slow HDD do not automatically make an arbitrary volume tiered. Confirm a Storage Spaces tier configuration and the file-system/provider support before exposing pin or tier-optimization controls.
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. The result repair is incomplete until a fresh enumeration and new handle observe the corrected state.
- The original request now reaches success or a documented later status with the intended layout and access mode.
- A new enumeration reports internally consistent IDs, counts, geometry and ownership for the object corrected after it.
- The passing state survives the lifecycle transition relevant to it, such as reopen, remount, owner change or detach/attach.
- The application still distinguishes it from
ERROR_NOT_A_TIERED_VOLUMEand has no unbounded retry loop.
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.
Technical references
- Microsoft: MSFT_FileStorageTier class — documents the supported management path relevant to it.
- Microsoft: Set method of MSFT_FileStorageTier — defines the tiering objects used to interpret it.
- Microsoft: Optimize-Volume — primary API or object-model reference for the boundary.
- Microsoft: fsutil tiering — use this source to verify tiering state and parameters for it.
Looking for a different code? Search another status or error code.