What does HRESULT 0x8004281C (VDS_E_LUN_NOT_READY) mean?

 
Previous Next
VDS_E_LUN_DISK_NO_MEDIA VDS_E_LUN_OFFLINE

VDS_E_LUN_NOT_READY

VDS_LUN_STATUS defines VDS_LS_NOT_READY as a busy LUN. This HRESULT is therefore a LUN-object state precondition, not a statement that the associated filesystem is dirty or that a disk path is missing. VDS refuses the shrink while the logical unit is not ready for the capacity-changing operation.

Why this state matters

The reason for the busy state belongs to the hardware provider or storage subsystem. Another maintenance, recovery, replication, controller, or vendor-specific operation can keep a LUN from becoming ready. Retrying in a tight loop hides the transition and can compete with the operation that must finish first.

Diagnostic focus

  • Query the LUN properties and transition/health information around the failure, not only the host disk status.
  • Check the array/provider task list for an in-progress operation affecting the same LUN.
  • Wait for provider notifications or poll with a bounded interval until the LUN state changes from NOT READY.
  • Reacquire the current LUN object and capacity before issuing the shrink because another operation may have changed its size.

Technical references

VDS_LUN_STATUS · IVdsLun · IVdsLun::Shrink · VDS_ASYNC_OUTPUT_TYPE · MS-VDS error codes


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