Skip to main content

submit_async_storage_op

Function submit_async_storage_op 

Source
pub(crate) fn submit_async_storage_op(
    port_idx: u8,
    lba: u64,
    byte_count: u32,
    user_buf_vaddr: u64,
    write: bool,
    ring_id: u64,
    user_data: u64,
) -> Result<(), AhciError>
Expand description

Public entry point called from async_io::dispatch.

Validates the port index, looks up the AHCI device, allocates a DMA buffer, stores async metadata, and issues the command.

On success the caller should increment the ring’s in-flight counter. On failure an error CQE is returned so dispatch can push it immediately.