Data Structures | |
struct | __bdev_io_internal_fields |
Fields that are used internally by the bdev subsystem. More... | |
Data Fields | |
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. | |
uint64_t spdk_bdev_io::offset |
The offset of next data/hole.
uint8_t spdk_bdev_io::start |
True if this request is in the 'start' phase of zcopy.
False if in 'end'.