|
|
template<typename Fd> |
| auto | get_queue_affinity (Fd fd, uint32_t dev_id, uint16_t q_id, void *data, uint16_t size, uint16_t dev_path_len) noexcept |
| | Unprivileged version of get_queue_affinity().
|
| template<typename Fd> |
| auto | get_queue_affinity (Fd fd, uint32_t dev_id, uint16_t q_id, cpu_set_t *cpuset) noexcept |
| | Get the queue affinity for a specific ublk queue.
|
|
template<typename Fd> |
| auto | get_dev_info (Fd fd, uint32_t dev_id, void *data, uint16_t size, uint16_t dev_path_len) noexcept |
| | Unprivileged version of get_dev_info().
|
| template<typename Fd> |
| auto | get_dev_info (Fd fd, uint32_t dev_id, ublksrv_ctrl_dev_info *info) noexcept |
| | Get the device information for a specific ublk device.
|
| template<typename Fd> |
| auto | add_dev (Fd fd, ublksrv_ctrl_dev_info *info) noexcept |
| | Add a new ublk device.
|
|
template<typename Fd> |
| auto | del_dev (Fd fd, uint32_t dev_id, const char *dev_path, uint16_t dev_path_len) noexcept |
| | Unprivileged version of del_dev().
|
| template<typename Fd> |
| auto | del_dev (Fd fd, uint32_t dev_id) noexcept |
| | Delete a ublk device.
|
|
template<typename Fd> |
| auto | start_dev (Fd fd, uint32_t dev_id, int32_t daemon_pid, const char *dev_path, uint16_t dev_path_len) noexcept |
| | Unprivileged version of start_dev().
|
| template<typename Fd> |
| auto | start_dev (Fd fd, uint32_t dev_id, int32_t daemon_pid) noexcept |
| | Start a ublk device.
|
|
template<typename Fd> |
| auto | stop_dev (Fd fd, uint32_t dev_id, const char *dev_path, uint16_t dev_path_len) noexcept |
| | Unprivileged version of stop_dev().
|
| template<typename Fd> |
| auto | stop_dev (Fd fd, uint32_t dev_id) noexcept |
| | Stop a ublk device.
|
|
template<typename Fd> |
| auto | set_params (Fd fd, uint32_t dev_id, const void *data, uint16_t size, uint16_t dev_path_len) noexcept |
| | Unprivileged version of set_params().
|
| template<typename Fd> |
| auto | set_params (Fd fd, uint32_t dev_id, const ublk_params *params) noexcept |
| | Set the parameters of a ublk device.
|
|
template<typename Fd> |
| auto | get_params (Fd fd, uint32_t dev_id, void *data, uint16_t size, uint16_t dev_path_len) noexcept |
| | Unprivileged version of get_params().
|
| template<typename Fd> |
| auto | get_params (Fd fd, uint32_t dev_id, ublk_params *params) noexcept |
| | Get the parameters of a ublk device.
|
|
template<typename Fd> |
| auto | start_user_recovery (Fd fd, uint32_t dev_id, const char *dev_path, uint16_t dev_path_len) noexcept |
| | Unprivileged version of start_user_recovery().
|
| template<typename Fd> |
| auto | start_user_recovery (Fd fd, uint32_t dev_id) noexcept |
| | Start user recovery for a ublk device.
|
|
template<typename Fd> |
| auto | end_user_recovery (Fd fd, uint32_t dev_id, int32_t daemon_pid, const char *dev_path, uint16_t dev_path_len) noexcept |
| | Unprivileged version of end_user_recovery().
|
| template<typename Fd> |
| auto | end_user_recovery (Fd fd, uint32_t dev_id, int32_t daemon_pid) noexcept |
| | End user recovery for a ublk device.
|
| template<typename Fd> |
| auto | get_dev_info2 (Fd fd, uint32_t dev_id, void *data, uint16_t size, uint16_t dev_path_len) noexcept |
| | Get the device information of a ublk device, works both for privileged and unprivileged modes.
|
| template<typename Fd> |
| auto | get_features (Fd fd, uint64_t *features) noexcept |
| | Get the feature flags supported by the ublk driver.
|
|
template<typename Fd> |
| auto | del_dev_async (Fd fd, uint32_t dev_id, const char *dev_path, uint16_t dev_path_len) noexcept |
| | Unprivileged version of del_dev_async().
|
| template<typename Fd> |
| auto | del_dev_async (Fd fd, uint32_t dev_id) noexcept |
| | Delete a ublk device asynchronously.
|
|
template<typename Fd> |
| auto | update_size (Fd fd, uint32_t dev_id, uint64_t sectors, const char *dev_path, uint16_t dev_path_len) noexcept |
| | Unprivileged version of update_size().
|
| template<typename Fd> |
| auto | update_size (Fd fd, uint32_t dev_id, uint64_t sectors) noexcept |
| | Update the size of a ublk device.
|
|
template<typename Fd> |
| auto | quiesce_dev (Fd fd, uint32_t dev_id, uint64_t timeout_ms, const char *dev_path, uint16_t dev_path_len) noexcept |
| | Unprivileged version of quiesce_dev().
|
| template<typename Fd> |
| auto | quiesce_dev (Fd fd, uint32_t dev_id, uint64_t timeout_ms) noexcept |
| | Quiesce a ublk device (UBLK_F_QUIESCE).
|
|
template<typename Fd> |
| auto | try_stop_dev (Fd fd, uint32_t dev_id, const char *dev_path, uint16_t dev_path_len) noexcept |
| | Unprivileged version of try_stop_dev().
|
| template<typename Fd> |
| auto | try_stop_dev (Fd fd, uint32_t dev_id) noexcept |
| | Try to stop a ublk device if it has no openers (UBLK_F_SAFE_STOP_DEV).
|
|
template<typename Fd> |
| auto | register_shm_buf (Fd fd, uint32_t dev_id, const void *data, uint16_t size, uint16_t dev_path_len) noexcept |
| | Unprivileged version of register_shm_buf().
|
| template<typename Fd> |
| auto | register_shm_buf (Fd fd, uint32_t dev_id, const ublk_shmem_buf_reg *reg) noexcept |
| | Register a shared memory buffer for zero-copy I/O on a ublk device (UBLK_F_SHMEM_ZC).
|
|
template<typename Fd> |
| auto | unregister_shm_buf (Fd fd, uint32_t dev_id, uint64_t buf_index, const char *dev_path, uint16_t dev_path_len) noexcept |
| | Unprivileged version of unregister_shm_buf().
|
| template<typename Fd> |
| auto | unregister_shm_buf (Fd fd, uint32_t dev_id, uint64_t buf_index) noexcept |
| | Unregister a shared memory buffer from a ublk device.
|
|
template<typename Fd> |
| auto | fetch_req (Fd fd, uint16_t q_id, uint16_t tag, uint64_t buf_addr, uint64_t sqe_addr) noexcept |
| | Overload of fetch_req() with an explicit sqe->addr, used for automatic request buffer registration (UBLK_F_AUTO_BUF_REG).
|
| template<typename Fd> |
| auto | fetch_req (Fd fd, uint16_t q_id, uint16_t tag, uint64_t buf_addr) noexcept |
| | Fetch an I/O request from a ublk queue.
|
|
template<typename Fd> |
| auto | commit_and_fetch_req (Fd fd, uint16_t q_id, uint16_t tag, int32_t result, uint64_t buf_addr, uint64_t sqe_addr) noexcept |
| | Overload of commit_and_fetch_req() with an explicit sqe->addr, used for automatic request buffer registration (UBLK_F_AUTO_BUF_REG).
|
| template<typename Fd> |
| auto | commit_and_fetch_req (Fd fd, uint16_t q_id, uint16_t tag, int32_t result, uint64_t buf_addr) noexcept |
| | Commit the result of an I/O request to the driver and fetch the next request for the same queue.
|
| template<typename Fd> |
| auto | need_get_data (Fd fd, uint16_t q_id, uint16_t tag, uint64_t buf_addr) noexcept |
| | Copy the data of a write request into the user buffer after the driver returns UBLK_IO_RES_NEED_GET_DATA.
|
| template<typename Fd> |
| auto | register_io_buf (Fd fd, uint16_t q_id, uint16_t tag, uint64_t buf_index) noexcept |
| | Register the buffer of an in-flight request into the io_uring buffer table for zero-copy I/O (UBLK_F_SUPPORT_ZERO_COPY).
|
| template<typename Fd> |
| auto | unregister_io_buf (Fd fd, uint16_t q_id, uint16_t tag, uint64_t buf_index) noexcept |
| | Unregister the buffer of an in-flight request from the io_uring buffer table after zero-copy I/O completes.
|
| template<typename Fd> |
| auto | prep_io_cmds (Fd fd, uint16_t q_id, uint16_t flags, uint16_t nr_elem, uint8_t elem_bytes, const void *elems, uint32_t elems_len) noexcept |
| | Prepare a batch of I/O commands for a queue (UBLK_F_BATCH_IO).
|
| template<typename Fd> |
| auto | commit_io_cmds (Fd fd, uint16_t q_id, uint16_t flags, uint16_t nr_elem, uint8_t elem_bytes, const void *elems, uint32_t elems_len) noexcept |
| | Commit a batch of completed I/O commands for a queue (UBLK_F_BATCH_IO).
|
| template<typename Fd, typename MultiShotFunc> |
| auto | fetch_io_cmds (Fd fd, condy::ProvidedBufferQueue &buffers, uint16_t q_id, MultiShotFunc &&func) noexcept |
| | Fetch I/O commands in multishot style into a provided buffer queue (UBLK_F_BATCH_IO).
|