Data Structures |
struct | fio_iodimm_selector |
| Select an ioDimm. This structure is used as the input to most operations. Depending on the selector mode, one of the members must be populated with the correct value. More...
|
struct | fio_iodimm_iterator |
| Used to iterate over ioDimms. The structure should be initialized by FIO_STRUCT_INIT. All fields of the structure are used internally by first_iodimm_handle() and next_iodimm_handle(). Fields should not be set by the caller. More...
|
struct | fio_iodimm_adapter_info |
| Information about an ioDimm's adapter. More...
|
struct | fio_iodimm_product_info |
| Various product information for an ioDimm. More...
|
struct | fio_iodimm_flashback_t |
| State of flashback on an ioDimm. More...
|
struct | fio_iodimm_state_info_t |
| Current state of an ioDimm. More...
|
struct | fio_iodimm_write_throttling |
| Current write-throttling state of an ioDimm. More...
|
struct | fio_iodimm_power_usage |
| Struct representing power monitor information from the driver. More...
|
struct | fio_iodimm_power_setpoints |
| Setpoints for the power monitoring system. More...
|
struct | fio_iodimm_hw_alerts |
| Hardware alerts from sysmon. More...
|
struct | fio_iodimm_capacity_entry |
| Capacity history data point. More...
|
struct | fio_iodimm_usage_entry |
| Write history data point. More...
|
struct | fio_iodimm_temperature_entry |
| Temperature history data point. More...
|
struct | fio_iodimm_history_table_t |
| Structure used to fetch historical data points about various aspects of the device. More...
|
struct | fio_iodimm_usage |
| Usage data for an ioDimm. More...
|
struct | fio_iodimm_temperature_setpoints |
| Structure containing various performance data for an ioDimm. More...
|
struct | fio_led_status |
| Status of the LED's on the ioDimm. More...
|
struct | fio_iodimm_health |
| Health of an ioDimm. More...
|
struct | fio_iodimm_device_identifiers |
| Device label. More...
|
struct | fio_iodimm_static_format_info |
| Static format info of the ioDimm. More...
|
struct | fio_iodimm_format_sizes |
| Formatted device sizes calculations for an ioDimm. More...
|
struct | fio_iodimm_dynamic_format_info |
| Static format information for the ioDimm. More...
|
struct | fio_iodimm_driver_ver_info |
| Driver's version info. More...
|
struct | fio_iodimm_alt_info |
| Alternate driver information. More...
|
struct | fio_firmware_barrier |
| Firmware barrier version information. More...
|
struct | fio_iodimm_settings |
| General ioDimm configuration settings. More...
|
struct | fio_iodimm_temperatures |
| Current temperatures. More...
|
struct | fio_iodimm_attach_req2 |
| Structure used to request an ioDimm to attach. More...
|
struct | fio_iodimm_detach_req2 |
| Structure used to request an ioDimm to detach. More...
|
struct | fio_iodimm_update_req2 |
| Structure used to request an ioDimm to update firmware. More...
|
struct | fio_iodimm_fff_ver_req2 |
| Structure used to request a firmware version from a firmware file for a given ioDimm. More...
|
struct | fio_iodimm_format_req2 |
| Structure representing a request to low-level format an ioDimm. More...
|
struct | fio_iodimm_prealloc_req |
| Structure used to request an ioDimm to start or stop preallocating 100% memory usage. More...
|
struct | fio_iodimm_prealloc_info |
| Structure used to return information about how much memory is needed for preallocation. More...
|
Defines |
#define | FIO_DRIVER_VER_SIZE 255 |
| Size of the driver version string.
|
#define | FIO_IODIMM_LABEL_SIZE 255 |
| Size of the device label string.
|
#define | FIO_IODIMM_DEVICE_NAME_SIZE 100 |
| Size of the device name string.
|
#define | FIO_IODIMM_BLK_DEV_NAME_SIZE 100 |
| Size of the block device name string.
|
#define | FIO_IODIMM_ALT_PART_NUM_SIZE 255 |
| Size of the alt part number string.
|
#define | FIO_IODIMM_UUID_SIZE 37 |
| Size of the fio-format generated unique id (uuid) string.
|
Typedefs |
typedef struct fio_iodimm_selector | fio_iodimm_selector_t |
| Select an ioDimm. This structure is used as the input to most operations. Depending on the selector mode, one of the members must be populated with the correct value.
|
typedef struct fio_iodimm_iterator | fio_iodimm_iterator_t |
| Used to iterate over ioDimms. The structure should be initialized by FIO_STRUCT_INIT. All fields of the structure are used internally by first_iodimm_handle() and next_iodimm_handle(). Fields should not be set by the caller.
|
typedef struct
fio_iodimm_adapter_info | fio_iodimm_adapter_info_t |
| Information about an ioDimm's adapter.
|
typedef struct
fio_iodimm_product_info | fio_iodimm_product_info_t |
| Various product information for an ioDimm.
|
typedef enum
fio_iodimm_write_throttling_level | fio_iodimm_write_throttling_level_t |
| Levels of write throttling that an ioDimm may enter.
|
typedef enum
fio_iodimm_write_throttling_reason | fio_iodimm_write_throttling_reason_t |
| Reasons why an ioDimm may begin write throttling.
|
typedef struct
fio_iodimm_write_throttling | fio_iodimm_write_throttling_t |
| Current write-throttling state of an ioDimm.
|
typedef struct
fio_iodimm_power_usage | fio_iodimm_power_usage_t |
| Struct representing power monitor information from the driver.
|
typedef struct
fio_iodimm_power_setpoints | fio_iodimm_power_setpoints_t |
| Setpoints for the power monitoring system.
|
typedef struct fio_iodimm_hw_alerts | fio_iodimm_hw_alerts_t |
| Hardware alerts from sysmon.
|
typedef struct
fio_iodimm_capacity_entry | fio_iodimm_capacity_entry_t |
| Capacity history data point.
|
typedef struct
fio_iodimm_usage_entry | fio_iodimm_usage_entry_t |
| Write history data point.
|
typedef struct
fio_iodimm_temperature_entry | fio_iodimm_temperature_entry_t |
| Temperature history data point.
|
typedef struct fio_iodimm_usage | fio_iodimm_usage_t |
| Usage data for an ioDimm.
|
typedef struct
fio_iodimm_temperature_setpoints | fio_iodimm_temperature_setpoints_t |
| Structure containing various performance data for an ioDimm.
|
typedef enum fio_iodimm_led_status | fio_iodimm_led_status_t |
| Settings for an LED.
|
typedef struct fio_led_status | fio_led_status_t |
| Status of the LED's on the ioDimm.
|
typedef struct fio_iodimm_health | fio_iodimm_health_t |
| Health of an ioDimm.
|
typedef struct
fio_iodimm_device_identifiers | fio_iodimm_device_identifiers_t |
| Device label.
|
typedef struct
fio_iodimm_static_format_info | fio_iodimm_static_format_info_t |
| Static format info of the ioDimm.
|
typedef struct
fio_iodimm_format_sizes | fio_iodimm_format_sizes_t |
| Formatted device sizes calculations for an ioDimm.
|
typedef struct
fio_iodimm_dynamic_format_info | fio_iodimm_dynamic_format_info_t |
| Static format information for the ioDimm.
|
typedef struct
fio_iodimm_driver_ver_info | fio_iodimm_driver_ver_info_t |
| Driver's version info.
|
typedef struct fio_iodimm_alt_info | fio_iodimm_alt_info_t |
| Alternate driver information.
|
typedef struct fio_firmware_barrier | fio_firmware_barrier_t |
| Firmware barrier version information.
|
typedef struct fio_iodimm_settings | fio_iodimm_settings_t |
| General ioDimm configuration settings.
|
typedef struct
fio_iodimm_temperatures | fio_iodimm_temperatures_t |
| Current temperatures.
|
typedef struct
fio_iodimm_attach_req2 | fio_iodimm_attach_req2_t |
| Structure used to request an ioDimm to attach.
|
typedef struct
fio_iodimm_detach_req2 | fio_iodimm_detach_req2_t |
| Structure used to request an ioDimm to detach.
|
typedef struct
fio_iodimm_update_req2 | fio_iodimm_update_req2_t |
| Structure used to request an ioDimm to update firmware.
|
typedef struct
fio_iodimm_fff_ver_req2 | fio_iodimm_fff_ver_req2_t |
| Structure used to request a firmware version from a firmware file for a given ioDimm.
|
typedef struct
fio_iodimm_format_req2 | fio_iodimm_format_req2_t |
| Structure representing a request to low-level format an ioDimm.
|
typedef struct
fio_iodimm_prealloc_req | fio_iodimm_prealloc_req_t |
| Structure used to request an ioDimm to start or stop preallocating 100% memory usage.
|
typedef struct
fio_iodimm_prealloc_info | fio_iodimm_prealloc_info_t |
| Structure used to return information about how much memory is needed for preallocation.
|
Enumerations |
enum | fio_iodimm_selector_mode {
FIO_IODIMM_SELECT_NAME = 0,
FIO_IODIMM_SELECT_INDEX = 1,
FIO_IODIMM_SELECT_HANDLE = 2,
FIO_IODIMM_SELECT_PCI = 3,
FIO_IODIMM_SELECT_PCI_STRING = 4
} |
| Device selector mode enumeration. This is used when opening a device handle to indicate how the handle will be opened.
More...
|
enum | fio_iodimm_adapter_type_t {
FIO_IODIMM_ADAPTER_TYPE_IODRIVE = 0,
FIO_IODIMM_ADAPTER_TYPE_IODRIVE_LOWPRO2 = 1,
FIO_IODIMM_ADAPTER_TYPE_IODRIVE_DUO = 2,
FIO_IODIMM_ADAPTER_TYPE_IOSAN = 3,
FIO_IODIMM_ADAPTER_TYPE_UNKNOWN = 4,
FIO_IODIMM_ADAPTER_TYPE_IOOCTAL = 5
} |
| Enumeration of potential adapter types that may contain an ioDimm.
More...
|
enum | fio_iodimm_state_t {
FIO_IODIMM_STATE_DETACHED = 0,
FIO_IODIMM_STATE_ATTACHING = 1,
FIO_IODIMM_STATE_SCANNING_METADATA = 2,
FIO_IODIMM_STATE_SCANNING_DATA = 3,
FIO_IODIMM_STATE_ATTACHED = 4,
FIO_IODIMM_STATE_DETACHING = 5,
FIO_IODIMM_STATE_STOPPING = 6,
FIO_IODIMM_STATE_STOPPED = 7,
FIO_IODIMM_STATE_MINIMAL = 8,
FIO_IODIMM_STATE_FAILED = 9,
FIO_IODIMM_STATE_UNKNOWN = 10
} |
| Enumeration of states that the ioDimm may be in.
More...
|
enum | fio_iodimm_flashback_status_t { FIO_IODIMM_FLASHBACK_STATUS_UNAVAILABLE = 0,
FIO_IODIMM_FLASHBACK_STATUS_NOT_ACTIVE = 1,
FIO_IODIMM_FLASHBACK_STATUS_ACTIVE = 2
} |
| Enumeration of flashback statuses.
More...
|
enum | fio_iodimm_minmode_reason_t {
FIO_MINMODE_REASON_UNKNOWN = 0,
FIO_MINMODE_REASON_FW_OUT_OF_DATE = 1,
FIO_MINMODE_REASON_INSUFFICIENT_POWER = 2,
FIO_MINMODE_REASON_DUAL_PLANE_FAIL = 3,
FIO_MINMODE_REASON_FORCED = 4,
FIO_MINMODE_REASON_INTERNAL = 5,
FIO_MINMODE_REASON_CARD_LIMIT_EXCEEDED = 6,
FIO_MINMODE_REASON_NOT_IN_MINMODE = 7,
FIO_MINMODE_REASON_UNSUPPORTED_OS = 8,
FIO_MINMODE_REASON_INSUFFICIENT_MEMORY = 9,
FIO_MINMODE_REASON_SMP_BOOTLOADER_MODE = 10
} |
| Reasons that an ioDimm may have gone into minimal mode.
More...
|
enum | fio_iodimm_write_throttling_level { FIO_WRITE_THROTTLE_NONE = 0,
FIO_WRITE_THROTTLE_PARTIAL = 1,
FIO_WRITE_THROTTLE_COMPLETE = 2
} |
| Levels of write throttling that an ioDimm may enter.
More...
|
enum | fio_iodimm_write_throttling_reason {
FIO_WRITE_THROTTLE_REASON_NONE = 0,
FIO_WRITE_THROTTLE_REASON_USER = 1,
FIO_WRITE_THROTTLE_REASON_NO_MD_BLOCKS = 2,
FIO_WRITE_THROTTLE_REASON_NOMEM = 3,
FIO_WRITE_THROTTLE_REASON_DEAD_DIE = 4,
FIO_WRITE_THROTTLE_REASON_WEAROUT = 5,
FIO_WRITE_THROTTLE_REASON_ADAPTER_POWER = 6,
FIO_WRITE_THROTTLE_REASON_INTERNAL = 7,
FIO_WRITE_THROTTLE_REASON_LIMIT_POWER = 8,
FIO_WRITE_THROTTLE_REASON_GROOM_FAILS = 9
} |
| Reasons why an ioDimm may begin write throttling.
More...
|
enum | fio_iodimm_power_usage_peaks_t {
FIO_PEAKS_NONE = 0,
FIO_PEAKS_MAX_VOLTS = 1 << 0,
FIO_PEAKS_MIN_VOLTS = 1 << 1,
FIO_PEAKS_MAX_WATTS = 1 << 2,
FIO_PEAKS_ALL = 0xff
} |
| Peak values that can be cleared. These can be OR'd together to clear multiples at once.
More...
|
enum | fio_iodimm_hw_alert_type_t {
FIO_HW_ALERT_NONE = 0x00,
FIO_HW_ALERT_TEMPERATURE = 0x01,
FIO_HW_ALERT_VCCINT = 0x02,
FIO_HW_ALERT_VCCAUX = 0x04,
FIO_HW_ALERT_OVERTEMP = 0x08
} |
| Hardware alert bitfield definition.
More...
|
enum | fio_iodimm_history_type_t {
FIO_IODIMM_HISTORY_TYPE_UNKNOWN = 0,
FIO_IODIMM_HISTORY_TYPE_CAPACITY = 1,
FIO_IODIMM_HISTORY_TYPE_PHYSICAL_READS = 2,
FIO_IODIMM_HISTORY_TYPE_PHYSICAL_WRITES = 3,
FIO_IODIMM_HISTORY_TYPE_FPGA_TEMPERATURE = 5,
FIO_IODIMM_HISTORY_TYPE_BOARD_TEMPERATURE = 6,
FIO_IODIMM_HISTORY_TYPE_MAX
} |
| Types of history entries stored in the ioDimm's non-volatile data segment.
More...
|
enum | fio_iodimm_led_status { FIO_IODIMM_LED_STATUS_OFF = 0,
FIO_IODIMM_LED_STATUS_ON = 1,
FIO_IODIMM_LED_STATUS_BLINK = 2
} |
| Settings for an LED.
More...
|
enum | fio_iodimm_health_status_t {
FIO_IODIMM_HEALTH_UNKNOWN = 0,
FIO_IODIMM_HEALTH_HEALTHY = 1,
FIO_IODIMM_HEALTH_WARNING = 2,
FIO_IODIMM_HEALTH_REDUCED_WRITE = 3,
FIO_IODIMM_HEALTH_READ_ONLY = 4
} |
| Health states for an ioDimm.
More...
|
enum | fio_iodimm_attach_status_t {
FIO_IODIMM_ATTACH_SUCCESS = 0,
FIO_IODIMM_ATTACH_DEVICE_NOT_FOUND = 1,
FIO_IODIMM_ATTACH_IMPROPER_VERSION = 2,
FIO_IODIMM_ATTACH_NO_EBMAP = 3,
FIO_IODIMM_ATTACH_FAILED = 4,
FIO_IODIMM_ATTACH_FAILED_PERM = 5,
FIO_IODIMM_ATTACH_FAILED_ALREADY_ATTACHED = 6,
FIO_IODIMM_ATTACH_FAILED_NOT_IMPLEMENTED = 7,
FIO_IODIMM_ATTACH_PCI_UNSUPPORTED = 8,
FIO_IODIMM_ATTACH_INVALID_INPUT = 9
} |
| Enumeration of potential results of an attach attempt.
More...
|
enum | fio_iodimm_detach_method_t { FIO_IODIMM_DETACH_NORMAL = 0xA,
FIO_IODIMM_DETACH_IMMEDIATE = 0xB
} |
| Detach method.
More...
|
enum | fio_iodimm_detach_status_t {
FIO_IODIMM_DETACH_SUCCESS = 0,
FIO_IODIMM_DETACH_METHOD_NOT_SPECIFIED = 1,
FIO_IODIMM_DETACH_DEVICE_NOT_FOUND = 2,
FIO_IODIMM_DETACH_FAILED = 3,
FIO_IODIMM_DETACH_FAILED_DEVICE_BUSY = 4,
FIO_IODIMM_DETACH_FAILED_PERM = 5,
FIO_IODIMM_DETACH_FAILED_ALREADY_DETACHED = 6,
FIO_IODIMM_DETACH_FAILED_NOT_IMPLEMENTED = 7,
FIO_IODIMM_DETACH_PCI_UNSUPPORTED = 8,
FIO_IODIMM_DETACH_INVALID_INPUT = 9
} |
| Results of a detach attempt.
More...
|
enum | fio_iodimm_update_status_t {
FIO_IODIMM_UPDATE_SUCCESS = 0,
FIO_IODIMM_UPDATE_DEVICE_NOT_FOUND = 1,
FIO_IODIMM_UPDATE_FFF_FILE_NOT_FOUND = 2,
FIO_IODIMM_UPDATE_FFF_PART_NOT_FOUND = 3,
FIO_IODIMM_UPDATE_INVALID_FFF_FORMAT = 4,
FIO_IODIMM_UPDATE_EEPROM_READ_FAIL = 5,
FIO_IODIMM_UPDATE_FIRMWARE_READ_FAIL = 6,
FIO_IODIMM_UPDATE_OLD_VERSION = 7,
FIO_IODIMM_UPDATE_CUR_VERSION = 8,
FIO_IODIMM_UPDATE_DRIVER_INVALID_STATE = 9,
FIO_IODIMM_UPDATE_FAILURE = 10,
FIO_IODIMM_UPDATE_FAILURE_PERM = 11,
FIO_IODIMM_UPDATE_IOCTL_LOCK_FAILURE = 12,
FIO_IODIMM_UPDATE_SUCCESS_COLD_REBOOT = 13,
FIO_IODIMM_UPDATE_NOT_IMPLEMENTED = 14,
FIO_IODIMM_UPDATE_SUCCESS_NO_REBOOT = 15,
FIO_IODIMM_UPDATE_SMP_NO_BOOTMODE = 16,
FIO_IODIMM_UPDATE_SMP_NO_SMP = 17,
FIO_IODIMM_UPDATE_SMP_FAILURE = 18,
FIO_IODIMM_UPDATE_INVALID_INPUT = 19,
FIO_IODIMM_UPDATE_UNSAFE = 20,
FIO_IODIMM_UPDATE_ECC_MISMATCH = 21,
FIO_IODIMM_UPDATE_ECC_ERROR = 22
} |
| Results of a firmware update request.
More...
|
enum | fio_iodimm_fff_ver_status_t {
FIO_IODIMM_FFF_VER_SUCCESS = 0,
FIO_IODIMM_FFF_VER_DEVICE_NOT_FOUND = 1,
FIO_IODIMM_FFF_VER_FFF_FILE_NOT_FOUND = 2,
FIO_IODIMM_FFF_VER_PART_NOT_FOUND = 3,
FIO_IODIMM_FFF_VER_INVALID_FFF_FORMAT = 4,
FIO_IODIMM_FFF_VER_READ_FAIL = 5,
FIO_IODIMM_FFF_VER_NOT_IMPLEMENTED = 6,
FIO_IODIMM_FFF_VER_INVALID_INPUT = 7
} |
| Enumeration of possible results when trying to get a firmware version for an ioDimm.
More...
|
enum | fio_iodimm_format_method_t { FIO_IODIMM_FORMAT_NORMAL = 0xA,
FIO_IODIMM_FORMAT_QUIT_ON_ERR = 0xB
} |
| Device format method to use.
More...
|
enum | fio_iodimm_format_size_mode_t { FIO_IODIMM_FORMAT_USER_DEFINED_SIZE_MB = 0xA,
FIO_IODIMM_FORMAT_USER_DEFINED_SIZE_PCT = 0xB,
FIO_IODIMM_FORMAT_DEFAULT_SIZE = 0xC
} |
| Format modes.
More...
|
enum | fio_iodimm_format_status_t {
FIO_IODIMM_FORMAT_SUCCESS = 0,
FIO_IODIMM_FORMAT_METHOD_NOT_SPECIFIED = 1,
FIO_IODIMM_FORMAT_INVALID_DRIVE_SIZE = 2,
FIO_IODIMM_FORMAT_FAIL_GOOD_D_LEB = 3,
FIO_IODIMM_FORMAT_FAIL_GOOD_MD_LEB = 4,
FIO_IODIMM_FORMAT_FAIL_OPEN_CHANNEL = 5,
FIO_IODIMM_FORMAT_FAIL_LOCK_CHANNEL = 6,
FIO_IODIMM_FORMAT_QUIT_ON_ERR_BAD_LEB = 7,
FIO_IODIMM_FORMAT_DEVICE_NOT_FOUND = 8,
FIO_IODIMM_FORMAT_FAILURE = 9,
FIO_IODIMM_FORMAT_FAILURE_NO_EBMAP = 10,
FIO_IODIMM_FORMAT_FAIL_NOMEM = 11,
FIO_IODIMM_FORMAT_FIXED_PCT_VIOLATED = 14,
FIO_IODIMM_FORMAT_NOT_IMPLEMENTED = 15,
FIO_IODIMM_FORMAT_INVALID_SS_MIN = 16,
FIO_IODIMM_FORMAT_INVALID_SS_MAX = 17,
FIO_IODIMM_FORMAT_INVALID_SS_PWR2 = 18,
FIO_IODIMM_FORMAT_INVALID_SS_MULT = 19,
FIO_IODIMM_FORMAT_PCI_UNSUPPORTED = 20,
FIO_IODIMM_FORMAT_INVALID_INPUT = 21,
FIO_IODIMM_FORMAT_FAILED_PERM = 22,
FIO_IODIMM_FORMAT_NO_NV_DATA = 23
} |
enum | fio_iodimm_prealloc_status_t {
FIO_IODIMM_PREALLOC_SUCCESS = 0,
FIO_IODIMM_PREALLOC_DEVICE_NOT_FOUND = 1,
FIO_IODIMM_PREALLOC_FAILED = 2,
FIO_IODIMM_PREALLOC_FAILED_PERM = 3,
FIO_IODIMM_PREALLOC_FAILED_NOT_IMPLEMENTED = 4,
FIO_IODIMM_PREALLOC_FAILED_NOT_INITIALIZED = 5,
FIO_IODIMM_PREALLOC_INVALID_INPUT = 6
} |
| Enumeration of potential results of a preallocation setting attempt.
More...
|