| Previous | Next |
| ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME | ERROR_TIERING_STORAGE_TIER_NOT_FOUND |
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS
Identify the owner before touching the layout: tiering volume dismount in progress
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS (0x80830002) is emitted by the tiering path when tier metadata was requested while the volume was leaving the mounted state and its tier-management context was being torn down when ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS is returned. The deciding object for ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS is file-to-tier placement metadata for the addressed volume, so the first investigation belongs there rather than in a generic “disk failure” bucket in the ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS path.
Storage tiering operates above a tiered Storage Spaces virtual disk and records desired placement separately from normal file allocation within the ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS workflow. Optimization may move data according to heat, whereas pinning expresses an explicit placement preference for a supported file or volume object for ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS. For ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS, this object model determines which identifiers, counts and ownership state are meaningful when ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS is returned.
Diagnosis of ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS should begin with the object model and generation current at the failure for the ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS request. A later successful enumeration may describe a replacement object and cannot retroactively validate the rejected request for ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS.
Minimum diagnostic set
| Storage diagnostic field | Value for ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS |
|---|---|
| Closest comparison | ERROR_TIERING_ALREADY_PROCESSING |
| Owning object | file-to-tier placement metadata for the addressed volume |
| Rejected invariant | tier metadata was requested while the volume was leaving the mounted state and its tier-management context was being torn down |
| 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 | query the volume tier inventory and repeat the exact call on a known tiered Storage Spaces volume without changing the file or policy |
- Export volume GUID path for
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS; this is more useful than a drive letter or friendly name alone while diagnosing ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS. - Verify storage-space belongs to the same storage generation that produced
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS. - For
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS, preserve tier IDs before a rescan; it anchors the failed object generation while diagnosing ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS. - Attach file ID plus file-system identity to the
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESSincident so later cleanup cannot replace the original identity when ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS is returned. - Record cluster owner node at the instant
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESSis returned, not after an automatic refresh. - Correlate optimization job state with the first
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESScall and its transaction or job identifier. - Export requested pin target for
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS; this is more useful than a drive letter or friendly name alone within the ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS workflow.
For ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS, keep this HRESULT as the primary result if rollback or cleanup reports another code; those later values describe recovery, not the first rejected invariant for the ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS request.
Reproduce without destructive cleanup
- For
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS, serialize the failing request and the enumeration from which its identifiers came while diagnosing ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS. - 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 while every handle is still valid for ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS.
- Repeat the operation using this controlled change: query the volume tier inventory and repeat the exact call on a known tiered Storage Spaces volume without changing the file or policy for the ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS request.
- Close and reacquire the relevant objects, then run once more to test lifecycle correctness after
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS.
Use ERROR_TIERING_ALREADY_PROCESSING as the nearest comparison. ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS is specific to tier metadata was requested while the volume was leaving the mounted state and its tier-management context was being torn down; the neighboring result belongs to another validation or lifecycle branch within the ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS workflow. Keeping both names prevents a generic storage label from hiding the actual owner while diagnosing ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS.
Mechanism-specific note for ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS
Dismount invalidates the tier-management context and can race with background optimization in the ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS path. Capture mount-state transitions and the component initiating dismount while diagnosing ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS. Wait for remount and re-enumerate tiers; retaining the old volume or file handle across dismount is not a supported retry strategy when ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS is returned.
Restore the contract
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 when ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS is returned. The ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS repair is incomplete until a fresh enumeration and new handle observe the corrected state when ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS is returned.
- For
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS, the first retry uses newly enumerated identifiers rather than cached handles within the ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS workflow. - The durable metadata or provider state agrees with the success returned after
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS. - A second run after close/reopen does not recreate the rejected
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESScondition. - For
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS, the nearbyERROR_TIERING_ALREADY_PROCESSINGpath remains separately testable and separately logged.
Do not use ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS as a reason to edit dynamic-disk sectors, VHDX metadata, RCT sidecars or snapshot support files directly for ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS. Unsupported edits can turn a recoverable state mismatch into persistent corruption within the ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS workflow.
Technical references
- Microsoft: MSFT_FileStorageTier class — defines the tiering objects used to interpret
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS. - Microsoft: Set method of MSFT_FileStorageTier — primary API or object-model reference for the
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESSboundary. - Microsoft: Optimize-Volume — use this source to verify tiering state and parameters for
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS. - Microsoft: fsutil tiering — documents the supported management path relevant to
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS.
Looking for a different code? Search another status or error code.