1
0
Fork 0

Merging upstream version 1.3.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-16 10:06:51 +01:00
parent 34cf2bc5f8
commit ae07fb4ed6
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
803 changed files with 4523 additions and 1325 deletions

View file

@ -424,7 +424,7 @@ identifier, or NULL if not successful.
.. c:function:: char * nvmf_hostnqn_from_file ()
Reads the host nvm qualified name from the config default location in /etc/nvme/
Reads the host nvm qualified name from the config default location in /usr/local/etc/nvme/
**Parameters**
@ -436,7 +436,7 @@ is responsible to free the string.
.. c:function:: char * nvmf_hostid_from_file ()
Reads the host identifier from the config default location in /etc/nvme/.
Reads the host identifier from the config default location in /usr/local/etc/nvme/.
**Parameters**

View file

@ -1538,6 +1538,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_page (int fd, __u32 xfer_len, struct nvme_get_log_args *args)
Get log page data
**Parameters**
``int fd``
File descriptor of nvme device
``__u32 xfer_len``
Max log transfer size per request to split the total.
``struct nvme_get_log_args *args``
:c:type:`struct nvme_get_log_args <nvme_get_log_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_get_log_supported_log_pages (int fd, bool rae, struct nvme_supported_log_pages *log)
Retrieve nmve supported log pages
@ -1883,6 +1904,97 @@ 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_fdp_configurations (int fd, __u16 egid, __u32 offset, __u32 len, void *log)
Get list of Flexible Data Placement configurations
**Parameters**
``int fd``
File descriptor of nvme device
``__u16 egid``
Endurance group identifier
``__u32 offset``
Offset into log page
``__u32 len``
Length (in bytes) of provided user buffer to hold the log data
``void *log``
Log page data buffer
.. c:function:: int nvme_get_log_reclaim_unit_handle_usage (int fd, __u16 egid, __u32 offset, __u32 len, void *log)
Get reclaim unit handle usage
**Parameters**
``int fd``
File descriptor of nvme device
``__u16 egid``
Endurance group identifier
``__u32 offset``
Offset into log page
``__u32 len``
Length (in bytes) of provided user buffer to hold the log data
``void *log``
Log page data buffer
.. c:function:: int nvme_get_log_fdp_stats (int fd, __u16 egid, __u32 offset, __u32 len, void *log)
Get Flexible Data Placement statistics
**Parameters**
``int fd``
File descriptor of nvme device
``__u16 egid``
Endurance group identifier
``__u32 offset``
Offset into log page
``__u32 len``
Length (in bytes) of provided user buffer to hold the log data
``void *log``
Log page data buffer
.. c:function:: int nvme_get_log_fdp_events (int fd, __u16 egid, bool host_events, __u32 offset, __u32 len, void *log)
Get Flexible Data Placement events
**Parameters**
``int fd``
File descriptor of nvme device
``__u16 egid``
Endurance group identifier
``bool host_events``
Whether to report host or controller events
``__u32 offset``
Offset into log page
``__u32 len``
Length (in bytes) of provided user buffer to hold the log data
``void *log``
Log page data buffer
.. c:function:: int nvme_get_log_ana (int fd, enum nvme_log_ana_lsp lsp, bool rae, __u64 offset, __u32 len, void *log)
Retrieve Asymmetric Namespace Access log page
@ -2911,7 +3023,7 @@ The nvme command status if a response was received (see
.. c:function:: int nvme_set_features_host_id (int fd, bool exhid, bool save, __u8 *hostid)
Set enable extended host identifers feature
Set enable extended host identifiers feature
**Parameters**
@ -4307,7 +4419,7 @@ controller and may include testing of the media associated with namespaces.
The controller may return a response to this command immediately while
running the self-test in the background.
Set the 'nsid' field to 0 to not include namepsaces in the test. Set to
Set the 'nsid' field to 0 to not include namespaces in the test. Set to
0xffffffff to test all namespaces. All other values tests a specific
namespace, if present.
@ -4608,6 +4720,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_io_mgmt_recv (struct nvme_io_mgmt_recv_args *args)
I/O Management Receive command
**Parameters**
``struct nvme_io_mgmt_recv_args *args``
:c:type:`struct nvme_io_mgmt_recv_args <nvme_io_mgmt_recv_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_fdp_reclaim_unit_handle_status (int fd, __u32 nsid, __u32 data_len, void *data)
Get reclaim unit handle status
**Parameters**
``int fd``
File descriptor of nvme device
``__u32 nsid``
Namespace identifier
``__u32 data_len``
Length of response buffer
``void *data``
Response buffer
**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_io_mgmt_send (struct nvme_io_mgmt_send_args *args)
I/O Management Send command
**Parameters**
``struct nvme_io_mgmt_send_args *args``
:c:type:`struct nvme_io_mgmt_send_args <nvme_io_mgmt_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_fdp_reclaim_unit_handle_update (int fd, __u32 nsid, unsigned int npids, __u16 *pids)
Update a list of reclaim unit handles
**Parameters**
``int fd``
File descriptor of nvme device
``__u32 nsid``
Namespace identifier
``unsigned int npids``
Number of placement identifiers
``__u16 *pids``
List of placement identifiers
**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_zns_mgmt_send (struct nvme_zns_mgmt_send_args *args)
ZNS management send command

View file

@ -143,27 +143,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:function:: int nvme_get_log_page (int fd, __u32 xfer_len, struct nvme_get_log_args *args)
Get log page data
**Parameters**
``int fd``
File descriptor of nvme device
``__u32 xfer_len``
Max log transfer size per request to split the total.
``struct nvme_get_log_args *args``
:c:type:`struct nvme_get_log_args <nvme_get_log_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_get_ana_log_len (int fd, size_t *analen)
Retrieve size of the current ANA log

View file

@ -29,8 +29,6 @@ if want_docs != 'false'
endforeach
endif
else
if want_docs == 'all' or want_docs == 'rst'
install_subdir('rst', install_dir: rstdir)
endif
# no prebuild docs
endif
endif

View file

@ -635,6 +635,25 @@ new root object, or NULL on failure.
root to free
.. c:function:: void nvme_mi_set_probe_enabled (nvme_root_t root, bool enabled)
enable/disable the probe for new endpoints
**Parameters**
``nvme_root_t root``
:c:type:`nvme_root_t` object
``bool enabled``
whether to probe new endpoints
**Description**
Controls whether newly-created endpoints are probed for quirks on creation.
Defaults to enabled, which results in some initial messaging with the
endpoint to determine model-specific details.
.. c:type:: nvme_mi_ep_t
@ -1427,6 +1446,85 @@ 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_admin_passthru (nvme_mi_ctrl_t ctrl, __u8 opcode, __u8 flags, __u16 rsvd, __u32 nsid, __u32 cdw2, __u32 cdw3, __u32 cdw10, __u32 cdw11, __u32 cdw12, __u32 cdw13, __u32 cdw14, __u32 cdw15, __u32 data_len, void *data, __u32 metadata_len, void *metadata, __u32 timeout_ms, __u32 *result)
Submit an nvme admin passthrough command
**Parameters**
``nvme_mi_ctrl_t ctrl``
Controller to send command to
``__u8 opcode``
The nvme admin command to send
``__u8 flags``
NVMe command flags (not used)
``__u16 rsvd``
Reserved for future use
``__u32 nsid``
Namespace identifier
``__u32 cdw2``
Command dword 2
``__u32 cdw3``
Command dword 3
``__u32 cdw10``
Command dword 10
``__u32 cdw11``
Command dword 11
``__u32 cdw12``
Command dword 12
``__u32 cdw13``
Command dword 13
``__u32 cdw14``
Command dword 14
``__u32 cdw15``
Command dword 15
``__u32 data_len``
Length of the data transferred in this command in bytes
``void *data``
Pointer to user address of the data buffer
``__u32 metadata_len``
Length of metadata transferred in this command(not used)
``void *metadata``
Pointer to user address of the metadata buffer(not used)
``__u32 timeout_ms``
How long to wait for the command to complete
``__u32 *result``
Optional field to return the result from the CQE dword 0
**Description**
Send a customized NVMe Admin command request message and get the corresponding
response message.
This interface supports no data, host to controller and controller to
host but it doesn't support bidirectional data transfer.
Also this interface only supports data transfer size range [0, 4096] (bytes)
so the & data_len parameter must be less than 4097.
**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_identify_partial (nvme_mi_ctrl_t ctrl, struct nvme_identify_args *args, off_t offset, size_t size)
Perform an Admin identify command, and retrieve partial response data.

View file

@ -133,6 +133,44 @@ DH-HMAC-CHAP host key or NULL if not set
DH-HMAC-CHAP Key to set or NULL to clear existing key
.. c:function:: void nvme_host_set_pdc_enabled (nvme_host_t h, bool enabled)
Set Persistent Discovery Controller flag
**Parameters**
``nvme_host_t h``
Host for which the falg should be set
``bool enabled``
The bool to set the enabled flag
**Description**
When nvme_host_set_pdc_enabled() is not used to set the PDC flag,
nvme_host_is_pdc_enabled() will return the default value which was
passed into the function and not the undefined flag value.
.. c:function:: bool nvme_host_is_pdc_enabled (nvme_host_t h, bool fallback)
Is Persistenct Discovery Controller enabled
**Parameters**
``nvme_host_t h``
Host which to check if PDC is enabled
``bool fallback``
The fallback default value of the flag when
**nvme_host_set_pdc_enabled** has not be used
to set the flag.
**Return**
true if PDC is enabled for **h**, else false
.. c:function:: nvme_host_t nvme_default_host (nvme_root_t r)
Initializes the default host
@ -1644,6 +1682,38 @@ Returns the value of the 'discovery_ctrl' flag which specifies whether
Value of the 'discover_ctrl' flag
.. c:function:: void nvme_ctrl_set_unique_discovery_ctrl (nvme_ctrl_t c, bool unique)
Set the 'unique_discovery_ctrl' flag
**Parameters**
``nvme_ctrl_t c``
Controller to be modified
``bool unique``
value of the unique_disc_ctrl flag
**Description**
Sets the 'unique_discovery_ctrl' flag in **c** to specify wheter
**c** is a unique discovery controller
.. c:function:: bool nvme_ctrl_is_unique_discovery_ctrl (nvme_ctrl_t c)
Check the 'unique_discovery_ctrl' flag
**Parameters**
``nvme_ctrl_t c``
Controller to be checked
**Return**
Value of the 'unique_discovery_ctrl' flag
.. c:function:: int nvme_ctrl_identify (nvme_ctrl_t c, struct nvme_id_ctrl *id)
Issues an 'identify controller' command

View file

@ -1155,6 +1155,9 @@ power scale value
``NVME_CTRL_CTRATT_ELBAS``
Extended LBA Formats supported
``NVME_CTRL_CTRATT_FDPS``
Flexible Data Placement supported
@ -3944,6 +3947,9 @@ Supported Log Pages (Log Identifier 00h)
``NVME_ST_CODE_VS``
Vendor specific.
``NVME_ST_CODE_ABORT``
Abort device self-test operation.
``NVME_ST_CODE_SHIFT``
Shift amount to get the code value from the
:c:type:`struct nvme_st_result <nvme_st_result>`.dsts field.
@ -4775,6 +4781,35 @@ bytes, in size. This log captures the controllers internal state.
.. c:struct:: nvme_timestamp
Timestamp - Data Structure for Get Features
**Definition**
::
struct nvme_timestamp {
__u8 timestamp[6];
__u8 attr;
__u8 rsvd;
};
**Members**
``timestamp``
Timestamp value based on origin and synch field
``attr``
Attribute
``rsvd``
Reserved
.. c:struct:: nvme_time_stamp_change_event
Timestamp Change Event
@ -6175,6 +6210,598 @@ bytes, in size. This log captures the controllers internal state.
.. c:enum:: nvme_fdp_ruh_type
Reclaim Unit Handle Type
**Constants**
``NVME_FDP_RUHT_INITIALLY_ISOLATED``
Initially Isolated
``NVME_FDP_RUHT_PERSISTENTLY_ISOLATED``
Persistently Isolated
.. c:struct:: nvme_fdp_ruh_desc
Reclaim Unit Handle Descriptor
**Definition**
::
struct nvme_fdp_ruh_desc {
__u8 ruht;
__u8 rsvd1[3];
};
**Members**
``ruht``
Reclaim Unit Handle Type
``rsvd1``
Reserved
.. c:enum:: nvme_fdp_config_fdpa
FDP Attributes
**Constants**
``NVME_FDP_CONFIG_FDPA_RGIF_SHIFT``
Reclaim Group Identifier Format Shift
``NVME_FDP_CONFIG_FDPA_RGIF_MASK``
Reclaim Group Identifier Format Mask
``NVME_FDP_CONFIG_FDPA_FDPVWC_SHIFT``
FDP Volatile Write Cache Shift
``NVME_FDP_CONFIG_FDPA_FDPVWC_MASK``
FDP Volatile Write Cache Mask
``NVME_FDP_CONFIG_FDPA_VALID_SHIFT``
FDP Configuration Valid Shift
``NVME_FDP_CONFIG_FDPA_VALID_MASK``
FDP Configuration Valid Mask
.. c:struct:: nvme_fdp_config_desc
FDP Configuration Descriptor
**Definition**
::
struct nvme_fdp_config_desc {
__u16 size;
__u8 fdpa;
__u8 vss;
__u32 nrg;
__u16 nruh;
__u16 maxpids;
__u32 nnss;
__u64 runs;
__u32 erutl;
__u8 rsvd28[36];
struct nvme_fdp_ruh_desc ruhs[];
};
**Members**
``size``
Descriptor size
``fdpa``
FDP Attributes (:c:type:`enum nvme_fdp_config_fdpa <nvme_fdp_config_fdpa>`)
``vss``
Vendor Specific Size
``nrg``
Number of Reclaim Groups
``nruh``
Number of Reclaim Unit Handles
``maxpids``
Max Placement Identifiers
``nnss``
Number of Namespaces Supported
``runs``
Reclaim Unit Nominal Size
``erutl``
Estimated Reclaim Unit Time Limit
``rsvd28``
Reserved
``ruhs``
Reclaim Unit Handle descriptors (:c:type:`struct nvme_fdp_ruh_desc <nvme_fdp_ruh_desc>`)
.. c:struct:: nvme_fdp_config_log
FDP Configurations Log Page
**Definition**
::
struct nvme_fdp_config_log {
__u16 n;
__u8 version;
__u8 rsvd3;
__u32 size;
__u8 rsvd8[8];
struct nvme_fdp_config_desc configs[];
};
**Members**
``n``
Number of FDP Configurations
``version``
Log page version
``rsvd3``
Reserved
``size``
Log page size in bytes
``rsvd8``
Reserved
``configs``
FDP Configuration descriptors (:c:type:`struct nvme_fdp_config_desc <nvme_fdp_config_desc>`)
.. c:enum:: nvme_fdp_ruha
Reclaim Unit Handle Attributes
**Constants**
``NVME_FDP_RUHA_HOST_SHIFT``
Host Specified Reclaim Unit Handle Shift
``NVME_FDP_RUHA_HOST_MASK``
Host Specified Reclaim Unit Handle Mask
``NVME_FDP_RUHA_CTRL_SHIFT``
Controller Specified Reclaim Unit Handle Shift
``NVME_FDP_RUHA_CTRL_MASK``
Controller Specified Reclaim Unit Handle Mask
.. c:struct:: nvme_fdp_ruhu_desc
Reclaim Unit Handle Usage Descriptor
**Definition**
::
struct nvme_fdp_ruhu_desc {
__u8 ruha;
__u8 rsvd1[7];
};
**Members**
``ruha``
Reclaim Unit Handle Attributes (:c:type:`enum nvme_fdp_ruha <nvme_fdp_ruha>`)
``rsvd1``
Reserved
.. c:struct:: nvme_fdp_ruhu_log
Reclaim Unit Handle Usage Log Page
**Definition**
::
struct nvme_fdp_ruhu_log {
__u16 nruh;
__u8 rsvd2[6];
struct nvme_fdp_ruhu_desc ruhus[];
};
**Members**
``nruh``
Number of Reclaim Unit Handles
``rsvd2``
Reserved
``ruhus``
Reclaim Unit Handle Usage descriptors
.. c:struct:: nvme_fdp_stats_log
FDP Statistics Log Page
**Definition**
::
struct nvme_fdp_stats_log {
__u8 hbmw[16];
__u8 mbmw[16];
__u8 mbe[16];
__u8 rsvd48[16];
};
**Members**
``hbmw``
Host Bytes with Metadata Written
``mbmw``
Media Bytes with Metadata Written
``mbe``
Media Bytes Erased
``rsvd48``
Reserved
.. c:enum:: nvme_fdp_event_type
FDP Event Types
**Constants**
``NVME_FDP_EVENT_RUNFW``
Reclaim Unit Not Fully Written
``NVME_FDP_EVENT_RUTLE``
Reclaim Unit Time Limit Exceeded
``NVME_FDP_EVENT_RESET``
Controller Level Reset Modified Reclaim Unit Handles
``NVME_FDP_EVENT_PID``
Invalid Placement Identifier
``NVME_FDP_EVENT_REALLOC``
Media Reallocated
``NVME_FDP_EVENT_MODIFY``
Implicitly Modified Reclaim Unit Handle
.. c:enum:: nvme_fdp_event_realloc_flags
Media Reallocated Event Type Specific Flags
**Constants**
``NVME_FDP_EVENT_REALLOC_F_LBAV``
LBA Valid
.. c:struct:: nvme_fdp_event_realloc
Media Reallocated Event Type Specific Information
**Definition**
::
struct nvme_fdp_event_realloc {
__u8 flags;
__u8 rsvd1;
__u16 nlbam;
__u64 lba;
__u8 rsvd12[4];
};
**Members**
``flags``
Event Type Specific flags (:c:type:`enum nvme_fdp_event_realloc_flags <nvme_fdp_event_realloc_flags>`)
``rsvd1``
Reserved
``nlbam``
Number of LBAs Moved
``lba``
Logical Block Address
``rsvd12``
Reserved
.. c:enum:: nvme_fdp_event_flags
FDP Event Flags
**Constants**
``NVME_FDP_EVENT_F_PIV``
Placement Identifier Valid
``NVME_FDP_EVENT_F_NSIDV``
Namespace Identifier Valid
``NVME_FDP_EVENT_F_LV``
Location Valid
.. c:struct:: nvme_fdp_event
FDP Event
**Definition**
::
struct nvme_fdp_event {
__u8 type;
__u8 flags;
__u16 pid;
struct nvme_timestamp ts;
__u32 nsid;
__u8 type_specific[16];
__u16 rgid;
__u8 ruhid;
__u8 rsvd35[5];
__u8 vs[24];
};
**Members**
``type``
Event Type (:c:type:`enum nvme_fdp_event_type <nvme_fdp_event_type>`)
``flags``
Event Flags (:c:type:`enum nvme_fdp_event_flags <nvme_fdp_event_flags>`)
``pid``
Placement Identifier
``ts``
Timestamp
``nsid``
Namespace Identifier
``type_specific``
Event Type Specific Information
``rgid``
Reclaim Group Identifier
``ruhid``
Reclaim Unit Handle Identifier
``rsvd35``
Reserved
``vs``
Vendor Specific
.. c:struct:: nvme_fdp_events_log
FDP Events Log Page
**Definition**
::
struct nvme_fdp_events_log {
__u32 n;
__u8 rsvd4[60];
struct nvme_fdp_event events[63];
};
**Members**
``n``
Number of FDP Events
``rsvd4``
Reserved
``events``
FDP Events (:c:type:`struct nvme_fdp_event <nvme_fdp_event>`)
.. c:struct:: nvme_feat_fdp_events_cdw11
FDP Events Feature Command Dword 11
**Definition**
::
struct nvme_feat_fdp_events_cdw11 {
__u16 phndl;
__u8 noet;
__u8 rsvd24;
};
**Members**
``phndl``
Placement Handle
``noet``
Number of FDP Event Types
``rsvd24``
Reserved
.. c:enum:: nvme_fdp_supported_event_attributes
Supported FDP Event Attributes
**Constants**
``NVME_FDP_SUPP_EVENT_ENABLED_SHIFT``
FDP Event Enable Shift
``NVME_FDP_SUPP_EVENT_ENABLED_MASK``
FDP Event Enable Mask
.. c:struct:: nvme_fdp_supported_event_desc
Supported FDP Event Descriptor
**Definition**
::
struct nvme_fdp_supported_event_desc {
__u8 evt;
__u8 evta;
};
**Members**
``evt``
FDP Event Type
``evta``
FDP Event Type Attributes (:c:type:`enum nvme_fdp_supported_event_attributes <nvme_fdp_supported_event_attributes>`)
.. c:struct:: nvme_fdp_ruh_status_desc
Reclaim Unit Handle Status Descriptor
**Definition**
::
struct nvme_fdp_ruh_status_desc {
__u16 pid;
__u16 ruhid;
__u32 earutr;
__u64 ruamw;
__u8 rsvd16[16];
};
**Members**
``pid``
Placement Identifier
``ruhid``
Reclaim Unit Handle Identifier
``earutr``
Estimated Active Reclaim Unit Time Remaining
``ruamw``
Reclaim Unit Available Media Writes
``rsvd16``
Reserved
.. c:struct:: nvme_fdp_ruh_status
Reclaim Unit Handle Status
**Definition**
::
struct nvme_fdp_ruh_status {
__u8 rsvd0[14];
__u16 nruhsd;
struct nvme_fdp_ruh_status_desc ruhss[];
};
**Members**
``rsvd0``
Reserved
``nruhsd``
Number of Reclaim Unit Handle Status Descriptors
``ruhss``
Reclaim Unit Handle Status descriptors
.. c:struct:: nvme_lba_status_desc
LBA Status Descriptor Entry
@ -6446,35 +7073,6 @@ bytes, in size. This log captures the controllers internal state.
.. c:struct:: nvme_timestamp
Timestamp - Data Structure for Get Features
**Definition**
::
struct nvme_timestamp {
__u8 timestamp[6];
__u8 attr;
__u8 rsvd;
};
**Members**
``timestamp``
Timestamp value based on origin and synch field
``attr``
Attribute
``rsvd``
Reserved
.. c:struct:: nvme_lba_range_type_entry
LBA Range Type - Data Structure Entry
@ -9884,6 +10482,18 @@ true if **status** is of the specified type and value
``NVME_LOG_LID_BOOT_PARTITION``
Boot Partition
``NVME_LOG_LID_FDP_CONFIGS``
FDP Configurations
``NVME_LOG_LID_FDP_RUH_USAGE``
Reclaim Unit Handle Usage
``NVME_LOG_LID_FDP_STATS``
FDP Statistics
``NVME_LOG_LID_FDP_EVENTS``
FDP Events
``NVME_LOG_LID_DISCOVER``
Discovery
@ -9983,6 +10593,12 @@ true if **status** is of the specified type and value
``NVME_FEAT_FID_SPINUP_CONTROL``
Spinup Control
``NVME_FEAT_FID_FDP``
Flexible Data Placement
``NVME_FEAT_FID_FDP_EVENTS``
FDP Events
``NVME_FEAT_FID_ENH_CTRL_METADATA``
Enhanced Controller Metadata
@ -10212,6 +10828,18 @@ true if **status** is of the specified type and value
``NVME_FEAT_IOCSP_IOCSCI_MASK``
``NVME_FEAT_FDP_ENABLED_SHIFT``
``NVME_FEAT_FDP_ENABLED_MASK``
``NVME_FEAT_FDP_INDEX_SHIFT``
``NVME_FEAT_FDP_INDEX_MASK``
``NVME_FEAT_FDP_EVENTS_ENABLE_SHIFT``
``NVME_FEAT_FDP_EVENTS_ENABLE_MASK``
@ -10776,12 +11404,18 @@ true if **status** is of the specified type and value
``nvme_cmd_resv_acquire``
Reservation Acquire
``nvme_cmd_io_mgmt_recv``
I/O Management Receive
``nvme_cmd_resv_release``
Reservation Release
``nvme_cmd_copy``
Copy
``nvme_cmd_io_mgmt_send``
I/O Management Send
``nvme_zns_cmd_mgmt_send``
Zone Management Send
@ -11079,3 +11713,27 @@ true if **status** is of the specified type and value
List the zones in the ZSO:Offline state
.. c:enum:: nvme_io_mgmt_recv_mo
I/O Management Receive - Management Operation
**Constants**
``NVME_IO_MGMT_RECV_RUH_STATUS``
Reclaim Unit Handle Status
.. c:enum:: nvme_io_mgmt_send_mo
I/O Management Send - Management Operation
**Constants**
``NVME_IO_MGMT_SEND_RUH_UPDATE``
Reclaim Unit Handle Update

View file

@ -64,6 +64,9 @@ libnvme utility functions
``ENVME_CONNECT_OPNOTSUPP``
not supported
``ENVME_CONNECT_CONNREFUSED``
connection refused
.. c:function:: __u8 nvme_status_to_errno (int status, bool fabrics)
@ -433,7 +436,7 @@ usage: int x = round_up(13, sizeof(__u32)); // 13 -> 16
**Parameters**
``size_t val_len``
Value lenght
Value length
**Description**
@ -443,7 +446,7 @@ __u32), of the buffer needed to hold the exat value of size
**Return**
Lenght rounded up by 4
Length rounded up by 4
.. c:function:: __u16 nvmf_exat_size (size_t val_len)