1
0
Fork 0

Merging upstream version 1.12.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-03-20 08:08:33 +01:00
parent 8d543389aa
commit a3d0cc5ebd
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
1005 changed files with 9469 additions and 1830 deletions

View file

@ -7,7 +7,7 @@ Fabrics-specific definitions.
.. c:type:: struct nvme_fabrics_config
.. c:struct:: nvme_fabrics_config
Defines all linux nvme fabrics initiator options
@ -104,7 +104,7 @@ Fabrics-specific definitions.
.. c:type:: struct nvme_fabrics_uri
.. c:struct:: nvme_fabrics_uri
Parsed URI structure
@ -430,7 +430,7 @@ Consider using nvmf_get_discovery_wargs() instead.
.. c:type:: struct nvme_get_discovery_args
.. c:struct:: nvme_get_discovery_args
Arguments for nvmf_get_discovery_wargs()

View file

@ -7,7 +7,7 @@ Linux NVMe ioctl interface functions
.. c:type:: struct nvme_passthru_cmd
.. c:struct:: nvme_passthru_cmd
nvme passthrough command structure
@ -96,7 +96,7 @@ Linux NVMe ioctl interface functions
.. c:type:: struct nvme_passthru_cmd64
.. c:struct:: nvme_passthru_cmd64
64-bit nvme passthrough command structure
@ -189,7 +189,7 @@ Linux NVMe ioctl interface functions
.. c:type:: struct nvme_uring_cmd
.. c:struct:: nvme_uring_cmd
nvme uring command structure
@ -276,7 +276,9 @@ Linux NVMe ioctl interface functions
.. c:function:: sizeof_args (type, member, align)
.. c:macro:: sizeof_args
``sizeof_args (type, member, align)``
Helper function used to determine structure sizes
@ -1742,6 +1744,27 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_get_log_create_telemetry_host_mcda (int fd, enum nvme_telemetry_da mcda, struct nvme_telemetry_log *log)
Create host telemetry log
**Parameters**
``int fd``
File descriptor of nvme device
``enum nvme_telemetry_da mcda``
Maximum Created Data Area
``struct nvme_telemetry_log *log``
Userspace address of the log payload
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_get_log_create_telemetry_host (int fd, struct nvme_telemetry_log *log)
Create host telemetry log
@ -2220,6 +2243,75 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_rotational_media_info (int fd, __u16 endgid, __u32 len, struct nvme_rotational_media_info_log *log)
Retrieve Rotational Media Information Log
**Parameters**
``int fd``
File descriptor of nvme device
``__u16 endgid``
Endurance Group Identifier
``__u32 len``
The allocated length of the log page
``struct nvme_rotational_media_info_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_dispersed_ns_participating_nss (int fd, __u32 nsid, __u32 len, struct nvme_dispersed_ns_participating_nss_log *log)
Retrieve Dispersed Namespace Participating NVM Subsystems Log
**Parameters**
``int fd``
File descriptor of nvme device
``__u32 nsid``
Namespace Identifier
``__u32 len``
The allocated length of the log page
``struct nvme_dispersed_ns_participating_nss_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_mgmt_addr_list (int fd, __u32 len, struct nvme_mgmt_addr_list_log *log)
Retrieve Management Address List Log
**Parameters**
``int fd``
File descriptor of nvme device
``__u32 len``
The allocated length of the log page
``struct nvme_mgmt_addr_list_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_phy_rx_eom (int fd, __u8 lsp, __u16 controller, __u32 len, struct nvme_phy_rx_eom_log *log)
Retrieve Physical Interface Receiver Eye Opening Measurement Log
@ -2248,6 +2340,84 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_reachability_groups (int fd, bool rgo, bool rae, __u32 len, struct nvme_reachability_groups_log *log)
Retrieve Reachability Groups Log
**Parameters**
``int fd``
File descriptor of nvme device
``bool rgo``
Return groups only
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_reachability_groups_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_reachability_associations (int fd, bool rao, bool rae, __u32 len, struct nvme_reachability_associations_log *log)
Retrieve Reachability Associations Log
**Parameters**
``int fd``
File descriptor of nvme device
``bool rao``
Return associations only
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_reachability_associations_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_changed_alloc_ns_list (int fd, bool rae, __u32 len, struct nvme_ns_list *log)
Retrieve Changed Allocated Namespace List Log
**Parameters**
``int fd``
File descriptor of nvme device
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_ns_list *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_discovery (int fd, bool rae, __u32 offset, __u32 len, void *log)
Retrieve Discovery log page
@ -2280,6 +2450,81 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_get_log_host_discover (int fd, bool allhoste, bool rae, __u32 len, struct nvme_host_discover_log *log)
Retrieve Host Discovery Log
**Parameters**
``int fd``
File descriptor of nvme device
``bool allhoste``
All host entries
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_host_discover_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_ave_discover (int fd, bool rae, __u32 len, struct nvme_ave_discover_log *log)
Retrieve AVE Discovery Log
**Parameters**
``int fd``
File descriptor of nvme device
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_ave_discover_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_pull_model_ddc_req (int fd, bool rae, __u32 len, struct nvme_pull_model_ddc_req_log *log)
Retrieve Pull Model DDC Request Log
**Parameters**
``int fd``
File descriptor of nvme device
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_pull_model_ddc_req_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_get_log_media_unit_stat (int fd, __u16 domid, struct nvme_media_unit_stat_log *mus)
Retrieve Media Unit Status
@ -5288,3 +5533,117 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_lm_cdq (struct nvme_lm_cdq_args *args)
Controller Data Queue - Controller Data Queue command
**Parameters**
``struct nvme_lm_cdq_args *args``
:c:type:`struct nvme_lm_cdq_args <nvme_lm_cdq_args>` argument structure
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.)
.. c:function:: int nvme_lm_track_send (struct nvme_lm_track_send_args *args)
Track Send command
**Parameters**
``struct nvme_lm_track_send_args *args``
:c:type:`struct nvme_lm_track_send_args <nvme_lm_track_send_args>` argument structure
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_lm_migration_send (struct nvme_lm_migration_send_args *args)
Migration Send command
**Parameters**
``struct nvme_lm_migration_send_args *args``
:c:type:`struct nvme_lm_migration_send_args <nvme_lm_migration_send_args>` argument structure
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_lm_migration_recv (struct nvme_lm_migration_recv_args *args)
Migration Receive command
**Parameters**
``struct nvme_lm_migration_recv_args *args``
:c:type:`struct nvme_lm_migration_rev_args <nvme_lm_migration_rev_args>` argument structure
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_lm_set_features_ctrl_data_queue (int fd, __u16 cdqid, __u32 hp, __u32 tpt, bool etpt, __u32 *result)
Set Controller Datea Queue feature
**Parameters**
``int fd``
File descriptor of nvme device
``__u16 cdqid``
Controller Data Queue ID (CDQID)
``__u32 hp``
Head Pointer
``__u32 tpt``
Tail Pointer Trigger
``bool etpt``
Enable Tail Pointer Trigger
``__u32 *result``
The command completions result from CQE dword0
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_lm_get_features_ctrl_data_queue (int fd, __u16 cdqid, struct nvme_lm_ctrl_data_queue_fid_data *data, __u32 *result)
Get Controller Data Queue feature
**Parameters**
``int fd``
File descriptor of nvme device
``__u16 cdqid``
Controller Data Queue ID (CDQID)
``struct nvme_lm_ctrl_data_queue_fid_data *data``
Get Controller Data Queue feature data
``__u32 *result``
The command completions result from CQE dword0
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.

View file

@ -32,27 +32,6 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:type:: enum nvme_telemetry_da
Telemetry Log Data Area
**Constants**
``NVME_TELEMETRY_DA_1``
Data Area 1
``NVME_TELEMETRY_DA_2``
Data Area 2
``NVME_TELEMETRY_DA_3``
Data Area 3
``NVME_TELEMETRY_DA_4``
Data Area 4
.. c:function:: int nvme_get_telemetry_max (int fd, enum nvme_telemetry_da *da, size_t *max_data_tx)
Get telemetry limits
@ -352,7 +331,7 @@ errno set otherwise.
.. c:type:: enum nvme_hmac_alg
.. c:enum:: nvme_hmac_alg
HMAC algorithm
@ -541,7 +520,7 @@ inaccessible.
Key id of the new key or 0 with errno set otherwise.
.. c:type:: nvme_scan_tls_keys_cb_t
.. c:macro:: nvme_scan_tls_keys_cb_t
**Typedef**: Callback for iterating TLS keys

View file

@ -73,7 +73,9 @@ are:
with a couple of accommodations for older spec types, particularly NVMe-MI
1.1, where possible.
.. c:function:: NVME_MI_MSGTYPE_NVME ()
.. c:macro:: NVME_MI_MSGTYPE_NVME
``NVME_MI_MSGTYPE_NVME ()``
MCTP message type for NVMe-MI messages.
@ -89,7 +91,7 @@ bit (0x80) set.
.. c:type:: enum nvme_mi_message_type
.. c:enum:: nvme_mi_message_type
NVMe-MI message type field.
@ -115,7 +117,7 @@ byte). Not to be confused with the MCTP message type in byte 0.
.. c:type:: enum nvme_mi_ror
.. c:enum:: nvme_mi_ror
Request or response field.
@ -130,7 +132,7 @@ byte). Not to be confused with the MCTP message type in byte 0.
.. c:type:: enum nvme_mi_resp_status
.. c:enum:: nvme_mi_resp_status
values for the response status field
@ -196,7 +198,7 @@ byte). Not to be confused with the MCTP message type in byte 0.
.. c:type:: struct nvme_mi_msg_hdr
.. c:struct:: nvme_mi_msg_hdr
General MI message header.
@ -234,7 +236,7 @@ section 3.1. This is used for all message types, MI and Admin.
.. c:type:: struct nvme_mi_msg_resp
.. c:struct:: nvme_mi_msg_resp
Generic response type.
@ -268,7 +270,7 @@ will define parts of the reserved data, and may add further fields.
.. c:type:: enum nvme_mi_mi_opcode
.. c:enum:: nvme_mi_mi_opcode
Operation code for supported NVMe-MI commands.
@ -289,7 +291,7 @@ will define parts of the reserved data, and may add further fields.
.. c:type:: struct nvme_mi_mi_req_hdr
.. c:struct:: nvme_mi_mi_req_hdr
MI request message header.
@ -329,7 +331,7 @@ Wire format for MI request message headers, defined in section 5 of NVMe-MI.
.. c:type:: struct nvme_mi_mi_resp_hdr
.. c:struct:: nvme_mi_mi_resp_hdr
MI response message header.
@ -362,7 +364,7 @@ Wire format for MI response message header, defined in section 5 of NVMe-MI.
.. c:type:: enum nvme_mi_dtyp
.. c:enum:: nvme_mi_dtyp
Data Structure Type field.
@ -394,7 +396,7 @@ indicate the particular structure to query from the endpoint.
.. c:type:: enum nvme_mi_config_id
.. c:enum:: nvme_mi_config_id
NVMe-MI Configuration identifier.
@ -421,7 +423,7 @@ See :c:type:`nvme_mi_mi_config_get`() and :c:type:`nvme_mi_config_set`().
.. c:type:: enum nvme_mi_config_smbus_freq
.. c:enum:: nvme_mi_config_smbus_freq
SMBus/I2C frequency values
@ -444,7 +446,7 @@ Values used in the SMBus Frequency device configuration. See
.. c:type:: struct nvme_mi_admin_req_hdr
.. c:struct:: nvme_mi_admin_req_hdr
Admin command request header.
@ -534,7 +536,7 @@ NVMe-MI.
.. c:type:: struct nvme_mi_admin_resp_hdr
.. c:struct:: nvme_mi_admin_resp_hdr
Admin command response header.
@ -578,7 +580,7 @@ queue data, plus optional response data.
.. c:type:: enum nvme_mi_control_opcode
.. c:enum:: nvme_mi_control_opcode
Operation code for Control Primitives.
@ -602,7 +604,7 @@ queue data, plus optional response data.
.. c:type:: struct nvme_mi_control_req
.. c:struct:: nvme_mi_control_req
The Control Primitive request.
@ -711,7 +713,7 @@ endpoint to determine model-specific details.
.. c:type:: typedef nvme_mi_ep_t
.. c:type:: nvme_mi_ep_t
MI Endpoint object.
@ -770,7 +772,9 @@ next endpoint MI endpoint object after **e** under this root, or NULL
See: :c:type:`nvme_mi_first_endpoint`, :c:type:`nvme_mi_for_each_endpoint`
.. c:function:: nvme_mi_for_each_endpoint (m, e)
.. c:macro:: nvme_mi_for_each_endpoint
``nvme_mi_for_each_endpoint (m, e)``
Iterator for NVMe-MI endpoints.
@ -783,7 +787,9 @@ See: :c:type:`nvme_mi_first_endpoint`, :c:type:`nvme_mi_for_each_endpoint`
:c:type:`nvme_mi_ep_t` object, set on each iteration
.. c:function:: nvme_mi_for_each_endpoint_safe (m, e, _e)
.. c:macro:: nvme_mi_for_each_endpoint_safe
``nvme_mi_for_each_endpoint_safe (m, e, _e)``
Iterator for NVMe-MI endpoints, allowing deletion during traversal
@ -853,7 +859,7 @@ Returns the current timeout value, in milliseconds, for this endpoint.
.. c:type:: typedef nvme_mi_ctrl_t
.. c:type:: nvme_mi_ctrl_t
NVMe-MI Controller object.
@ -904,7 +910,9 @@ next MI controller object after **c** under this endpoint, or NULL
See: :c:type:`nvme_mi_first_ctrl`, :c:type:`nvme_mi_for_each_ctrl`
.. c:function:: nvme_mi_for_each_ctrl (ep, c)
.. c:macro:: nvme_mi_for_each_ctrl
``nvme_mi_for_each_ctrl (ep, c)``
Iterator for NVMe-MI controllers.
@ -925,7 +933,9 @@ call :c:type:`nvme_mi_scan_ep`() to scan for the controllers first.
See: :c:type:`nvme_mi_scan_ep`()
.. c:function:: nvme_mi_for_each_ctrl_safe (ep, c, _c)
.. c:macro:: nvme_mi_for_each_ctrl_safe
``nvme_mi_for_each_ctrl_safe (ep, c, _c)``
Iterator for NVMe-MI controllers, allowing deletion during traversal
@ -1118,6 +1128,48 @@ a newly-allocated string containing the endpoint description, or
NULL on failure.
.. c:function:: int nvme_mi_mi_xfer (nvme_mi_ep_t ep, struct nvme_mi_mi_req_hdr *mi_req, size_t req_data_size, struct nvme_mi_mi_resp_hdr *mi_resp, size_t *resp_data_size)
Raw mi transfer interface.
**Parameters**
``nvme_mi_ep_t ep``
endpoint to send the MI command to
``struct nvme_mi_mi_req_hdr *mi_req``
request data
``size_t req_data_size``
size of request data payload
``struct nvme_mi_mi_resp_hdr *mi_resp``
buffer for response data
``size_t *resp_data_size``
size of response data buffer, updated to received size
**Description**
Performs an arbitrary NVMe MI command, using the provided request data,
in **mi_req**. The size of the request data *payload* is specified in
**req_data_size** - this does not include the standard header length (so a
header-only request would have a size of 0). Note that the Management
Request Doublewords are considered part of the header data.
On success, response data is stored in **mi_resp**, which has an optional
appended payload buffer of **resp_data_size** bytes. The actual payload
size transferred will be stored in **resp_data_size**. This size does not
include the MI response header, so 0 represents no payload.
See: :c:type:`struct nvme_mi_mi_req_hdr <nvme_mi_mi_req_hdr>` and :c:type:`struct nvme_mi_mi_resp_hdr <nvme_mi_mi_resp_hdr>`.
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise..
.. c:function:: int nvme_mi_mi_read_mi_data_subsys (nvme_mi_ep_t ep, struct nvme_mi_read_nvm_ss_info *s)
Perform a Read MI Data Structure command, retrieving subsystem data.
@ -2132,6 +2184,43 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_get_endgid_log (nvme_mi_ctrl_t ctrl, bool rae, enum nvme_cmd_get_log_lid lid, __u16 endgid, __u32 len, void *log)
Helper for Get Endurance Group ID Log Page functions
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``bool rae``
Retain Asynchronous Events
``enum nvme_cmd_get_log_lid lid``
Log identifier
``__u16 endgid``
Endurance Group ID
``__u32 len``
length of log buffer
``void *log``
pointer for resulting log data
**Description**
Performs a Get Log Page Admin command for a specific log ID **lid** and
endurance group ID **endgid**. Log data is expected to be **len** bytes, and is stored
in **log** on success. The **rae** flag is passed as-is to the Get Log Page
command, and is specific to the Log Page requested.
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_get_log_simple (nvme_mi_ctrl_t ctrl, enum nvme_cmd_get_log_lid lid, __u32 len, void *log)
Helper for Get Log Page functions with no NSID or RAE requirements
@ -2349,6 +2438,27 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_get_log_create_telemetry_host_mcda (nvme_mi_ctrl_t ctrl, enum nvme_telemetry_da mcda, struct nvme_telemetry_log *log)
Create host telemetry log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``enum nvme_telemetry_da mcda``
Maximum Created Data Area
``struct nvme_telemetry_log *log``
Userspace address of the log payload
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_get_log_create_telemetry_host (nvme_mi_ctrl_t ctrl, struct nvme_telemetry_log *log)
Create host telemetry log
@ -2736,6 +2846,75 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_get_log_rotational_media_info (nvme_mi_ctrl_t ctrl, __u16 endgid, __u32 len, struct nvme_rotational_media_info_log *log)
Retrieve Rotational Media Information Log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``__u16 endgid``
Endurance Group Identifier
``__u32 len``
The allocated length of the log page
``struct nvme_rotational_media_info_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_mi_admin_get_log_dispersed_ns_participating_nss (nvme_mi_ctrl_t ctrl, __u32 nsid, __u32 len, struct nvme_dispersed_ns_participating_nss_log *log)
Retrieve Dispersed Namespace Participating NVM Subsystems Log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``__u32 nsid``
Namespace Identifier
``__u32 len``
The allocated length of the log page
``struct nvme_dispersed_ns_participating_nss_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_mi_admin_get_log_mgmt_addr_list (nvme_mi_ctrl_t ctrl, __u32 len, struct nvme_mgmt_addr_list_log *log)
Retrieve Management Address List Log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``__u32 len``
The allocated length of the log page
``struct nvme_mgmt_addr_list_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_mi_admin_get_log_phy_rx_eom (nvme_mi_ctrl_t ctrl, __u8 lsp, __u16 controller, __u32 len, struct nvme_phy_rx_eom_log *log)
Retrieve Physical Interface Receiver Eye Opening Measurement Log
@ -2764,6 +2943,84 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_mi_admin_get_log_reachability_groups (nvme_mi_ctrl_t ctrl, bool rgo, bool rae, __u32 len, struct nvme_reachability_groups_log *log)
Retrieve Reachability Groups Log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``bool rgo``
Return groups only
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_reachability_groups_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_mi_admin_get_log_reachability_associations (nvme_mi_ctrl_t ctrl, bool rao, bool rae, __u32 len, struct nvme_reachability_associations_log *log)
Retrieve Reachability Associations Log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``bool rao``
Return associations only
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_reachability_associations_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_mi_admin_get_log_changed_alloc_ns_list (nvme_mi_ctrl_t ctrl, bool rae, __u32 len, struct nvme_ns_list *log)
Retrieve Changed Allocated Namespace List Log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_ns_list *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_mi_admin_get_log_discovery (nvme_mi_ctrl_t ctrl, bool rae, __u32 offset, __u32 len, void *log)
Retrieve Discovery log page
@ -2796,6 +3053,81 @@ The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise.
.. c:function:: int nvme_mi_admin_get_log_host_discover (nvme_mi_ctrl_t ctrl, bool allhoste, bool rae, __u32 len, struct nvme_host_discover_log *log)
Retrieve Host Discovery Log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``bool allhoste``
All host entries
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_host_discover_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_mi_admin_get_log_ave_discover (nvme_mi_ctrl_t ctrl, bool rae, __u32 len, struct nvme_ave_discover_log *log)
Retrieve AVE Discovery Log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_ave_discover_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_mi_admin_get_log_pull_model_ddc_req (nvme_mi_ctrl_t ctrl, bool rae, __u32 len, struct nvme_pull_model_ddc_req_log *log)
Retrieve Pull Model DDC Request Log
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to query
``bool rae``
Retain asynchronous events
``__u32 len``
The allocated length of the log page
``struct nvme_pull_model_ddc_req_log *log``
User address to store the log page
**Return**
The nvme command status if a response was received (see
:c:type:`enum nvme_status_field <nvme_status_field>`) or -1 with errno set otherwise
.. c:function:: int nvme_mi_admin_get_log_media_unit_stat (nvme_mi_ctrl_t ctrl, __u16 domid, struct nvme_media_unit_stat_log *mus)
Retrieve Media Unit Status

View file

@ -9,7 +9,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_desc_type
.. c:enum:: nbft_desc_type
NBFT Elements - Descriptor Types (Figure 5)
@ -56,7 +56,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_trtype
.. c:enum:: nbft_trtype
NBFT Interface Transport Types (Figure 7)
@ -68,7 +68,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_heap_obj
.. c:struct:: nbft_heap_obj
NBFT Header Driver Signature
@ -94,7 +94,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_header
.. c:struct:: nbft_header
NBFT Table - Header (Figure 8)
@ -193,7 +193,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_control
.. c:struct:: nbft_control
NBFT Table - Control Descriptor (Figure 8)
@ -368,7 +368,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_control_flags
.. c:enum:: nbft_control_flags
Control Descriptor Flags
@ -380,7 +380,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_host
.. c:struct:: nbft_host
Host Descriptor (Figure 9)
@ -422,7 +422,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_host_flags
.. c:enum:: nbft_host_flags
Host Flags
@ -479,7 +479,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_hfi
.. c:struct:: nbft_hfi
Host Fabric Interface (HFI) Descriptor (Figure 11)
@ -529,7 +529,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_hfi_flags
.. c:enum:: nbft_hfi_flags
HFI Descriptor Flags
@ -542,7 +542,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_hfi_info_tcp
.. c:struct:: nbft_hfi_info_tcp
HFI Transport Info Descriptor - NVMe/TCP (Figure 13)
@ -685,7 +685,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_hfi_info_tcp_flags
.. c:enum:: nbft_hfi_info_tcp_flags
HFI Transport Flags
@ -714,7 +714,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_ssns
.. c:struct:: nbft_ssns
Subsystem Namespace (SSNS) Descriptor (Figure 15)
@ -879,7 +879,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_ssns_flags
.. c:enum:: nbft_ssns_flags
Subsystem and Namespace Specific Flags Field (Figure 16)
@ -970,7 +970,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_ssns_trflags
.. c:enum:: nbft_ssns_trflags
SSNS Transport Specific Flags Field (Figure 17)
@ -1008,7 +1008,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_ssns_ext_info
.. c:struct:: nbft_ssns_ext_info
Subsystem and Namespace Extended Information Descriptor (Figure 19)
@ -1069,7 +1069,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_ssns_ext_info_flags
.. c:enum:: nbft_ssns_ext_info_flags
Subsystem and Namespace Extended Information Descriptor Flags
@ -1091,7 +1091,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_security
.. c:struct:: nbft_security
Security Profile Descriptor (Figure 21)
@ -1195,7 +1195,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_security_flags
.. c:enum:: nbft_security_flags
Security Profile Descriptor Flags (Figure 22)
@ -1317,7 +1317,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_security_secret_type
.. c:enum:: nbft_security_secret_type
Security Profile Descriptor Secret Type
@ -1333,7 +1333,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_discovery
.. c:struct:: nbft_discovery
Discovery Descriptor (Figure 24)
@ -1410,7 +1410,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_discovery_flags
.. c:enum:: nbft_discovery_flags
Discovery Descriptor Flags
@ -1424,7 +1424,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_info_primary_admin_host_flag
.. c:enum:: nbft_info_primary_admin_host_flag
Primary Administrative Host Descriptor Flags
@ -1454,7 +1454,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_info_host
.. c:struct:: nbft_info_host
Host Descriptor
@ -1496,7 +1496,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_info_hfi_info_tcp
.. c:struct:: nbft_info_hfi_info_tcp
HFI Transport Info Descriptor - NVMe/TCP
@ -1585,7 +1585,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_info_hfi
.. c:struct:: nbft_info_hfi
Host Fabric Interface (HFI) Descriptor
@ -1615,7 +1615,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_info_discovery
.. c:struct:: nbft_info_discovery
Discovery Descriptor
@ -1655,7 +1655,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_info_security
.. c:struct:: nbft_info_security
Security Profile Descriptor
@ -1677,7 +1677,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: enum nbft_info_nid_type
.. c:enum:: nbft_info_nid_type
Namespace Identifier Type (NIDT)
@ -1698,7 +1698,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_info_subsystem_ns
.. c:struct:: nbft_info_subsystem_ns
Subsystem Namespace (SSNS) info
@ -1808,7 +1808,7 @@ Note: this API is currently unstable, subject to further additions.
.. c:type:: struct nbft_info
.. c:struct:: nbft_info
The parsed NBFT table data.

View file

@ -694,7 +694,9 @@ First :c:type:`nvme_ns_t` object of an **s** iterator
Next :c:type:`nvme_ns_t` object of an **s** iterator
.. c:function:: nvme_for_each_host_safe (r, h, _h)
.. c:macro:: nvme_for_each_host_safe
``nvme_for_each_host_safe (r, h, _h)``
Traverse host list
@ -710,7 +712,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
Temporary :c:type:`nvme_host_t` object
.. c:function:: nvme_for_each_host (r, h)
.. c:macro:: nvme_for_each_host
``nvme_for_each_host (r, h)``
Traverse host list
@ -723,7 +727,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
:c:type:`nvme_host_t` object
.. c:function:: nvme_for_each_subsystem_safe (h, s, _s)
.. c:macro:: nvme_for_each_subsystem_safe
``nvme_for_each_subsystem_safe (h, s, _s)``
Traverse subsystems
@ -739,7 +745,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
Temporary :c:type:`nvme_subsystem_t` object
.. c:function:: nvme_for_each_subsystem (h, s)
.. c:macro:: nvme_for_each_subsystem
``nvme_for_each_subsystem (h, s)``
Traverse subsystems
@ -752,7 +760,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
:c:type:`nvme_subsystem_t` object
.. c:function:: nvme_subsystem_for_each_ctrl_safe (s, c, _c)
.. c:macro:: nvme_subsystem_for_each_ctrl_safe
``nvme_subsystem_for_each_ctrl_safe (s, c, _c)``
Traverse controllers
@ -768,7 +778,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
A :c:type:`nvme_ctrl_t_node` to use as temporary storage
.. c:function:: nvme_subsystem_for_each_ctrl (s, c)
.. c:macro:: nvme_subsystem_for_each_ctrl
``nvme_subsystem_for_each_ctrl (s, c)``
Traverse controllers
@ -781,7 +793,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
Controller instance
.. c:function:: nvme_ctrl_for_each_ns_safe (c, n, _n)
.. c:macro:: nvme_ctrl_for_each_ns_safe
``nvme_ctrl_for_each_ns_safe (c, n, _n)``
Traverse namespaces
@ -797,7 +811,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
A :c:type:`nvme_ns_t_node` to use as temporary storage
.. c:function:: nvme_ctrl_for_each_ns (c, n)
.. c:macro:: nvme_ctrl_for_each_ns
``nvme_ctrl_for_each_ns (c, n)``
Traverse namespaces
@ -810,7 +826,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
:c:type:`nvme_ns_t` object
.. c:function:: nvme_ctrl_for_each_path_safe (c, p, _p)
.. c:macro:: nvme_ctrl_for_each_path_safe
``nvme_ctrl_for_each_path_safe (c, p, _p)``
Traverse paths
@ -826,7 +844,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
A :c:type:`nvme_path_t_node` to use as temporary storage
.. c:function:: nvme_ctrl_for_each_path (c, p)
.. c:macro:: nvme_ctrl_for_each_path
``nvme_ctrl_for_each_path (c, p)``
Traverse paths
@ -839,7 +859,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
:c:type:`nvme_path_t` object
.. c:function:: nvme_subsystem_for_each_ns_safe (s, n, _n)
.. c:macro:: nvme_subsystem_for_each_ns_safe
``nvme_subsystem_for_each_ns_safe (s, n, _n)``
Traverse namespaces
@ -855,7 +877,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
A :c:type:`nvme_ns_t_node` to use as temporary storage
.. c:function:: nvme_subsystem_for_each_ns (s, n)
.. c:macro:: nvme_subsystem_for_each_ns
``nvme_subsystem_for_each_ns (s, n)``
Traverse namespaces
@ -868,7 +892,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
:c:type:`nvme_ns_t` object
.. c:function:: nvme_namespace_for_each_path_safe (n, p, _p)
.. c:macro:: nvme_namespace_for_each_path_safe
``nvme_namespace_for_each_path_safe (n, p, _p)``
Traverse paths
@ -884,7 +910,9 @@ Next :c:type:`nvme_ns_t` object of an **s** iterator
A :c:type:`nvme_path_t_node` to use as temporary storage
.. c:function:: nvme_namespace_for_each_path (n, p)
.. c:macro:: nvme_namespace_for_each_path
``nvme_namespace_for_each_path (n, p)``
Traverse paths

File diff suppressed because it is too large Load diff

View file

@ -7,7 +7,7 @@ libnvme utility functions
.. c:type:: enum nvme_connect_err
.. c:enum:: nvme_connect_err
nvme connect error codes
@ -487,7 +487,9 @@ If **s** starts with **prefix**, then return a pointer within **s** at
the first character after the matched **prefix**. NULL otherwise.
.. c:function:: round_up (val, mult)
.. c:macro:: round_up
``round_up (val, mult)``
Round a value **val** to the next multiple specified by **mult**.
@ -570,7 +572,7 @@ Pointer to the next element in the array.
.. c:type:: enum nvme_version
.. c:enum:: nvme_version
Selector for version to be returned by **nvme_get_version**