spdk_bdev_io::__bdev_io_internal_fields Struct Reference

Fields that are used internally by the bdev subsystem. More...

Collaboration diagram for spdk_bdev_io::__bdev_io_internal_fields:

Public Member Functions

 TAILQ_ENTRY (spdk_bdev_io) link
 Member used for linking child I/Os together. More...
 
 STAILQ_ENTRY (spdk_bdev_io) buf_link
 Entry to the list need_buf of struct spdk_bdev. More...
 
 TAILQ_ENTRY (spdk_bdev_io) ch_link
 Entry to the list io_submitted of struct spdk_bdev_channel.
 

Data Fields

struct spdk_bdev_channel * ch
 The bdev I/O channel that this was handled on. More...
 
struct spdk_bdev_channel * io_submit_ch
 The bdev I/O channel that this was submitted on. More...
 
struct spdk_bdev_desc * desc
 The bdev descriptor that was used when submitting this I/O. More...
 
spdk_bdev_io_completion_cb cb
 User function that will be called when this completes.
 
void * caller_ctx
 Context that will be passed to the completion callback.
 
uint64_t submit_tsc
 Current tsc at submit time. More...
 
union {
   struct {
      uint32_t   cdw0
 NVMe completion queue entry DW0.
 
      uint8_t   sct
 NVMe status code type.
 
      uint8_t   sc
 NVMe status code.
 
   }   nvme
 
   struct {
      uint8_t   sc
 SCSI status code.
 
      uint8_t   sk
 SCSI sense key.
 
      uint8_t   asc
 SCSI additional sense code.
 
      uint8_t   ascq
 SCSI additional sense code qualifier.
 
   }   scsi
 Only valid when status is SPDK_BDEV_IO_STATUS_SCSI_ERROR.
 
error
 Error information from a device.
 
bool in_submit_request
 Set to true while the bdev module submit_request function is in progress. More...
 
int8_t status
 Status for the IO.
 
void * buf
 bdev allocated memory associated with this request
 
uint64_t buf_len
 requested size of the buffer associated with this I/O
 
struct iovec bounce_iov
 if the request is double buffered, store original request iovs here
 
struct iovec * orig_iovs
 
int orig_iovcnt
 
void * orig_md_buf
 
spdk_bdev_io_get_aux_buf_cb get_aux_buf_cb
 Callback for when the aux buf is allocated.
 
spdk_bdev_io_get_buf_cb get_buf_cb
 Callback for when buf is allocated.
 
struct spdk_bdev_io_wait_entry waitq_entry
 Enables queuing parent I/O when no bdev_ios available for split children. More...
 

Detailed Description

Fields that are used internally by the bdev subsystem.

Bdev modules must not read or write to these fields.

Member Function Documentation

◆ STAILQ_ENTRY()

spdk_bdev_io::__bdev_io_internal_fields::STAILQ_ENTRY ( spdk_bdev_io  )

Entry to the list need_buf of struct spdk_bdev.

◆ TAILQ_ENTRY()

spdk_bdev_io::__bdev_io_internal_fields::TAILQ_ENTRY ( spdk_bdev_io  )

Member used for linking child I/Os together.

Field Documentation

◆ ch

struct spdk_bdev_channel* spdk_bdev_io::__bdev_io_internal_fields::ch

The bdev I/O channel that this was handled on.

◆ desc

struct spdk_bdev_desc* spdk_bdev_io::__bdev_io_internal_fields::desc

The bdev descriptor that was used when submitting this I/O.

◆ in_submit_request

bool spdk_bdev_io::__bdev_io_internal_fields::in_submit_request

Set to true while the bdev module submit_request function is in progress.

This is used to decide whether spdk_bdev_io_complete() can complete the I/O directly or if completion must be deferred via an event.

◆ io_submit_ch

struct spdk_bdev_channel* spdk_bdev_io::__bdev_io_internal_fields::io_submit_ch

The bdev I/O channel that this was submitted on.

◆ sc

uint8_t spdk_bdev_io::__bdev_io_internal_fields::sc

NVMe status code.

SCSI status code.

◆ submit_tsc

uint64_t spdk_bdev_io::__bdev_io_internal_fields::submit_tsc

Current tsc at submit time.

Used to calculate latency at completion.

◆ waitq_entry

struct spdk_bdev_io_wait_entry spdk_bdev_io::__bdev_io_internal_fields::waitq_entry

Enables queuing parent I/O when no bdev_ios available for split children.


The documentation for this struct was generated from the following file: