What does NTSTATUS 0xC0510001 (STATUS_IO_PREEMPTED) mean?

 
Previous Next
STATUS_VOLSNAP_ACTIVATION_TIMEOUT STATUS_SVHDX_ERROR_STORED

STATUS_IO_PREEMPTED

Preemption means the operation has to continue later

STATUS_IO_PREEMPTED explicitly says that a higher-priority operation displaced the current operation and that it must be resumed later. Windows I/O has priority metadata: IO_PRIORITY_HINT defines priority hints for IRPs, and the Windows I/O model represents driver requests as I/O request packets. The exact component that chooses to preempt work is still specific to the operation returning this NTSTATUS.

Do not convert the status into a permanent device failure or a successful short operation. The caller needs to retain enough operation state to continue at the correct point. Whether that state is an offset, descriptor index, range token, or other checkpoint depends on the API or driver contract; the NTSTATUS value does not define a universal resume structure.

The main implementation bug to look for is restarting non-idempotent work from the beginning after every preemption or discarding partial progress. Record the higher-priority activity, the progress already committed, and the exact resume mechanism of the subsystem that issued the status.

What to inspect

  • The component returning the NTSTATUS and the operation-specific progress or continuation state it provides.
  • The higher-priority operation active at the same time and the I/O priority information available on the request.
  • Whether retry logic resumes from a documented checkpoint or incorrectly repeats already committed work.

References


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