|
struct spdk_bdev * | bdev |
| The block device that this I/O belongs to.
|
|
uint8_t | type |
| Enumerated value representing the I/O type.
|
|
uint16_t | num_retries |
| Number of IO submission retries.
|
|
struct iovec | iov |
| A single iovec element for use by this bdev_io.
|
|
struct iovec | child_iov [SPDK_BDEV_IO_NUM_CHILD_IOV] |
| Array of iovecs used for I/O splitting.
|
|
union { | |
|
struct { | |
|
struct iovec * iovs | |
| For SG buffer cases, array of iovecs to transfer.
|
|
int iovcnt | |
| For SG buffer cases, number of iovecs in iovec array.
|
|
struct iovec * fused_iovs | |
| For fused operations such as COMPARE_AND_WRITE, array of iovecs for the second operation.
|
|
int fused_iovcnt | |
| Number of iovecs in fused_iovs.
|
|
void * md_buf | |
|
uint64_t num_blocks | |
| Total size of data to be transferred.
|
|
uint64_t offset_blocks | |
| Starting offset (in blocks) of the bdev for this I/O.
|
|
struct spdk_memory_domain * memory_domain | |
| Memory domain and its context to be used by bdev modules.
|
|
void * memory_domain_ctx | |
|
struct spdk_accel_sequence * accel_sequence | |
|
spdk_bdev_io_completion_cb stored_user_cb | |
| stored user callback in case we split the I/O and use a temporary callback
|
|
uint64_t split_remaining_num_blocks | |
| number of blocks remaining in a split i/o
|
|
uint64_t split_current_offset_blocks | |
| current offset of the split I/O in the bdev
|
|
uint32_t split_outstanding | |
| count of outstanding batched split I/Os
|
|
uint32_t dif_check_flags | |
| Specify whether each DIF check type is enabled.
|
|
union spdk_bdev_nvme_cdw12 nvme_cdw12 | |
| defined by spdk_bdev_nvme_cdw12
|
|
union spdk_bdev_nvme_cdw13 nvme_cdw13 | |
| defined by spdk_bdev_nvme_cdw13
|
|
struct { | |
|
uint8_t populate: 1 | |
| Whether the buffer should be populated with the real data.
|
|
uint8_t commit: 1 | |
| Whether the buffer should be committed back to disk.
|
|
uint8_t start: 1 | |
| True if this request is in the 'start' phase of zcopy. More...
|
|
} zcopy | |
|
struct { | |
|
void * bio_cb_arg | |
| The callback argument for the outstanding request which this abort attempts to cancel.
|
|
} abort | |
|
struct { | |
|
uint64_t offset | |
| The offset of next data/hole. More...
|
|
} seek | |
|
struct { | |
|
uint64_t src_offset_blocks | |
| Starting source offset (in blocks) of the bdev for copy I/O.
|
|
} copy | |
|
} bdev | |
|
struct { | |
|
struct spdk_io_channel * ch_ref | |
| Channel reference held while messages for this reset are in progress.
|
|
struct { | |
|
struct spdk_poller * poller | |
|
uint64_t stop_time_tsc | |
|
} wait_poller | |
|
} reset | |
|
struct { | |
|
struct spdk_bdev_io * bio_to_abort | |
| The outstanding request matching bio_cb_arg which this abort attempts to cancel.
|
|
} abort | |
|
struct { | |
|
struct spdk_nvme_cmd cmd | |
|
struct iovec * iovs | |
|
int iovcnt | |
|
void * buf | |
|
size_t nbytes | |
|
void * md_buf | |
|
size_t md_len | |
|
} nvme_passthru | |
|
struct { | |
|
uint64_t zone_id | |
|
uint32_t num_zones | |
|
enum spdk_bdev_zone_action zone_action | |
|
void * buf | |
|
} zone_mgmt | |
|
} | u | |
|
struct spdk_bdev_io::__bdev_io_internal_fields | internal |
|
uint8_t | driver_ctx [0] |
| Per I/O context for use by the bdev module.
|
|