spdk_bdev::__bdev_internal_fields Struct Reference

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

Collaboration diagram for spdk_bdev::__bdev_internal_fields:

Public Member Functions

 TAILQ_HEAD (, spdk_bdev_desc) open_descs
 List of open descriptors for this block device. More...
 
 TAILQ_ENTRY (spdk_bdev) link
 

Data Fields

struct spdk_bdev_qos * qos
 Quality of service parameters.
 
bool qos_mod_in_progress
 True if the state of the QoS is being modified.
 
pthread_mutex_t mutex
 Mutex protecting claimed.
 
enum spdk_bdev_status status
 The bdev status.
 
struct spdk_bdev_moduleclaim_module
 Pointer to the module that has claimed this bdev for purposes of creating virtual bdevs on top of it. More...
 
spdk_bdev_unregister_cb unregister_cb
 Callback function that will be called after bdev destruct is completed. More...
 
void * unregister_ctx
 Unregister call context.
 
struct spdk_bdev_ioreset_in_progress
 points to a reset bdev_io if one is in progress. More...
 
struct spdk_poller * qd_poller
 poller for tracking the queue_depth of a device, NULL if not tracking
 
uint64_t period
 period at which we poll for queue depth information
 
uint64_t temporary_queue_depth
 used to aggregate queue depth while iterating across the bdev's open channels
 
uint64_t measured_queue_depth
 queue depth as calculated the last time the telemetry poller checked. More...
 
uint64_t io_time
 most recent value of ticks spent performing I/O. More...
 
uint64_t weighted_io_time
 weighted time performing I/O. More...
 
struct spdk_bdev_io_stat stat
 accumulated I/O statistics for previously deleted channels of this bdev
 
bool histogram_enabled
 histogram enabled on this bdev
 
bool histogram_in_progress
 
lba_range_tailq_t locked_ranges
 Currently locked ranges for this bdev. More...
 
lba_range_tailq_t pending_locked_ranges
 Pending locked ranges for this bdev. 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

◆ TAILQ_HEAD()

spdk_bdev::__bdev_internal_fields::TAILQ_HEAD ( spdk_bdev_desc  )

List of open descriptors for this block device.

Field Documentation

◆ claim_module

struct spdk_bdev_module* spdk_bdev::__bdev_internal_fields::claim_module

Pointer to the module that has claimed this bdev for purposes of creating virtual bdevs on top of it.

Set to NULL if the bdev has not been claimed.

◆ io_time

uint64_t spdk_bdev::__bdev_internal_fields::io_time

most recent value of ticks spent performing I/O.

Used to calculate the weighted time doing I/O

◆ locked_ranges

lba_range_tailq_t spdk_bdev::__bdev_internal_fields::locked_ranges

Currently locked ranges for this bdev.

Used to populate new channels.

◆ measured_queue_depth

uint64_t spdk_bdev::__bdev_internal_fields::measured_queue_depth

queue depth as calculated the last time the telemetry poller checked.

◆ pending_locked_ranges

lba_range_tailq_t spdk_bdev::__bdev_internal_fields::pending_locked_ranges

Pending locked ranges for this bdev.

These ranges are not currently locked due to overlapping with another locked range.

◆ reset_in_progress

struct spdk_bdev_io* spdk_bdev::__bdev_internal_fields::reset_in_progress

points to a reset bdev_io if one is in progress.

◆ unregister_cb

spdk_bdev_unregister_cb spdk_bdev::__bdev_internal_fields::unregister_cb

Callback function that will be called after bdev destruct is completed.

◆ weighted_io_time

uint64_t spdk_bdev::__bdev_internal_fields::weighted_io_time

weighted time performing I/O.

Equal to measured_queue_depth * period


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