spdk_bdev Struct Reference
Collaboration diagram for spdk_bdev:

Data Structures

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

Public Member Functions

 TAILQ_HEAD (spdk_bdev_aliases_list, spdk_bdev_alias) aliases
 Unique aliases for this block device. More...
 

Data Fields

void * ctxt
 User context passed in by the backend.
 
char * name
 Unique name for this block device. More...
 
char * product_name
 Unique product name for this kind of block device. More...
 
int write_cache
 write cache enabled, not used at the moment
 
uint32_t blocklen
 Size in bytes of a logical block for the backend.
 
uint64_t blockcnt
 Number of blocks.
 
uint32_t write_unit_size
 Number of blocks required for write.
 
uint16_t acwu
 Atomic compare & write unit.
 
uint8_t required_alignment
 Specifies an alignment requirement for data buffers associated with an spdk_bdev_io. More...
 
bool split_on_optimal_io_boundary
 Specifies whether the optimal_io_boundary is mandatory or only advisory. More...
 
uint32_t optimal_io_boundary
 Optimal I/O boundary in blocks, or 0 for no value reported.
 
struct spdk_uuid uuid
 UUID for this bdev. More...
 
uint32_t md_len
 Size in bytes of a metadata for the backend.
 
bool md_interleave
 Specify metadata location and set to true if metadata is interleaved with block data or false if metadata is separated with block data. More...
 
enum spdk_dif_type dif_type
 DIF type for this bdev. More...
 
bool dif_is_head_of_md
 
uint32_t dif_check_flags
 Specify whether each DIF check type is enabled.
 
bool zoned
 Specify whether bdev is zoned device.
 
uint64_t zone_size
 Default size of each zone (in blocks).
 
uint32_t max_open_zones
 Maximum number of open zones.
 
uint32_t optimal_open_zones
 Optimal number of open zones.
 
bool media_events
 Specifies whether bdev supports media management events.
 
struct spdk_bdev_modulemodule
 Pointer to the bdev module that registered this bdev.
 
const struct spdk_bdev_fn_tablefn_table
 function table for all LUN ops
 
struct spdk_bdev::__bdev_internal_fields internal
 

Member Function Documentation

◆ TAILQ_HEAD()

spdk_bdev::TAILQ_HEAD ( spdk_bdev_aliases_list  ,
spdk_bdev_alias   
)

Unique aliases for this block device.

Field Documentation

◆ dif_type

enum spdk_dif_type spdk_bdev::dif_type

DIF type for this bdev.

Note that this field is valid only if there is metadata.

◆ md_interleave

bool spdk_bdev::md_interleave

Specify metadata location and set to true if metadata is interleaved with block data or false if metadata is separated with block data.

Note that this field is valid only if there is metadata.

◆ name

char* spdk_bdev::name

Unique name for this block device.

◆ product_name

char* spdk_bdev::product_name

Unique product name for this kind of block device.

◆ required_alignment

uint8_t spdk_bdev::required_alignment

Specifies an alignment requirement for data buffers associated with an spdk_bdev_io.

0 = no alignment requirement >0 = alignment requirement is 2 ^ required_alignment. bdev layer will automatically double buffer any spdk_bdev_io that violates this alignment, before the spdk_bdev_io is submitted to the bdev module.

◆ split_on_optimal_io_boundary

bool spdk_bdev::split_on_optimal_io_boundary

Specifies whether the optimal_io_boundary is mandatory or only advisory.

If set to true, the bdev layer will split READ and WRITE I/O that span the optimal_io_boundary before submitting them to the bdev module.

Note that this field cannot be used to force splitting of UNMAP, WRITE_ZEROES or FLUSH I/O.

◆ uuid

struct spdk_uuid spdk_bdev::uuid

UUID for this bdev.

Fill with zeroes if no uuid is available. The bdev layer will automatically populate this if necessary.


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