|
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
|
|
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 |
|
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.
|
|