Fields that are used internally by the bdev subsystem. More...
#include <bdev_module.h>
Data Structures | |
union | __bdev_internal_claim |
Which module has claimed this bdev. More... | |
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. | |
uint16_t | trace_id |
Trace ID for this bdev. | |
struct spdk_spinlock | spinlock |
SPDK spinlock protecting many of the internal fields of this structure. | |
enum spdk_bdev_status | status |
The bdev status. | |
uint32_t | examine_in_progress |
How many bdev_examine() calls are iterating claim.v2.claims. | |
enum spdk_bdev_claim_type | claim_type |
The claim type: used in conjunction with claim. | |
union spdk_bdev::__bdev_internal_fields::__bdev_internal_claim | claim |
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_thread * | unregister_td |
Thread that issued the unregister. | |
struct spdk_bdev_io * | reset_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 | |
struct spdk_bdev_desc * | qd_desc |
open descriptor to use qd_poller safely | |
uint64_t | period |
period at which we poll for queue depth information | |
uint64_t | new_period |
new period to be used to 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. | |
uint64_t | weighted_io_time |
weighted time performing I/O. | |
struct spdk_bdev_io_stat * | stat |
accumulated I/O statistics for previously deleted channels of this bdev | |
bool | qd_poll_in_progress |
true if tracking the queue_depth of a device is in progress | |
bool | histogram_enabled |
histogram enabled on this bdev | |
bool | histogram_in_progress |
uint8_t | histogram_io_type |
lba_range_tailq_t | locked_ranges |
Currently locked ranges for this bdev. | |
lba_range_tailq_t | pending_locked_ranges |
Pending locked ranges for this bdev. | |
struct spdk_bdev_name | bdev_name |
Bdev name used for quick lookup. | |
Fields that are used internally by the bdev subsystem.
Bdev modules must not read or write to these fields.
enum spdk_bdev_claim_type spdk_bdev::__bdev_internal_fields::claim_type |
The claim type: used in conjunction with claim.
Must hold spinlock on all updates.
uint32_t spdk_bdev::__bdev_internal_fields::examine_in_progress |
How many bdev_examine() calls are iterating claim.v2.claims.
When non-zero claims that are released will be cleared but remain on the claims list until bdev_examine() finishes. Must hold spinlock on all updates.
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
lba_range_tailq_t spdk_bdev::__bdev_internal_fields::locked_ranges |
Currently locked ranges for this bdev.
Used to populate new channels.
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.
struct spdk_spinlock spdk_bdev::__bdev_internal_fields::spinlock |
SPDK spinlock protecting many of the internal fields of this structure.
If multiple locks need to be held, the following order must be used: g_bdev_mgr.spinlock bdev->internal.spinlock bdev_desc->spinlock bdev_module->internal.spinlock
struct spdk_thread* spdk_bdev::__bdev_internal_fields::unregister_td |
Thread that issued the unregister.
The cb must be called on this thread.
uint64_t spdk_bdev::__bdev_internal_fields::weighted_io_time |
weighted time performing I/O.
Equal to measured_queue_depth * period