| Previous | Next |
| ERROR_TIERING_STORAGE_TIER_NOT_FOUND | ERROR_TIERING_WRONG_CLUSTER_NODE |
ERROR_TIERING_INVALID_FILE_ID
Interpret the state transition: tiering invalid file id
Windows returns ERROR_TIERING_INVALID_FILE_ID, value 0x80830004, at the tiering boundary. It means that the supplied file identifier does not resolve to the intended file on the current volume generation. Preserve the exact handle and generation of file-to-tier placement metadata for the addressed volume before any rescan changes the evidence.
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.
Keep the first result attached to its request parameters and object instance. Cleanup failures or a later drive-letter change are secondary evidence, not replacements for the original failure.
Record geometry, identity and ownership
| Storage diagnostic field | Value |
|---|---|
| Owning object | file-to-tier placement metadata for the addressed volume |
| Rejected invariant | the supplied file identifier does not resolve to the intended file on the current volume generation |
| 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 |
| Narrow experiment | resolve the file by path and by ID on the same mounted volume, then repeat after reopening the volume handle without moving the file |
| Closest comparison | ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME |
A management layer handling this result should report later recovery errors separately, because they answer a different question from the failed storage operation.
Separate validation from capability
- Before changing state, freeze the failing generation and save volume GUID path, storage-space and tier IDs, file ID plus file-system identity, cluster owner node, optimization job state and requested pin target.
- Exercise this exact comparison: resolve the file by path and by ID on the same mounted volume, then repeat after reopening the volume handle without moving the file.
- During the comparison, keep image bytes, unrelated disks, provider policy and cluster topology fixed.
- After the test, record the next return value and the durable object state; crossing the boundary should expose a later result rather than silently retrying.
ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME describes a nearby but different storage condition; this result indicates that the supplied file identifier does not resolve to the intended file on the current volume generation.
Mechanism-specific note
File IDs are volume-scoped and can become stale after delete/recreate or after using a handle from another volume. Record volume serial or GUID with the file ID. Reopen the file by path and obtain a fresh identifier before retrying; do not assume a matching numeric ID on another volume names the same file.
Verification after correction
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. Keep the correction scoped to the owning object and avoid rewriting adjacent metadata merely to make the call return success.
- The controlled A/B case changes only the invariant that triggers this result.
- No unrelated disk, cluster owner, tier policy or virtual-disk backing file is altered to hide this result.
- Health, synchronization or job state reaches a terminal value consistent with the repaired operation.
- Telemetry includes both symbolic names when it or
ERROR_TIERING_NOT_SUPPORTED_ON_VOLUMEoccurs again.
Technical references
- Microsoft: MSFT_FileStorageTier class — primary API or object-model reference.
- Microsoft: Set method of MSFT_FileStorageTier — use this source to verify tiering state and parameters.
- Microsoft: Optimize-Volume — documents the supported management path relevant to this HRESULT.
- Microsoft: fsutil tiering — defines the tiering objects used to interpret it.
Looking for a different code? Search another status or error code.
