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.
 
 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.
 
void * unregister_ctx
 Unregister call context.
 
struct spdk_bdev_ioreset_in_progress
 points to a reset bdev_io if one is in progress.
 
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.
 
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...
 
struct spdk_bdev_name bdev_name
 Bdev name used for quick lookup.
 

Detailed Description

Fields that are used internally by the bdev subsystem.

Bdev modules must not read or write to these fields.

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.

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

◆ 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: