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. | |
| bdev_io_tailq_t | queued_resets |
| List of reset bdev_ios that are not submitted to the underlying device. | |
| 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 |
| uint8_t | histogram_granularity |
| uint64_t | histogram_min_val |
| uint64_t | histogram_max_val |
| 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