diff options
946 files changed, 4396 insertions, 1285 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index df79f65..384a410 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,7 +44,7 @@ jobs: - name: enable foreign arch uses: dbhi/qus/action@main - name: compile and run unit tests - uses: mosteo-actions/docker-run@v1 + uses: mosteo-actions/docker-run@v2 with: image: ghcr.io/igaw/linux-nvme/ubuntu-cross-${{ matrix.arch }}:latest guest-dir: /build diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml new file mode 100644 index 0000000..9b58371 --- /dev/null +++ b/.github/workflows/docs.yaml @@ -0,0 +1,22 @@ +--- +name: docs + +on: + push: + branches: [master] + pull_request: + branches: [master] + + workflow_dispatch: + +jobs: + build-docs: + name: build documentation + runs-on: ubuntu-latest + container: + image: ghcr.io/igaw/linux-nvme/debian:latest + steps: + - uses: actions/checkout@v4 + - name: build + run: | + scripts/build.sh docs diff --git a/ccan/ccan/endian/endian.h b/ccan/ccan/endian/endian.h index 3753f49..ae96b51 100644 --- a/ccan/ccan/endian/endian.h +++ b/ccan/ccan/endian/endian.h @@ -104,8 +104,10 @@ static inline uint64_t bswap_64(uint64_t val) #endif /* Needed for Glibc like endiness check */ +#ifndef __LITTLE_ENDIAN #define __LITTLE_ENDIAN 1234 #define __BIG_ENDIAN 4321 +#endif /* Sanity check the defines. We don't handle weird endianness. */ #if !HAVE_LITTLE_ENDIAN && !HAVE_BIG_ENDIAN diff --git a/doc/conf.py b/doc/conf.py index 2c73f1c..9e34889 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -12,9 +12,6 @@ copyright = '2020, Keith Busch' author = 'Keith Busch <kbusch@kernel.org>' master_doc = 'index' -release = '1.9' - - # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be diff --git a/doc/conf.py.in b/doc/conf.py.in index 3415bbf..9e34889 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -12,9 +12,6 @@ copyright = '2020, Keith Busch' author = 'Keith Busch <kbusch@kernel.org>' master_doc = 'index' -release = '@VERSION@' - - # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be diff --git a/doc/man/nbft_control.2 b/doc/man/nbft_control.2 index 94005dd..f904f51 100644 --- a/doc/man/nbft_control.2 +++ b/doc/man/nbft_control.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_control" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_control" "August 2024" "API Manual" LINUX .SH NAME struct nbft_control \- NBFT Table - Control Descriptor (Figure 8) .SH SYNOPSIS diff --git a/doc/man/nbft_control_flags.2 b/doc/man/nbft_control_flags.2 index c6e529c..ce39778 100644 --- a/doc/man/nbft_control_flags.2 +++ b/doc/man/nbft_control_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_control_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_control_flags" "August 2024" "API Manual" LINUX .SH NAME enum nbft_control_flags \- Control Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_desc_type.2 b/doc/man/nbft_desc_type.2 index d7ec7b8..8cdc276 100644 --- a/doc/man/nbft_desc_type.2 +++ b/doc/man/nbft_desc_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_desc_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_desc_type" "August 2024" "API Manual" LINUX .SH NAME enum nbft_desc_type \- NBFT Elements - Descriptor Types (Figure 5) .SH SYNOPSIS diff --git a/doc/man/nbft_discovery.2 b/doc/man/nbft_discovery.2 index 7a3fe02..39f36a4 100644 --- a/doc/man/nbft_discovery.2 +++ b/doc/man/nbft_discovery.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_discovery" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_discovery" "August 2024" "API Manual" LINUX .SH NAME struct nbft_discovery \- Discovery Descriptor (Figure 24) .SH SYNOPSIS diff --git a/doc/man/nbft_discovery_flags.2 b/doc/man/nbft_discovery_flags.2 index 9a68153..2fdd186 100644 --- a/doc/man/nbft_discovery_flags.2 +++ b/doc/man/nbft_discovery_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_discovery_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_discovery_flags" "August 2024" "API Manual" LINUX .SH NAME enum nbft_discovery_flags \- Discovery Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_header.2 b/doc/man/nbft_header.2 index b31289f..09c01b4 100644 --- a/doc/man/nbft_header.2 +++ b/doc/man/nbft_header.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_header" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_header" "August 2024" "API Manual" LINUX .SH NAME struct nbft_header \- NBFT Table - Header (Figure 8) .SH SYNOPSIS diff --git a/doc/man/nbft_heap_obj.2 b/doc/man/nbft_heap_obj.2 index 021168c..de03f47 100644 --- a/doc/man/nbft_heap_obj.2 +++ b/doc/man/nbft_heap_obj.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_heap_obj" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_heap_obj" "August 2024" "API Manual" LINUX .SH NAME struct nbft_heap_obj \- NBFT Header Driver Signature .SH SYNOPSIS diff --git a/doc/man/nbft_hfi.2 b/doc/man/nbft_hfi.2 index 6a3b6c8..3fdd1bc 100644 --- a/doc/man/nbft_hfi.2 +++ b/doc/man/nbft_hfi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_hfi" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_hfi" "August 2024" "API Manual" LINUX .SH NAME struct nbft_hfi \- Host Fabric Interface (HFI) Descriptor (Figure 11) .SH SYNOPSIS diff --git a/doc/man/nbft_hfi_flags.2 b/doc/man/nbft_hfi_flags.2 index 1854283..1507c86 100644 --- a/doc/man/nbft_hfi_flags.2 +++ b/doc/man/nbft_hfi_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_hfi_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_hfi_flags" "August 2024" "API Manual" LINUX .SH NAME enum nbft_hfi_flags \- HFI Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_hfi_info_tcp.2 b/doc/man/nbft_hfi_info_tcp.2 index d082ff6..6b029ff 100644 --- a/doc/man/nbft_hfi_info_tcp.2 +++ b/doc/man/nbft_hfi_info_tcp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_hfi_info_tcp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_hfi_info_tcp" "August 2024" "API Manual" LINUX .SH NAME struct nbft_hfi_info_tcp \- HFI Transport Info Descriptor - NVMe/TCP (Figure 13) .SH SYNOPSIS diff --git a/doc/man/nbft_hfi_info_tcp_flags.2 b/doc/man/nbft_hfi_info_tcp_flags.2 index 13bdcdb..a947e45 100644 --- a/doc/man/nbft_hfi_info_tcp_flags.2 +++ b/doc/man/nbft_hfi_info_tcp_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_hfi_info_tcp_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_hfi_info_tcp_flags" "August 2024" "API Manual" LINUX .SH NAME enum nbft_hfi_info_tcp_flags \- HFI Transport Flags .SH SYNOPSIS diff --git a/doc/man/nbft_host.2 b/doc/man/nbft_host.2 index c7dfc57..9d95a86 100644 --- a/doc/man/nbft_host.2 +++ b/doc/man/nbft_host.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_host" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_host" "August 2024" "API Manual" LINUX .SH NAME struct nbft_host \- Host Descriptor (Figure 9) .SH SYNOPSIS diff --git a/doc/man/nbft_host_flags.2 b/doc/man/nbft_host_flags.2 index ba613ac..1b7ca61 100644 --- a/doc/man/nbft_host_flags.2 +++ b/doc/man/nbft_host_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_host_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_host_flags" "August 2024" "API Manual" LINUX .SH NAME enum nbft_host_flags \- Host Flags .SH SYNOPSIS diff --git a/doc/man/nbft_info.2 b/doc/man/nbft_info.2 index 9d598ab..1fcc571 100644 --- a/doc/man/nbft_info.2 +++ b/doc/man/nbft_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info" "August 2024" "API Manual" LINUX .SH NAME struct nbft_info \- The parsed NBFT table data. .SH SYNOPSIS diff --git a/doc/man/nbft_info_discovery.2 b/doc/man/nbft_info_discovery.2 index dfb0a70..c68ff83 100644 --- a/doc/man/nbft_info_discovery.2 +++ b/doc/man/nbft_info_discovery.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_discovery" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_discovery" "August 2024" "API Manual" LINUX .SH NAME struct nbft_info_discovery \- Discovery Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_hfi.2 b/doc/man/nbft_info_hfi.2 index 435f665..5715ef6 100644 --- a/doc/man/nbft_info_hfi.2 +++ b/doc/man/nbft_info_hfi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_hfi" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_hfi" "August 2024" "API Manual" LINUX .SH NAME struct nbft_info_hfi \- Host Fabric Interface (HFI) Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_hfi_info_tcp.2 b/doc/man/nbft_info_hfi_info_tcp.2 index 46deceb..9f96903 100644 --- a/doc/man/nbft_info_hfi_info_tcp.2 +++ b/doc/man/nbft_info_hfi_info_tcp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_hfi_info_tcp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_hfi_info_tcp" "August 2024" "API Manual" LINUX .SH NAME struct nbft_info_hfi_info_tcp \- HFI Transport Info Descriptor - NVMe/TCP .SH SYNOPSIS diff --git a/doc/man/nbft_info_host.2 b/doc/man/nbft_info_host.2 index c8f7738..6145857 100644 --- a/doc/man/nbft_info_host.2 +++ b/doc/man/nbft_info_host.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_host" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_host" "August 2024" "API Manual" LINUX .SH NAME struct nbft_info_host \- Host Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_nid_type.2 b/doc/man/nbft_info_nid_type.2 index a730c47..c10de58 100644 --- a/doc/man/nbft_info_nid_type.2 +++ b/doc/man/nbft_info_nid_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_info_nid_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_info_nid_type" "August 2024" "API Manual" LINUX .SH NAME enum nbft_info_nid_type \- Namespace Identifier Type (NIDT) .SH SYNOPSIS diff --git a/doc/man/nbft_info_primary_admin_host_flag.2 b/doc/man/nbft_info_primary_admin_host_flag.2 index b49c9d8..c82db27 100644 --- a/doc/man/nbft_info_primary_admin_host_flag.2 +++ b/doc/man/nbft_info_primary_admin_host_flag.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_info_primary_admin_host_flag" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_info_primary_admin_host_flag" "August 2024" "API Manual" LINUX .SH NAME enum nbft_info_primary_admin_host_flag \- Primary Administrative Host Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_info_security.2 b/doc/man/nbft_info_security.2 index 2936634..4b8649e 100644 --- a/doc/man/nbft_info_security.2 +++ b/doc/man/nbft_info_security.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_security" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_security" "August 2024" "API Manual" LINUX .SH NAME struct nbft_info_security \- Security Profile Descriptor .SH SYNOPSIS diff --git a/doc/man/nbft_info_subsystem_ns.2 b/doc/man/nbft_info_subsystem_ns.2 index 746afe7..d3af461 100644 --- a/doc/man/nbft_info_subsystem_ns.2 +++ b/doc/man/nbft_info_subsystem_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_info_subsystem_ns" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_info_subsystem_ns" "August 2024" "API Manual" LINUX .SH NAME struct nbft_info_subsystem_ns \- Subsystem Namespace (SSNS) info .SH SYNOPSIS diff --git a/doc/man/nbft_security.2 b/doc/man/nbft_security.2 index d29e07a..d16d337 100644 --- a/doc/man/nbft_security.2 +++ b/doc/man/nbft_security.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_security" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_security" "August 2024" "API Manual" LINUX .SH NAME struct nbft_security \- Security Profile Descriptor (Figure 21) .SH SYNOPSIS diff --git a/doc/man/nbft_security_flags.2 b/doc/man/nbft_security_flags.2 index cb9e4dc..3127023 100644 --- a/doc/man/nbft_security_flags.2 +++ b/doc/man/nbft_security_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_security_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_security_flags" "August 2024" "API Manual" LINUX .SH NAME enum nbft_security_flags \- Security Profile Descriptor Flags (Figure 22) .SH SYNOPSIS diff --git a/doc/man/nbft_security_secret_type.2 b/doc/man/nbft_security_secret_type.2 index 0c1b455..370bfa8 100644 --- a/doc/man/nbft_security_secret_type.2 +++ b/doc/man/nbft_security_secret_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_security_secret_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_security_secret_type" "August 2024" "API Manual" LINUX .SH NAME enum nbft_security_secret_type \- Security Profile Descriptor Secret Type .SH SYNOPSIS diff --git a/doc/man/nbft_ssns.2 b/doc/man/nbft_ssns.2 index 30c7a81..be6b79c 100644 --- a/doc/man/nbft_ssns.2 +++ b/doc/man/nbft_ssns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_ssns" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_ssns" "August 2024" "API Manual" LINUX .SH NAME struct nbft_ssns \- Subsystem Namespace (SSNS) Descriptor (Figure 15) .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_ext_info.2 b/doc/man/nbft_ssns_ext_info.2 index f070931..0196ed0 100644 --- a/doc/man/nbft_ssns_ext_info.2 +++ b/doc/man/nbft_ssns_ext_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nbft_ssns_ext_info" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nbft_ssns_ext_info" "August 2024" "API Manual" LINUX .SH NAME struct nbft_ssns_ext_info \- Subsystem and Namespace Extended Information Descriptor (Figure 19) .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_ext_info_flags.2 b/doc/man/nbft_ssns_ext_info_flags.2 index 7428a73..56e5470 100644 --- a/doc/man/nbft_ssns_ext_info_flags.2 +++ b/doc/man/nbft_ssns_ext_info_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_ssns_ext_info_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_ext_info_flags" "August 2024" "API Manual" LINUX .SH NAME enum nbft_ssns_ext_info_flags \- Subsystem and Namespace Extended Information Descriptor Flags .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_flags.2 b/doc/man/nbft_ssns_flags.2 index 93a4bea..713737a 100644 --- a/doc/man/nbft_ssns_flags.2 +++ b/doc/man/nbft_ssns_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_ssns_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_flags" "August 2024" "API Manual" LINUX .SH NAME enum nbft_ssns_flags \- Subsystem and Namespace Specific Flags Field (Figure 16) .SH SYNOPSIS diff --git a/doc/man/nbft_ssns_trflags.2 b/doc/man/nbft_ssns_trflags.2 index 3fed3fb..4dac381 100644 --- a/doc/man/nbft_ssns_trflags.2 +++ b/doc/man/nbft_ssns_trflags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_ssns_trflags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_ssns_trflags" "August 2024" "API Manual" LINUX .SH NAME enum nbft_ssns_trflags \- SSNS Transport Specific Flags Field (Figure 17) .SH SYNOPSIS diff --git a/doc/man/nbft_trtype.2 b/doc/man/nbft_trtype.2 index 50a8e07..2f23f3f 100644 --- a/doc/man/nbft_trtype.2 +++ b/doc/man/nbft_trtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nbft_trtype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nbft_trtype" "August 2024" "API Manual" LINUX .SH NAME enum nbft_trtype \- NBFT Interface Transport Types (Figure 7) .SH SYNOPSIS diff --git a/doc/man/nvme_acq.2 b/doc/man/nvme_acq.2 index c182177..419dd43 100644 --- a/doc/man/nvme_acq.2 +++ b/doc/man/nvme_acq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_acq" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_acq" "August 2024" "API Manual" LINUX .SH NAME enum nvme_acq \- This field indicates the admin completion queue base address .SH SYNOPSIS diff --git a/doc/man/nvme_admin_opcode.2 b/doc/man/nvme_admin_opcode.2 index 20447d6..c13def5 100644 --- a/doc/man/nvme_admin_opcode.2 +++ b/doc/man/nvme_admin_opcode.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_admin_opcode" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_admin_opcode" "August 2024" "API Manual" LINUX .SH NAME enum nvme_admin_opcode \- Known NVMe admin opcodes .SH SYNOPSIS diff --git a/doc/man/nvme_admin_passthru.2 b/doc/man/nvme_admin_passthru.2 index a8353aa..07cec0c 100644 --- a/doc/man/nvme_admin_passthru.2 +++ b/doc/man/nvme_admin_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "May 2024" "libnvme API manual" LINUX +.TH "nvme_admin_passthru" 9 "nvme_admin_passthru" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_admin_passthru \- Submit an nvme passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_admin_passthru64.2 b/doc/man/nvme_admin_passthru64.2 index 8b66887..5c09c38 100644 --- a/doc/man/nvme_admin_passthru64.2 +++ b/doc/man/nvme_admin_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "May 2024" "libnvme API manual" LINUX +.TH "nvme_admin_passthru64" 9 "nvme_admin_passthru64" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_admin_passthru64 \- Submit a 64-bit nvme passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_ae_info_css_nvm.2 b/doc/man/nvme_ae_info_css_nvm.2 index 25f4e7b..dec00d8 100644 --- a/doc/man/nvme_ae_info_css_nvm.2 +++ b/doc/man/nvme_ae_info_css_nvm.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_css_nvm" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ae_info_css_nvm \- Asynchronous Event Information - I/O Command Specific Status .SH SYNOPSIS diff --git a/doc/man/nvme_ae_info_error.2 b/doc/man/nvme_ae_info_error.2 index e6fc0d8..4ac7d08 100644 --- a/doc/man/nvme_ae_info_error.2 +++ b/doc/man/nvme_ae_info_error.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ae_info_error" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_error" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ae_info_error \- Asynchronous Event Information - Error Status .SH SYNOPSIS diff --git a/doc/man/nvme_ae_info_notice.2 b/doc/man/nvme_ae_info_notice.2 index ea369af..997a861 100644 --- a/doc/man/nvme_ae_info_notice.2 +++ b/doc/man/nvme_ae_info_notice.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ae_info_notice" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_notice" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ae_info_notice \- Asynchronous Event Information - Notice .SH SYNOPSIS diff --git a/doc/man/nvme_ae_info_smart.2 b/doc/man/nvme_ae_info_smart.2 index 9557fe5..526c009 100644 --- a/doc/man/nvme_ae_info_smart.2 +++ b/doc/man/nvme_ae_info_smart.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ae_info_smart" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_info_smart" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ae_info_smart \- Asynchronous Event Information - SMART / Health Status .SH SYNOPSIS diff --git a/doc/man/nvme_ae_type.2 b/doc/man/nvme_ae_type.2 index e242054..c1f350b 100644 --- a/doc/man/nvme_ae_type.2 +++ b/doc/man/nvme_ae_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ae_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ae_type" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ae_type \- Asynchronous Event Type .SH SYNOPSIS diff --git a/doc/man/nvme_aggregate_endurance_group_event.2 b/doc/man/nvme_aggregate_endurance_group_event.2 index ebc374b..535f829 100644 --- a/doc/man/nvme_aggregate_endurance_group_event.2 +++ b/doc/man/nvme_aggregate_endurance_group_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_aggregate_endurance_group_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_aggregate_endurance_group_event \- Endurance Group Event Aggregate .SH SYNOPSIS diff --git a/doc/man/nvme_aggregate_predictable_lat_event.2 b/doc/man/nvme_aggregate_predictable_lat_event.2 index e58657f..9fa1785 100644 --- a/doc/man/nvme_aggregate_predictable_lat_event.2 +++ b/doc/man/nvme_aggregate_predictable_lat_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_aggregate_predictable_lat_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_aggregate_predictable_lat_event \- Predictable Latency Event Aggregate Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_ana_group_desc.2 b/doc/man/nvme_ana_group_desc.2 index 5b25005..e2fe9f5 100644 --- a/doc/man/nvme_ana_group_desc.2 +++ b/doc/man/nvme_ana_group_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ana_group_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ana_group_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_ana_group_desc \- ANA Group Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_ana_log.2 b/doc/man/nvme_ana_log.2 index f2e93f3..c6330da 100644 --- a/doc/man/nvme_ana_log.2 +++ b/doc/man/nvme_ana_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ana_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ana_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_ana_log \- Asymmetric Namespace Access Log .SH SYNOPSIS diff --git a/doc/man/nvme_ana_state.2 b/doc/man/nvme_ana_state.2 index a71ee79..16aadad 100644 --- a/doc/man/nvme_ana_state.2 +++ b/doc/man/nvme_ana_state.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ana_state" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ana_state" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ana_state \- ANA Group Descriptor - Asymmetric Namespace Access State .SH SYNOPSIS diff --git a/doc/man/nvme_apst_entry.2 b/doc/man/nvme_apst_entry.2 index 233327c..62ae584 100644 --- a/doc/man/nvme_apst_entry.2 +++ b/doc/man/nvme_apst_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_apst_entry" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_apst_entry" "August 2024" "API Manual" LINUX .SH NAME enum nvme_apst_entry \- Autonomous Power State Transition .SH SYNOPSIS diff --git a/doc/man/nvme_aqa.2 b/doc/man/nvme_aqa.2 index e03719c..b7b615f 100644 --- a/doc/man/nvme_aqa.2 +++ b/doc/man/nvme_aqa.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_aqa" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_aqa" "August 2024" "API Manual" LINUX .SH NAME enum nvme_aqa \- This field indicates the admin queue attributes .SH SYNOPSIS diff --git a/doc/man/nvme_asq.2 b/doc/man/nvme_asq.2 index 5e5d188..ee7bb0b 100644 --- a/doc/man/nvme_asq.2 +++ b/doc/man/nvme_asq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_asq" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_asq" "August 2024" "API Manual" LINUX .SH NAME enum nvme_asq \- This field indicates the admin submission queue base address .SH SYNOPSIS diff --git a/doc/man/nvme_boot_partition.2 b/doc/man/nvme_boot_partition.2 index 0b4b586..a15248e 100644 --- a/doc/man/nvme_boot_partition.2 +++ b/doc/man/nvme_boot_partition.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_boot_partition" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_boot_partition" "August 2024" "API Manual" LINUX .SH NAME struct nvme_boot_partition \- Boot Partition Log .SH SYNOPSIS diff --git a/doc/man/nvme_boot_partition_info.2 b/doc/man/nvme_boot_partition_info.2 index 84b11cd..dcd96d8 100644 --- a/doc/man/nvme_boot_partition_info.2 +++ b/doc/man/nvme_boot_partition_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_boot_partition_info" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_boot_partition_info" "August 2024" "API Manual" LINUX .SH NAME enum nvme_boot_partition_info \- This field indicates the boot partition information .SH SYNOPSIS diff --git a/doc/man/nvme_bpinfo.2 b/doc/man/nvme_bpinfo.2 index be667c0..378c080 100644 --- a/doc/man/nvme_bpinfo.2 +++ b/doc/man/nvme_bpinfo.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_bpinfo" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_bpinfo" "August 2024" "API Manual" LINUX .SH NAME enum nvme_bpinfo \- This field indicates the boot partition information .SH SYNOPSIS diff --git a/doc/man/nvme_bpmbl.2 b/doc/man/nvme_bpmbl.2 index 1391c3f..05a8d0d 100644 --- a/doc/man/nvme_bpmbl.2 +++ b/doc/man/nvme_bpmbl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_bpmbl" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_bpmbl" "August 2024" "API Manual" LINUX .SH NAME enum nvme_bpmbl \- This field indicates the boot partition memory buffer location .SH SYNOPSIS diff --git a/doc/man/nvme_bprsel.2 b/doc/man/nvme_bprsel.2 index 31d2512..c31340d 100644 --- a/doc/man/nvme_bprsel.2 +++ b/doc/man/nvme_bprsel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_bprsel" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_bprsel" "August 2024" "API Manual" LINUX .SH NAME enum nvme_bprsel \- This field indicates the boot partition read select .SH SYNOPSIS diff --git a/doc/man/nvme_cap.2 b/doc/man/nvme_cap.2 index 403901a..29bd98d 100644 --- a/doc/man/nvme_cap.2 +++ b/doc/man/nvme_cap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cap" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cap" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cap \- This field indicates the controller capabilities register .SH SYNOPSIS diff --git a/doc/man/nvme_capacity_config_desc.2 b/doc/man/nvme_capacity_config_desc.2 index 303cbc9..dbf5df3 100644 --- a/doc/man/nvme_capacity_config_desc.2 +++ b/doc/man/nvme_capacity_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_capacity_config_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_capacity_config_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_capacity_config_desc \- Capacity Configuration structure definitions .SH SYNOPSIS diff --git a/doc/man/nvme_capacity_mgmt.2 b/doc/man/nvme_capacity_mgmt.2 index 789533d..def022e 100644 --- a/doc/man/nvme_capacity_mgmt.2 +++ b/doc/man/nvme_capacity_mgmt.2 @@ -1,4 +1,4 @@ -.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "May 2024" "libnvme API manual" LINUX +.TH "nvme_capacity_mgmt" 9 "nvme_capacity_mgmt" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_capacity_mgmt \- Capacity management command .SH SYNOPSIS diff --git a/doc/man/nvme_cc.2 b/doc/man/nvme_cc.2 index 8c4a2dd..7d96ecc 100644 --- a/doc/man/nvme_cc.2 +++ b/doc/man/nvme_cc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cc \- This field indicates the controller configuration .SH SYNOPSIS diff --git a/doc/man/nvme_change_ns_event.2 b/doc/man/nvme_change_ns_event.2 index 515b2de..0c235a6 100644 --- a/doc/man/nvme_change_ns_event.2 +++ b/doc/man/nvme_change_ns_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_change_ns_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_change_ns_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_change_ns_event \- Change Namespace Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_channel_config_desc.2 b/doc/man/nvme_channel_config_desc.2 index 1d81f4d..b014730 100644 --- a/doc/man/nvme_channel_config_desc.2 +++ b/doc/man/nvme_channel_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_channel_config_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_channel_config_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_channel_config_desc \- Channel Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_cmb_size.2 b/doc/man/nvme_cmb_size.2 index 5d50190..f6e4f5e 100644 --- a/doc/man/nvme_cmb_size.2 +++ b/doc/man/nvme_cmb_size.2 @@ -1,4 +1,4 @@ -.TH "nvme_cmb_size" 9 "nvme_cmb_size" "May 2024" "libnvme API manual" LINUX +.TH "nvme_cmb_size" 9 "nvme_cmb_size" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_cmb_size \- Calculate size of the controller memory buffer .SH SYNOPSIS diff --git a/doc/man/nvme_cmbebs.2 b/doc/man/nvme_cmbebs.2 index 58abb0b..222dbba 100644 --- a/doc/man/nvme_cmbebs.2 +++ b/doc/man/nvme_cmbebs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbebs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbebs" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmbebs \- This field indicates the controller memory buffer elasticity buffer size .SH SYNOPSIS diff --git a/doc/man/nvme_cmbloc.2 b/doc/man/nvme_cmbloc.2 index 74e667e..1878c41 100644 --- a/doc/man/nvme_cmbloc.2 +++ b/doc/man/nvme_cmbloc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbloc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbloc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmbloc \- This field indicates the controller memory buffer location .SH SYNOPSIS diff --git a/doc/man/nvme_cmbmsc.2 b/doc/man/nvme_cmbmsc.2 index 8d55ed1..69e9ccf 100644 --- a/doc/man/nvme_cmbmsc.2 +++ b/doc/man/nvme_cmbmsc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbmsc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbmsc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmbmsc \- This field indicates the controller memory buffer memory space control .SH SYNOPSIS diff --git a/doc/man/nvme_cmbsts.2 b/doc/man/nvme_cmbsts.2 index 1ea657a..a522a83 100644 --- a/doc/man/nvme_cmbsts.2 +++ b/doc/man/nvme_cmbsts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbsts" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbsts" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmbsts \- This field indicates the controller memory buffer status .SH SYNOPSIS diff --git a/doc/man/nvme_cmbswtp.2 b/doc/man/nvme_cmbswtp.2 index 8e14bf6..f6bbb18 100644 --- a/doc/man/nvme_cmbswtp.2 +++ b/doc/man/nvme_cmbswtp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbswtp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbswtp" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmbswtp \- This field indicates the controller memory buffer sustained write throughput .SH SYNOPSIS diff --git a/doc/man/nvme_cmbsz.2 b/doc/man/nvme_cmbsz.2 index 7bd3ba2..f10308d 100644 --- a/doc/man/nvme_cmbsz.2 +++ b/doc/man/nvme_cmbsz.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmbsz" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmbsz" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmbsz \- This field indicates the controller memory buffer size .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_effects.2 b/doc/man/nvme_cmd_effects.2 index 2245aeb..545b7bf 100644 --- a/doc/man/nvme_cmd_effects.2 +++ b/doc/man/nvme_cmd_effects.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_effects" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_effects" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_effects \- Commands Supported and Effects .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_effects_log.2 b/doc/man/nvme_cmd_effects_log.2 index 138a5e9..07fe337 100644 --- a/doc/man/nvme_cmd_effects_log.2 +++ b/doc/man/nvme_cmd_effects_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_cmd_effects_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_cmd_effects_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_cmd_effects_log \- Commands Supported and Effects Log .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_format_mset.2 b/doc/man/nvme_cmd_format_mset.2 index fab8c17..e55cd44 100644 --- a/doc/man/nvme_cmd_format_mset.2 +++ b/doc/man/nvme_cmd_format_mset.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_format_mset" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_mset" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_format_mset \- Format NVM - Metadata Settings .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_format_pi.2 b/doc/man/nvme_cmd_format_pi.2 index 3cf9f44..f1359b8 100644 --- a/doc/man/nvme_cmd_format_pi.2 +++ b/doc/man/nvme_cmd_format_pi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_format_pi" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_pi" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_format_pi \- Format NVM - Protection Information .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_format_pil.2 b/doc/man/nvme_cmd_format_pil.2 index bb898f1..d0bfa40 100644 --- a/doc/man/nvme_cmd_format_pil.2 +++ b/doc/man/nvme_cmd_format_pil.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_format_pil" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_pil" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_format_pil \- Format NVM - Protection Information Location .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_format_ses.2 b/doc/man/nvme_cmd_format_ses.2 index c99e2d9..25b8ba4 100644 --- a/doc/man/nvme_cmd_format_ses.2 +++ b/doc/man/nvme_cmd_format_ses.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_format_ses" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_format_ses" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_format_ses \- Format NVM - Secure Erase Settings .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_get_log_lid.2 b/doc/man/nvme_cmd_get_log_lid.2 index 0cfefb4..4b61134 100644 --- a/doc/man/nvme_cmd_get_log_lid.2 +++ b/doc/man/nvme_cmd_get_log_lid.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_get_log_lid" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_get_log_lid \- Get Log Page -Log Page Identifiers .SH SYNOPSIS diff --git a/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 b/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 index 3252d13..296824f 100644 --- a/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 +++ b/doc/man/nvme_cmd_get_log_telemetry_host_lsp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmd_get_log_telemetry_host_lsp" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmd_get_log_telemetry_host_lsp \- Telemetry Host-Initiated log specific field .SH SYNOPSIS diff --git a/doc/man/nvme_cmic.2 b/doc/man/nvme_cmic.2 index e1b4ced..ab882a2 100644 --- a/doc/man/nvme_cmic.2 +++ b/doc/man/nvme_cmic.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_cmic" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_cmic" "August 2024" "API Manual" LINUX .SH NAME enum nvme_cmic \- This field indicates the controller multi-path I/O and NS sharing capabilities .SH SYNOPSIS diff --git a/doc/man/nvme_compare.2 b/doc/man/nvme_compare.2 index 5710ae6..7c4888f 100644 --- a/doc/man/nvme_compare.2 +++ b/doc/man/nvme_compare.2 @@ -1,4 +1,4 @@ -.TH "nvme_compare" 9 "nvme_compare" "May 2024" "libnvme API manual" LINUX +.TH "nvme_compare" 9 "nvme_compare" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_compare \- Submit an nvme user compare command .SH SYNOPSIS diff --git a/doc/man/nvme_connect_err.2 b/doc/man/nvme_connect_err.2 index bf29c7c..01092ee 100644 --- a/doc/man/nvme_connect_err.2 +++ b/doc/man/nvme_connect_err.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_connect_err" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_connect_err" "August 2024" "API Manual" LINUX .SH NAME enum nvme_connect_err \- nvme connect error codes .SH SYNOPSIS diff --git a/doc/man/nvme_constants.2 b/doc/man/nvme_constants.2 index 3419612..0883a3c 100644 --- a/doc/man/nvme_constants.2 +++ b/doc/man/nvme_constants.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_constants" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_constants" "August 2024" "API Manual" LINUX .SH NAME enum nvme_constants \- A place to stash various constant nvme values .SH SYNOPSIS diff --git a/doc/man/nvme_copy.2 b/doc/man/nvme_copy.2 index 85660f5..65ae000 100644 --- a/doc/man/nvme_copy.2 +++ b/doc/man/nvme_copy.2 @@ -1,4 +1,4 @@ -.TH "nvme_copy" 9 "nvme_copy" "May 2024" "libnvme API manual" LINUX +.TH "nvme_copy" 9 "nvme_copy" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_copy \- Copy command .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range.2 b/doc/man/nvme_copy_range.2 index 0550005..05733a1 100644 --- a/doc/man/nvme_copy_range.2 +++ b/doc/man/nvme_copy_range.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range" "August 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range \- Copy - Source Range Entries Descriptor Format .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_f1.2 b/doc/man/nvme_copy_range_f1.2 index 23b953b..de17e96 100644 --- a/doc/man/nvme_copy_range_f1.2 +++ b/doc/man/nvme_copy_range_f1.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range_f1" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f1" "August 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range_f1 \- Copy - Source Range Entries Descriptor Format 1h .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_f2.2 b/doc/man/nvme_copy_range_f2.2 index d86c51b..74979fb 100644 --- a/doc/man/nvme_copy_range_f2.2 +++ b/doc/man/nvme_copy_range_f2.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range_f2" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f2" "August 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range_f2 \- Copy - Source Range Entries Descriptor Format 2h .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_f3.2 b/doc/man/nvme_copy_range_f3.2 index 8d2718f..1eb2da6 100644 --- a/doc/man/nvme_copy_range_f3.2 +++ b/doc/man/nvme_copy_range_f3.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_copy_range_f3" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_copy_range_f3" "August 2024" "API Manual" LINUX .SH NAME struct nvme_copy_range_f3 \- Copy - Source Range Entries Descriptor Format 3h .SH SYNOPSIS diff --git a/doc/man/nvme_copy_range_sopt.2 b/doc/man/nvme_copy_range_sopt.2 index 7467f1b..e6b934a 100644 --- a/doc/man/nvme_copy_range_sopt.2 +++ b/doc/man/nvme_copy_range_sopt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_copy_range_sopt" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_copy_range_sopt" "August 2024" "API Manual" LINUX .SH NAME enum nvme_copy_range_sopt \- NVMe Copy Range Source Options .SH SYNOPSIS diff --git a/doc/man/nvme_create_ctrl.2 b/doc/man/nvme_create_ctrl.2 index faaa1ed..1832b7c 100644 --- a/doc/man/nvme_create_ctrl.2 +++ b/doc/man/nvme_create_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_create_ctrl" 9 "nvme_create_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_create_ctrl \- Allocate an unconnected NVMe controller .SH SYNOPSIS diff --git a/doc/man/nvme_create_root.2 b/doc/man/nvme_create_root.2 index 92f15bd..906faf7 100644 --- a/doc/man/nvme_create_root.2 +++ b/doc/man/nvme_create_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_create_root" 9 "nvme_create_root" "May 2024" "libnvme API manual" LINUX +.TH "nvme_create_root" 9 "nvme_create_root" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_create_root \- Initialize root object .SH SYNOPSIS diff --git a/doc/man/nvme_crto.2 b/doc/man/nvme_crto.2 index dd47dd0..0117d71 100644 --- a/doc/man/nvme_crto.2 +++ b/doc/man/nvme_crto.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_crto" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_crto" "August 2024" "API Manual" LINUX .SH NAME enum nvme_crto \- This field indicates the controller ready timeouts .SH SYNOPSIS diff --git a/doc/man/nvme_csi.2 b/doc/man/nvme_csi.2 index 28047d0..93c83bc 100644 --- a/doc/man/nvme_csi.2 +++ b/doc/man/nvme_csi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_csi" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_csi" "August 2024" "API Manual" LINUX .SH NAME enum nvme_csi \- Defined command set indicators .SH SYNOPSIS diff --git a/doc/man/nvme_csts.2 b/doc/man/nvme_csts.2 index a36d313..7d73fb1 100644 --- a/doc/man/nvme_csts.2 +++ b/doc/man/nvme_csts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_csts" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_csts" "August 2024" "API Manual" LINUX .SH NAME enum nvme_csts \- This field indicates the controller status register .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_config_match.2 b/doc/man/nvme_ctrl_config_match.2 index b3d3ae6..99ffe48 100644 --- a/doc/man/nvme_ctrl_config_match.2 +++ b/doc/man/nvme_ctrl_config_match.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_config_match" 9 "nvme_ctrl_config_match" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_config_match" 9 "nvme_ctrl_config_match" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_config_match \- Check if ctrl @c matches config params .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_find.2 b/doc/man/nvme_ctrl_find.2 index e58c204..4d16f3f 100644 --- a/doc/man/nvme_ctrl_find.2 +++ b/doc/man/nvme_ctrl_find.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_find" 9 "nvme_ctrl_find" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_find" 9 "nvme_ctrl_find" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_find \- Locate an existing controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_first_ns.2 b/doc/man/nvme_ctrl_first_ns.2 index b43ae6c..aa40cf5 100644 --- a/doc/man/nvme_ctrl_first_ns.2 +++ b/doc/man/nvme_ctrl_first_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_first_ns" 9 "nvme_ctrl_first_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_first_ns \- Start namespace iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_first_path.2 b/doc/man/nvme_ctrl_first_path.2 index 7663358..03b781f 100644 --- a/doc/man/nvme_ctrl_first_path.2 +++ b/doc/man/nvme_ctrl_first_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_first_path" 9 "nvme_ctrl_first_path" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_first_path \- Start path iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_for_each_ns.2 b/doc/man/nvme_ctrl_for_each_ns.2 index 6f879a8..27a0ae0 100644 --- a/doc/man/nvme_ctrl_for_each_ns.2 +++ b/doc/man/nvme_ctrl_for_each_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_ns" 9 "nvme_ctrl_for_each_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_for_each_ns \- Traverse namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_for_each_ns_safe.2 b/doc/man/nvme_ctrl_for_each_ns_safe.2 index d01faa4..de4cd8a 100644 --- a/doc/man/nvme_ctrl_for_each_ns_safe.2 +++ b/doc/man/nvme_ctrl_for_each_ns_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_ns_safe" 9 "nvme_ctrl_for_each_ns_safe" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_for_each_ns_safe \- Traverse namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_for_each_path.2 b/doc/man/nvme_ctrl_for_each_path.2 index 4705b9b..d40b26b 100644 --- a/doc/man/nvme_ctrl_for_each_path.2 +++ b/doc/man/nvme_ctrl_for_each_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_path" 9 "nvme_ctrl_for_each_path" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_for_each_path \- Traverse paths .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_for_each_path_safe.2 b/doc/man/nvme_ctrl_for_each_path_safe.2 index 93203c4..00a4965 100644 --- a/doc/man/nvme_ctrl_for_each_path_safe.2 +++ b/doc/man/nvme_ctrl_for_each_path_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_for_each_path_safe" 9 "nvme_ctrl_for_each_path_safe" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_for_each_path_safe \- Traverse paths .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_address.2 b/doc/man/nvme_ctrl_get_address.2 index 7633a74..7f8eed3 100644 --- a/doc/man/nvme_ctrl_get_address.2 +++ b/doc/man/nvme_ctrl_get_address.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_address" 9 "nvme_ctrl_get_address" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_address \- Address string of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_config.2 b/doc/man/nvme_ctrl_get_config.2 index fa0a0dd..6d5f0e0 100644 --- a/doc/man/nvme_ctrl_get_config.2 +++ b/doc/man/nvme_ctrl_get_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_config" 9 "nvme_ctrl_get_config" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_config \- Fabrics configuration of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_dhchap_host_key.2 b/doc/man/nvme_ctrl_get_dhchap_host_key.2 index 2bd285b..dfe4540 100644 --- a/doc/man/nvme_ctrl_get_dhchap_host_key.2 +++ b/doc/man/nvme_ctrl_get_dhchap_host_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_dhchap_host_key" 9 "nvme_ctrl_get_dhchap_host_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_dhchap_host_key \- Return host key .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_dhchap_key.2 b/doc/man/nvme_ctrl_get_dhchap_key.2 index f41320a..05e6721 100644 --- a/doc/man/nvme_ctrl_get_dhchap_key.2 +++ b/doc/man/nvme_ctrl_get_dhchap_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_dhchap_key" 9 "nvme_ctrl_get_dhchap_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_dhchap_key \- Return controller key .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_fd.2 b/doc/man/nvme_ctrl_get_fd.2 index 7175260..3401d06 100644 --- a/doc/man/nvme_ctrl_get_fd.2 +++ b/doc/man/nvme_ctrl_get_fd.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_fd" 9 "nvme_ctrl_get_fd" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_fd \- Get associated file descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_firmware.2 b/doc/man/nvme_ctrl_get_firmware.2 index d57c6bc..27a38d6 100644 --- a/doc/man/nvme_ctrl_get_firmware.2 +++ b/doc/man/nvme_ctrl_get_firmware.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_firmware" 9 "nvme_ctrl_get_firmware" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_firmware \- Firmware string of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_host_iface.2 b/doc/man/nvme_ctrl_get_host_iface.2 index c87e1de..4088ceb 100644 --- a/doc/man/nvme_ctrl_get_host_iface.2 +++ b/doc/man/nvme_ctrl_get_host_iface.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_host_iface" 9 "nvme_ctrl_get_host_iface" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_host_iface \- Host interface name of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_host_traddr.2 b/doc/man/nvme_ctrl_get_host_traddr.2 index bb96788..1cea73f 100644 --- a/doc/man/nvme_ctrl_get_host_traddr.2 +++ b/doc/man/nvme_ctrl_get_host_traddr.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_host_traddr" 9 "nvme_ctrl_get_host_traddr" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_host_traddr \- Host transport address of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_model.2 b/doc/man/nvme_ctrl_get_model.2 index ca7fc91..1333678 100644 --- a/doc/man/nvme_ctrl_get_model.2 +++ b/doc/man/nvme_ctrl_get_model.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_model" 9 "nvme_ctrl_get_model" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_model \- Model of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_name.2 b/doc/man/nvme_ctrl_get_name.2 index 3d1e60b..920e257 100644 --- a/doc/man/nvme_ctrl_get_name.2 +++ b/doc/man/nvme_ctrl_get_name.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_name" 9 "nvme_ctrl_get_name" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_name \- sysfs name of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_numa_node.2 b/doc/man/nvme_ctrl_get_numa_node.2 index 6b19d0c..0b39709 100644 --- a/doc/man/nvme_ctrl_get_numa_node.2 +++ b/doc/man/nvme_ctrl_get_numa_node.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_numa_node" 9 "nvme_ctrl_get_numa_node" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_numa_node \- NUMA node of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_phy_slot.2 b/doc/man/nvme_ctrl_get_phy_slot.2 index 3a61d85..5d73c59 100644 --- a/doc/man/nvme_ctrl_get_phy_slot.2 +++ b/doc/man/nvme_ctrl_get_phy_slot.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_phy_slot" 9 "nvme_ctrl_get_phy_slot" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_phy_slot" 9 "nvme_ctrl_get_phy_slot" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_phy_slot \- PCI physical slot number of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_queue_count.2 b/doc/man/nvme_ctrl_get_queue_count.2 index e7542ee..ded46ee 100644 --- a/doc/man/nvme_ctrl_get_queue_count.2 +++ b/doc/man/nvme_ctrl_get_queue_count.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_queue_count" 9 "nvme_ctrl_get_queue_count" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_queue_count \- Queue count of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_serial.2 b/doc/man/nvme_ctrl_get_serial.2 index 661aaaf..37679d8 100644 --- a/doc/man/nvme_ctrl_get_serial.2 +++ b/doc/man/nvme_ctrl_get_serial.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_serial" 9 "nvme_ctrl_get_serial" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_serial \- Serial number of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_sqsize.2 b/doc/man/nvme_ctrl_get_sqsize.2 index a54c7c9..2b77613 100644 --- a/doc/man/nvme_ctrl_get_sqsize.2 +++ b/doc/man/nvme_ctrl_get_sqsize.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_sqsize" 9 "nvme_ctrl_get_sqsize" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_sqsize \- SQ size of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_src_addr.2 b/doc/man/nvme_ctrl_get_src_addr.2 index 934be60..7a89d41 100644 --- a/doc/man/nvme_ctrl_get_src_addr.2 +++ b/doc/man/nvme_ctrl_get_src_addr.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_src_addr" 9 "nvme_ctrl_get_src_addr" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_src_addr" 9 "nvme_ctrl_get_src_addr" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_src_addr \- Extract src_addr from the c->address string .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_state.2 b/doc/man/nvme_ctrl_get_state.2 index 12ce62c..bf57641 100644 --- a/doc/man/nvme_ctrl_get_state.2 +++ b/doc/man/nvme_ctrl_get_state.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_state" 9 "nvme_ctrl_get_state" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_state \- Running state of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_subsysnqn.2 b/doc/man/nvme_ctrl_get_subsysnqn.2 index cb95d53..10ed6d7 100644 --- a/doc/man/nvme_ctrl_get_subsysnqn.2 +++ b/doc/man/nvme_ctrl_get_subsysnqn.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_subsysnqn" 9 "nvme_ctrl_get_subsysnqn" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_subsysnqn \- Subsystem NQN of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_subsystem.2 b/doc/man/nvme_ctrl_get_subsystem.2 index b6163e6..9b33d19 100644 --- a/doc/man/nvme_ctrl_get_subsystem.2 +++ b/doc/man/nvme_ctrl_get_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_subsystem" 9 "nvme_ctrl_get_subsystem" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_subsystem \- Parent subsystem of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_sysfs_dir.2 b/doc/man/nvme_ctrl_get_sysfs_dir.2 index d0263ca..5ff039e 100644 --- a/doc/man/nvme_ctrl_get_sysfs_dir.2 +++ b/doc/man/nvme_ctrl_get_sysfs_dir.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_sysfs_dir" 9 "nvme_ctrl_get_sysfs_dir" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_sysfs_dir \- sysfs directory of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_traddr.2 b/doc/man/nvme_ctrl_get_traddr.2 index f829a38..75c2dda 100644 --- a/doc/man/nvme_ctrl_get_traddr.2 +++ b/doc/man/nvme_ctrl_get_traddr.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_traddr" 9 "nvme_ctrl_get_traddr" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_traddr \- Transport address of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_transport.2 b/doc/man/nvme_ctrl_get_transport.2 index 42ca5b0..5225780 100644 --- a/doc/man/nvme_ctrl_get_transport.2 +++ b/doc/man/nvme_ctrl_get_transport.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_transport" 9 "nvme_ctrl_get_transport" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_transport \- Transport type of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_get_trsvcid.2 b/doc/man/nvme_ctrl_get_trsvcid.2 index bc027fe..c1800b0 100644 --- a/doc/man/nvme_ctrl_get_trsvcid.2 +++ b/doc/man/nvme_ctrl_get_trsvcid.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_get_trsvcid" 9 "nvme_ctrl_get_trsvcid" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_get_trsvcid \- Transport service identifier of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_identify.2 b/doc/man/nvme_ctrl_identify.2 index fae8e8e..3da45cf 100644 --- a/doc/man/nvme_ctrl_identify.2 +++ b/doc/man/nvme_ctrl_identify.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_identify" 9 "nvme_ctrl_identify" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_identify \- Issues an 'identify controller' command .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_is_discovered.2 b/doc/man/nvme_ctrl_is_discovered.2 index ee72a8c..7e3391e 100644 --- a/doc/man/nvme_ctrl_is_discovered.2 +++ b/doc/man/nvme_ctrl_is_discovered.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_discovered" 9 "nvme_ctrl_is_discovered" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_is_discovered \- Returns the value of the 'discovered' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_is_discovery_ctrl.2 b/doc/man/nvme_ctrl_is_discovery_ctrl.2 index 31dd7ae..75504eb 100644 --- a/doc/man/nvme_ctrl_is_discovery_ctrl.2 +++ b/doc/man/nvme_ctrl_is_discovery_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_discovery_ctrl" 9 "nvme_ctrl_is_discovery_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_is_discovery_ctrl \- Check the 'discovery_ctrl' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_is_persistent.2 b/doc/man/nvme_ctrl_is_persistent.2 index 5cabdb5..8d23351 100644 --- a/doc/man/nvme_ctrl_is_persistent.2 +++ b/doc/man/nvme_ctrl_is_persistent.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_persistent" 9 "nvme_ctrl_is_persistent" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_is_persistent \- Returns the value of the 'persistent' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 b/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 index 2352c45..654191e 100644 --- a/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 +++ b/doc/man/nvme_ctrl_is_unique_discovery_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_is_unique_discovery_ctrl" 9 "nvme_ctrl_is_unique_discovery_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_is_unique_discovery_ctrl" 9 "nvme_ctrl_is_unique_discovery_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_is_unique_discovery_ctrl \- Check the 'unique_discovery_ctrl' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_list.2 b/doc/man/nvme_ctrl_list.2 index f849b17..f6bfbf2 100644 --- a/doc/man/nvme_ctrl_list.2 +++ b/doc/man/nvme_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ctrl_list" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ctrl_list" "August 2024" "API Manual" LINUX .SH NAME struct nvme_ctrl_list \- Controller List .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_metadata_type.2 b/doc/man/nvme_ctrl_metadata_type.2 index cff9205..ac088cd 100644 --- a/doc/man/nvme_ctrl_metadata_type.2 +++ b/doc/man/nvme_ctrl_metadata_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ctrl_metadata_type" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ctrl_metadata_type \- Controller Metadata Element Types .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_next_ns.2 b/doc/man/nvme_ctrl_next_ns.2 index 62de4b8..5738137 100644 --- a/doc/man/nvme_ctrl_next_ns.2 +++ b/doc/man/nvme_ctrl_next_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_next_ns" 9 "nvme_ctrl_next_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_next_ns \- Next namespace iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_next_path.2 b/doc/man/nvme_ctrl_next_path.2 index 70c3c38..cd039f7 100644 --- a/doc/man/nvme_ctrl_next_path.2 +++ b/doc/man/nvme_ctrl_next_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_next_path" 9 "nvme_ctrl_next_path" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_next_path \- Next path iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_release_fd.2 b/doc/man/nvme_ctrl_release_fd.2 index 35da588..da0c14b 100644 --- a/doc/man/nvme_ctrl_release_fd.2 +++ b/doc/man/nvme_ctrl_release_fd.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_release_fd" 9 "nvme_ctrl_release_fd" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_release_fd" 9 "nvme_ctrl_release_fd" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_release_fd \- Close fd and clear fd from controller object .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_reset.2 b/doc/man/nvme_ctrl_reset.2 index a519d23..f041e69 100644 --- a/doc/man/nvme_ctrl_reset.2 +++ b/doc/man/nvme_ctrl_reset.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_reset" 9 "nvme_ctrl_reset" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_reset \- Initiate a controller reset .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_dhchap_host_key.2 b/doc/man/nvme_ctrl_set_dhchap_host_key.2 index 834c50f..42abdc5 100644 --- a/doc/man/nvme_ctrl_set_dhchap_host_key.2 +++ b/doc/man/nvme_ctrl_set_dhchap_host_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_dhchap_host_key" 9 "nvme_ctrl_set_dhchap_host_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_dhchap_host_key" 9 "nvme_ctrl_set_dhchap_host_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_dhchap_host_key \- Set host key .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_dhchap_key.2 b/doc/man/nvme_ctrl_set_dhchap_key.2 index b040020..7d34e64 100644 --- a/doc/man/nvme_ctrl_set_dhchap_key.2 +++ b/doc/man/nvme_ctrl_set_dhchap_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_dhchap_key" 9 "nvme_ctrl_set_dhchap_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_dhchap_key \- Set controller key .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_discovered.2 b/doc/man/nvme_ctrl_set_discovered.2 index b3dada2..dd85afb 100644 --- a/doc/man/nvme_ctrl_set_discovered.2 +++ b/doc/man/nvme_ctrl_set_discovered.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_discovered" 9 "nvme_ctrl_set_discovered" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_discovered \- Set the 'discovered' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_discovery_ctrl.2 b/doc/man/nvme_ctrl_set_discovery_ctrl.2 index 5cd91a8..9c71212 100644 --- a/doc/man/nvme_ctrl_set_discovery_ctrl.2 +++ b/doc/man/nvme_ctrl_set_discovery_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_discovery_ctrl" 9 "nvme_ctrl_set_discovery_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_discovery_ctrl \- Set the 'discovery_ctrl' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_persistent.2 b/doc/man/nvme_ctrl_set_persistent.2 index 557e610..e7c158d 100644 --- a/doc/man/nvme_ctrl_set_persistent.2 +++ b/doc/man/nvme_ctrl_set_persistent.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_persistent" 9 "nvme_ctrl_set_persistent" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_persistent \- Set the 'persistent' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 b/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 index 3103d3e..057416e 100644 --- a/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 +++ b/doc/man/nvme_ctrl_set_unique_discovery_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrl_set_unique_discovery_ctrl" 9 "nvme_ctrl_set_unique_discovery_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrl_set_unique_discovery_ctrl" 9 "nvme_ctrl_set_unique_discovery_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrl_set_unique_discovery_ctrl \- Set the 'unique_discovery_ctrl' flag .SH SYNOPSIS diff --git a/doc/man/nvme_ctrls_filter.2 b/doc/man/nvme_ctrls_filter.2 index 76838b0..91a87f5 100644 --- a/doc/man/nvme_ctrls_filter.2 +++ b/doc/man/nvme_ctrls_filter.2 @@ -1,4 +1,4 @@ -.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ctrls_filter" 9 "nvme_ctrls_filter" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ctrls_filter \- Filter for controllers .SH SYNOPSIS diff --git a/doc/man/nvme_data_tfr.2 b/doc/man/nvme_data_tfr.2 index 375ff62..e3eb1a1 100644 --- a/doc/man/nvme_data_tfr.2 +++ b/doc/man/nvme_data_tfr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_data_tfr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_data_tfr" "August 2024" "API Manual" LINUX .SH NAME enum nvme_data_tfr \- Data transfer direction of the command .SH SYNOPSIS diff --git a/doc/man/nvme_default_host.2 b/doc/man/nvme_default_host.2 index 693f337..b3e681b 100644 --- a/doc/man/nvme_default_host.2 +++ b/doc/man/nvme_default_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_default_host" 9 "nvme_default_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_default_host" 9 "nvme_default_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_default_host \- Initializes the default host .SH SYNOPSIS @@ -8,7 +8,7 @@ nvme_default_host \- Initializes the default host .IP "r" 12 \fInvme_root_t\fP object .SH "DESCRIPTION" -Initializes the default host object based on the values in -/etc/nvme/hostnqn and /etc/nvme/hostid and attaches it to \fIr\fP. +Initializes the default host object based on the hostnqn/hostid +values returned by \fBnvme_host_get_ids\fP and attaches it to \fIr\fP. .SH "RETURN" \fInvme_host_t\fP object diff --git a/doc/man/nvme_describe_key_serial.2 b/doc/man/nvme_describe_key_serial.2 index d17366b..0dabe17 100644 --- a/doc/man/nvme_describe_key_serial.2 +++ b/doc/man/nvme_describe_key_serial.2 @@ -1,4 +1,4 @@ -.TH "nvme_describe_key_serial" 9 "nvme_describe_key_serial" "May 2024" "libnvme API manual" LINUX +.TH "nvme_describe_key_serial" 9 "nvme_describe_key_serial" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_describe_key_serial \- Return key description .SH SYNOPSIS diff --git a/doc/man/nvme_dev_self_test.2 b/doc/man/nvme_dev_self_test.2 index 4123627..ed9ae70 100644 --- a/doc/man/nvme_dev_self_test.2 +++ b/doc/man/nvme_dev_self_test.2 @@ -1,4 +1,4 @@ -.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "May 2024" "libnvme API manual" LINUX +.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_dev_self_test \- Start or abort a self test .SH SYNOPSIS diff --git a/doc/man/nvme_directive_dtype.2 b/doc/man/nvme_directive_dtype.2 index 5e35792..94db1b4 100644 --- a/doc/man/nvme_directive_dtype.2 +++ b/doc/man/nvme_directive_dtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_directive_dtype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_dtype" "August 2024" "API Manual" LINUX .SH NAME enum nvme_directive_dtype \- Directive Types .SH SYNOPSIS diff --git a/doc/man/nvme_directive_receive_doper.2 b/doc/man/nvme_directive_receive_doper.2 index c19c784..d22cbda 100644 --- a/doc/man/nvme_directive_receive_doper.2 +++ b/doc/man/nvme_directive_receive_doper.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_directive_receive_doper" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_receive_doper" "August 2024" "API Manual" LINUX .SH NAME enum nvme_directive_receive_doper \- Directive Receive Directive Operation .SH SYNOPSIS diff --git a/doc/man/nvme_directive_recv.2 b/doc/man/nvme_directive_recv.2 index a03d860..5da3621 100644 --- a/doc/man/nvme_directive_recv.2 +++ b/doc/man/nvme_directive_recv.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_recv" 9 "nvme_directive_recv" "May 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv" 9 "nvme_directive_recv" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_recv \- Receive directive specific data .SH SYNOPSIS diff --git a/doc/man/nvme_directive_recv_identify_parameters.2 b/doc/man/nvme_directive_recv_identify_parameters.2 index c80f474..74e2429 100644 --- a/doc/man/nvme_directive_recv_identify_parameters.2 +++ b/doc/man/nvme_directive_recv_identify_parameters.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "May 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_identify_parameters" 9 "nvme_directive_recv_identify_parameters" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_recv_identify_parameters \- Directive receive identifier parameters .SH SYNOPSIS diff --git a/doc/man/nvme_directive_recv_stream_allocate.2 b/doc/man/nvme_directive_recv_stream_allocate.2 index e7b987a..f4c1fb1 100644 --- a/doc/man/nvme_directive_recv_stream_allocate.2 +++ b/doc/man/nvme_directive_recv_stream_allocate.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "May 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_allocate" 9 "nvme_directive_recv_stream_allocate" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_recv_stream_allocate \- Directive receive stream allocate .SH SYNOPSIS diff --git a/doc/man/nvme_directive_recv_stream_parameters.2 b/doc/man/nvme_directive_recv_stream_parameters.2 index 60811f9..83a4223 100644 --- a/doc/man/nvme_directive_recv_stream_parameters.2 +++ b/doc/man/nvme_directive_recv_stream_parameters.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "May 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_parameters" 9 "nvme_directive_recv_stream_parameters" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_recv_stream_parameters \- Directive receive stream parameters .SH SYNOPSIS diff --git a/doc/man/nvme_directive_recv_stream_status.2 b/doc/man/nvme_directive_recv_stream_status.2 index 77e4800..cde6600 100644 --- a/doc/man/nvme_directive_recv_stream_status.2 +++ b/doc/man/nvme_directive_recv_stream_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "May 2024" "libnvme API manual" LINUX +.TH "nvme_directive_recv_stream_status" 9 "nvme_directive_recv_stream_status" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_recv_stream_status \- Directive receive stream status .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send.2 b/doc/man/nvme_directive_send.2 index 4e09029..7d1f333 100644 --- a/doc/man/nvme_directive_send.2 +++ b/doc/man/nvme_directive_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_send" 9 "nvme_directive_send" "May 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send" 9 "nvme_directive_send" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_send \- Send directive command .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send_doper.2 b/doc/man/nvme_directive_send_doper.2 index 3986bb4..0c2dbca 100644 --- a/doc/man/nvme_directive_send_doper.2 +++ b/doc/man/nvme_directive_send_doper.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_directive_send_doper" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_send_doper" "August 2024" "API Manual" LINUX .SH NAME enum nvme_directive_send_doper \- Directive Send Directive Operation .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send_id_endir.2 b/doc/man/nvme_directive_send_id_endir.2 index 8632333..fc00033 100644 --- a/doc/man/nvme_directive_send_id_endir.2 +++ b/doc/man/nvme_directive_send_id_endir.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "May 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send_id_endir" 9 "nvme_directive_send_id_endir" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_send_id_endir \- Directive Send Enable Directive .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send_identify_endir.2 b/doc/man/nvme_directive_send_identify_endir.2 index fab7e2a..2f3e9b5 100644 --- a/doc/man/nvme_directive_send_identify_endir.2 +++ b/doc/man/nvme_directive_send_identify_endir.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_send_identify_endir" "August 2024" "API Manual" LINUX .SH NAME enum nvme_directive_send_identify_endir \- Enable Directive .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send_stream_release_identifier.2 b/doc/man/nvme_directive_send_stream_release_identifier.2 index ccb075d..e34dba8 100644 --- a/doc/man/nvme_directive_send_stream_release_identifier.2 +++ b/doc/man/nvme_directive_send_stream_release_identifier.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "May 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send_stream_release_identifier" 9 "nvme_directive_send_stream_release_identifier" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_send_stream_release_identifier \- Directive Send Stream release .SH SYNOPSIS diff --git a/doc/man/nvme_directive_send_stream_release_resource.2 b/doc/man/nvme_directive_send_stream_release_resource.2 index ac1febc..d718724 100644 --- a/doc/man/nvme_directive_send_stream_release_resource.2 +++ b/doc/man/nvme_directive_send_stream_release_resource.2 @@ -1,4 +1,4 @@ -.TH "nvme_directive_send_stream_release_resource" 9 "nvme_directive_send_stream_release_resource" "May 2024" "libnvme API manual" LINUX +.TH "nvme_directive_send_stream_release_resource" 9 "nvme_directive_send_stream_release_resource" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_directive_send_stream_release_resource \- Directive Send Stream release resources .SH SYNOPSIS diff --git a/doc/man/nvme_directive_types.2 b/doc/man/nvme_directive_types.2 index cad1dff..43aa797 100644 --- a/doc/man/nvme_directive_types.2 +++ b/doc/man/nvme_directive_types.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_directive_types" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_directive_types" "August 2024" "API Manual" LINUX .SH NAME enum nvme_directive_types \- Directives Supported or Enabled .SH SYNOPSIS diff --git a/doc/man/nvme_disconnect_ctrl.2 b/doc/man/nvme_disconnect_ctrl.2 index 8c9d34e..2764c1d 100644 --- a/doc/man/nvme_disconnect_ctrl.2 +++ b/doc/man/nvme_disconnect_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_disconnect_ctrl" 9 "nvme_disconnect_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_disconnect_ctrl" 9 "nvme_disconnect_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_disconnect_ctrl \- Disconnect a controller .SH SYNOPSIS diff --git a/doc/man/nvme_dsm.2 b/doc/man/nvme_dsm.2 index 3dfb43e..d363042 100644 --- a/doc/man/nvme_dsm.2 +++ b/doc/man/nvme_dsm.2 @@ -1,4 +1,4 @@ -.TH "nvme_dsm" 9 "nvme_dsm" "May 2024" "libnvme API manual" LINUX +.TH "nvme_dsm" 9 "nvme_dsm" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_dsm \- Send an nvme data set management command .SH SYNOPSIS diff --git a/doc/man/nvme_dsm_attributes.2 b/doc/man/nvme_dsm_attributes.2 index 591ace6..0aa1bef 100644 --- a/doc/man/nvme_dsm_attributes.2 +++ b/doc/man/nvme_dsm_attributes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_dsm_attributes" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_dsm_attributes" "August 2024" "API Manual" LINUX .SH NAME enum nvme_dsm_attributes \- Dataset Management attributes .SH SYNOPSIS diff --git a/doc/man/nvme_dsm_range.2 b/doc/man/nvme_dsm_range.2 index 7037cbb..0eca47a 100644 --- a/doc/man/nvme_dsm_range.2 +++ b/doc/man/nvme_dsm_range.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_dsm_range" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_dsm_range" "August 2024" "API Manual" LINUX .SH NAME struct nvme_dsm_range \- Dataset Management - Range Definition .SH SYNOPSIS diff --git a/doc/man/nvme_dst_stc.2 b/doc/man/nvme_dst_stc.2 index 97ec627..d7723c7 100644 --- a/doc/man/nvme_dst_stc.2 +++ b/doc/man/nvme_dst_stc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_dst_stc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_dst_stc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_dst_stc \- Action taken by the Device Self-test command .SH SYNOPSIS diff --git a/doc/man/nvme_dump_config.2 b/doc/man/nvme_dump_config.2 index 46f9dc0..bd29a52 100644 --- a/doc/man/nvme_dump_config.2 +++ b/doc/man/nvme_dump_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_dump_config" 9 "nvme_dump_config" "May 2024" "libnvme API manual" LINUX +.TH "nvme_dump_config" 9 "nvme_dump_config" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_dump_config \- Print the JSON configuration .SH SYNOPSIS diff --git a/doc/man/nvme_dump_tree.2 b/doc/man/nvme_dump_tree.2 index fb7b343..b380ce1 100644 --- a/doc/man/nvme_dump_tree.2 +++ b/doc/man/nvme_dump_tree.2 @@ -1,4 +1,4 @@ -.TH "nvme_dump_tree" 9 "nvme_dump_tree" "May 2024" "libnvme API manual" LINUX +.TH "nvme_dump_tree" 9 "nvme_dump_tree" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_dump_tree \- Dump internal object tree .SH SYNOPSIS diff --git a/doc/man/nvme_eg_critical_warning_flags.2 b/doc/man/nvme_eg_critical_warning_flags.2 index 7104f8f..8db09a5 100644 --- a/doc/man/nvme_eg_critical_warning_flags.2 +++ b/doc/man/nvme_eg_critical_warning_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_eg_critical_warning_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eg_critical_warning_flags" "August 2024" "API Manual" LINUX .SH NAME enum nvme_eg_critical_warning_flags \- Endurance Group Information Log - Critical Warning .SH SYNOPSIS diff --git a/doc/man/nvme_eg_event_aggregate_log.2 b/doc/man/nvme_eg_event_aggregate_log.2 index b16c832..1bc692c 100644 --- a/doc/man/nvme_eg_event_aggregate_log.2 +++ b/doc/man/nvme_eg_event_aggregate_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_eg_event_aggregate_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_eg_event_aggregate_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_eg_event_aggregate_log \- Endurance Group Event Aggregate .SH SYNOPSIS diff --git a/doc/man/nvme_end_grp_chan_desc.2 b/doc/man/nvme_end_grp_chan_desc.2 index 5b3a6ff..1dae32d 100644 --- a/doc/man/nvme_end_grp_chan_desc.2 +++ b/doc/man/nvme_end_grp_chan_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_end_grp_chan_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_end_grp_chan_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_end_grp_chan_desc \- Endurance Group Channel Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_end_grp_config_desc.2 b/doc/man/nvme_end_grp_config_desc.2 index 26bfd9b..4df5e47 100644 --- a/doc/man/nvme_end_grp_config_desc.2 +++ b/doc/man/nvme_end_grp_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_end_grp_config_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_end_grp_config_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_end_grp_config_desc \- Endurance Group Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_endurance_group_log.2 b/doc/man/nvme_endurance_group_log.2 index 6d58674..017c8a0 100644 --- a/doc/man/nvme_endurance_group_log.2 +++ b/doc/man/nvme_endurance_group_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_endurance_group_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_endurance_group_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_endurance_group_log \- Endurance Group Information Log .SH SYNOPSIS diff --git a/doc/man/nvme_eom_lane_desc.2 b/doc/man/nvme_eom_lane_desc.2 index 8efa7a5..3157f3c 100644 --- a/doc/man/nvme_eom_lane_desc.2 +++ b/doc/man/nvme_eom_lane_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_eom_lane_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_eom_lane_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_eom_lane_desc \- EOM Lane Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_eom_optional_data.2 b/doc/man/nvme_eom_optional_data.2 index 411159e..6cc101c 100644 --- a/doc/man/nvme_eom_optional_data.2 +++ b/doc/man/nvme_eom_optional_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_eom_optional_data" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eom_optional_data" "August 2024" "API Manual" LINUX .SH NAME enum nvme_eom_optional_data \- EOM Optional Data Present Fields (Deprecated) .SH SYNOPSIS diff --git a/doc/man/nvme_eom_optional_data_present.2 b/doc/man/nvme_eom_optional_data_present.2 index f351c17..70ca78b 100644 --- a/doc/man/nvme_eom_optional_data_present.2 +++ b/doc/man/nvme_eom_optional_data_present.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_eom_optional_data_present" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_eom_optional_data_present" "August 2024" "API Manual" LINUX .SH NAME enum nvme_eom_optional_data_present \- EOM Optional Data Present Fields .SH SYNOPSIS diff --git a/doc/man/nvme_errno_to_string.2 b/doc/man/nvme_errno_to_string.2 index 1493b53..b364bba 100644 --- a/doc/man/nvme_errno_to_string.2 +++ b/doc/man/nvme_errno_to_string.2 @@ -1,4 +1,4 @@ -.TH "nvme_errno_to_string" 9 "nvme_errno_to_string" "May 2024" "libnvme API manual" LINUX +.TH "nvme_errno_to_string" 9 "nvme_errno_to_string" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_errno_to_string \- Returns string describing nvme connect failures .SH SYNOPSIS diff --git a/doc/man/nvme_error_log_page.2 b/doc/man/nvme_error_log_page.2 index 7d703de..663b41f 100644 --- a/doc/man/nvme_error_log_page.2 +++ b/doc/man/nvme_error_log_page.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_error_log_page" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_error_log_page" "August 2024" "API Manual" LINUX .SH NAME struct nvme_error_log_page \- Error Information Log Entry (Log Identifier 01h) .SH SYNOPSIS diff --git a/doc/man/nvme_export_tls_key.2 b/doc/man/nvme_export_tls_key.2 index 1cc5961..b3dc4cb 100644 --- a/doc/man/nvme_export_tls_key.2 +++ b/doc/man/nvme_export_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_export_tls_key" 9 "nvme_export_tls_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_export_tls_key" 9 "nvme_export_tls_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_export_tls_key \- Export a TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_fabrics_config.2 b/doc/man/nvme_fabrics_config.2 index b5e65d8..90fe365 100644 --- a/doc/man/nvme_fabrics_config.2 +++ b/doc/man/nvme_fabrics_config.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fabrics_config" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fabrics_config" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fabrics_config \- Defines all linux nvme fabrics initiator options .SH SYNOPSIS diff --git a/doc/man/nvme_fabrics_uri.2 b/doc/man/nvme_fabrics_uri.2 new file mode 100644 index 0000000..d779a8b --- /dev/null +++ b/doc/man/nvme_fabrics_uri.2 @@ -0,0 +1,43 @@ +.TH "libnvme" 9 "struct nvme_fabrics_uri" "August 2024" "API Manual" LINUX +.SH NAME +struct nvme_fabrics_uri \- Parsed URI structure +.SH SYNOPSIS +struct nvme_fabrics_uri { +.br +.BI " char *scheme;" +.br +.BI " char *protocol;" +.br +.BI " char *userinfo;" +.br +.BI " char *host;" +.br +.BI " int port;" +.br +.BI " char **path_segments;" +.br +.BI " char *query;" +.br +.BI " char *fragment;" +.br +.BI " +}; +.br + +.SH Members +.IP "scheme" 12 +Scheme name (typically 'nvme') +.IP "protocol" 12 +Optional protocol/transport (e.g. 'tcp') +.IP "userinfo" 12 +Optional user information component of the URI authority +.IP "host" 12 +Host transport address +.IP "port" 12 +The port subcomponent or 0 if not specified +.IP "path_segments" 12 +NULL-terminated array of path segments +.IP "query" 12 +Optional query string component (separated by '?') +.IP "fragment" 12 +Optional fragment identifier component (separated by '#') diff --git a/doc/man/nvme_fctype.2 b/doc/man/nvme_fctype.2 index e1c1bf4..3e4d001 100644 --- a/doc/man/nvme_fctype.2 +++ b/doc/man/nvme_fctype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fctype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fctype" "August 2024" "API Manual" LINUX .SH NAME enum nvme_fctype \- Fabrics Command Types .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_config_desc.2 b/doc/man/nvme_fdp_config_desc.2 index bc137d1..8f0e910 100644 --- a/doc/man/nvme_fdp_config_desc.2 +++ b/doc/man/nvme_fdp_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_config_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_config_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_config_desc \- FDP Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_config_fdpa.2 b/doc/man/nvme_fdp_config_fdpa.2 index 11132d7..049c278 100644 --- a/doc/man/nvme_fdp_config_fdpa.2 +++ b/doc/man/nvme_fdp_config_fdpa.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_config_fdpa" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_config_fdpa" "August 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_config_fdpa \- FDP Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_config_log.2 b/doc/man/nvme_fdp_config_log.2 index de1c6de..0a444a0 100644 --- a/doc/man/nvme_fdp_config_log.2 +++ b/doc/man/nvme_fdp_config_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_config_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_config_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_config_log \- FDP Configurations Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event.2 b/doc/man/nvme_fdp_event.2 index a1749bc..b0be404 100644 --- a/doc/man/nvme_fdp_event.2 +++ b/doc/man/nvme_fdp_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_event \- FDP Event .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_flags.2 b/doc/man/nvme_fdp_event_flags.2 index 377cad8..7da309b 100644 --- a/doc/man/nvme_fdp_event_flags.2 +++ b/doc/man/nvme_fdp_event_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_event_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_flags" "August 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_event_flags \- FDP Event Flags .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_realloc.2 b/doc/man/nvme_fdp_event_realloc.2 index 35d5b9e..fd4dcde 100644 --- a/doc/man/nvme_fdp_event_realloc.2 +++ b/doc/man/nvme_fdp_event_realloc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_event_realloc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_event_realloc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_event_realloc \- Media Reallocated Event Type Specific Information .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_realloc_flags.2 b/doc/man/nvme_fdp_event_realloc_flags.2 index 7b5fbb2..aeb3cf7 100644 --- a/doc/man/nvme_fdp_event_realloc_flags.2 +++ b/doc/man/nvme_fdp_event_realloc_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_event_realloc_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_realloc_flags" "August 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_event_realloc_flags \- Media Reallocated Event Type Specific Flags .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_event_type.2 b/doc/man/nvme_fdp_event_type.2 index bb2ebe1..0fef675 100644 --- a/doc/man/nvme_fdp_event_type.2 +++ b/doc/man/nvme_fdp_event_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_event_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_event_type" "August 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_event_type \- FDP Event Types .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_events_log.2 b/doc/man/nvme_fdp_events_log.2 index b50632e..7c696c3 100644 --- a/doc/man/nvme_fdp_events_log.2 +++ b/doc/man/nvme_fdp_events_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_events_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_events_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_events_log \- FDP Events Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_reclaim_unit_handle_status.2 b/doc/man/nvme_fdp_reclaim_unit_handle_status.2 index ef5259d..6459846 100644 --- a/doc/man/nvme_fdp_reclaim_unit_handle_status.2 +++ b/doc/man/nvme_fdp_reclaim_unit_handle_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_fdp_reclaim_unit_handle_status" 9 "nvme_fdp_reclaim_unit_handle_status" "May 2024" "libnvme API manual" LINUX +.TH "nvme_fdp_reclaim_unit_handle_status" 9 "nvme_fdp_reclaim_unit_handle_status" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_fdp_reclaim_unit_handle_status \- Get reclaim unit handle status .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_reclaim_unit_handle_update.2 b/doc/man/nvme_fdp_reclaim_unit_handle_update.2 index 40cf67b..eee23a2 100644 --- a/doc/man/nvme_fdp_reclaim_unit_handle_update.2 +++ b/doc/man/nvme_fdp_reclaim_unit_handle_update.2 @@ -1,4 +1,4 @@ -.TH "nvme_fdp_reclaim_unit_handle_update" 9 "nvme_fdp_reclaim_unit_handle_update" "May 2024" "libnvme API manual" LINUX +.TH "nvme_fdp_reclaim_unit_handle_update" 9 "nvme_fdp_reclaim_unit_handle_update" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_fdp_reclaim_unit_handle_update \- Update a list of reclaim unit handles .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_desc.2 b/doc/man/nvme_fdp_ruh_desc.2 index 2beb49d..af1d861 100644 --- a/doc/man/nvme_fdp_ruh_desc.2 +++ b/doc/man/nvme_fdp_ruh_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruh_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruh_desc \- Reclaim Unit Handle Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_status.2 b/doc/man/nvme_fdp_ruh_status.2 index 8b6be4e..ba2e98b 100644 --- a/doc/man/nvme_fdp_ruh_status.2 +++ b/doc/man/nvme_fdp_ruh_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruh_status" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_status" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruh_status \- Reclaim Unit Handle Status .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_status_desc.2 b/doc/man/nvme_fdp_ruh_status_desc.2 index 71da150..c2732b0 100644 --- a/doc/man/nvme_fdp_ruh_status_desc.2 +++ b/doc/man/nvme_fdp_ruh_status_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruh_status_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruh_status_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruh_status_desc \- Reclaim Unit Handle Status Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruh_type.2 b/doc/man/nvme_fdp_ruh_type.2 index 16a8873..4b722d6 100644 --- a/doc/man/nvme_fdp_ruh_type.2 +++ b/doc/man/nvme_fdp_ruh_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_ruh_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_ruh_type" "August 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_ruh_type \- Reclaim Unit Handle Type .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruha.2 b/doc/man/nvme_fdp_ruha.2 index 91c8ce2..1faa493 100644 --- a/doc/man/nvme_fdp_ruha.2 +++ b/doc/man/nvme_fdp_ruha.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_ruha" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_ruha" "August 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_ruha \- Reclaim Unit Handle Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruhu_desc.2 b/doc/man/nvme_fdp_ruhu_desc.2 index d173466..49c6d8c 100644 --- a/doc/man/nvme_fdp_ruhu_desc.2 +++ b/doc/man/nvme_fdp_ruhu_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruhu_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruhu_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruhu_desc \- Reclaim Unit Handle Usage Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_ruhu_log.2 b/doc/man/nvme_fdp_ruhu_log.2 index ff74042..bcd9be6 100644 --- a/doc/man/nvme_fdp_ruhu_log.2 +++ b/doc/man/nvme_fdp_ruhu_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_ruhu_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_ruhu_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_ruhu_log \- Reclaim Unit Handle Usage Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_stats_log.2 b/doc/man/nvme_fdp_stats_log.2 index dc6d34b..439d636 100644 --- a/doc/man/nvme_fdp_stats_log.2 +++ b/doc/man/nvme_fdp_stats_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_stats_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_stats_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_stats_log \- FDP Statistics Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_supported_event_attributes.2 b/doc/man/nvme_fdp_supported_event_attributes.2 index 06936a5..91de540 100644 --- a/doc/man/nvme_fdp_supported_event_attributes.2 +++ b/doc/man/nvme_fdp_supported_event_attributes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fdp_supported_event_attributes" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fdp_supported_event_attributes" "August 2024" "API Manual" LINUX .SH NAME enum nvme_fdp_supported_event_attributes \- Supported FDP Event Attributes .SH SYNOPSIS diff --git a/doc/man/nvme_fdp_supported_event_desc.2 b/doc/man/nvme_fdp_supported_event_desc.2 index fc82a61..991d232 100644 --- a/doc/man/nvme_fdp_supported_event_desc.2 +++ b/doc/man/nvme_fdp_supported_event_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fdp_supported_event_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fdp_supported_event_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fdp_supported_event_desc \- Supported FDP Event Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_feat.2 b/doc/man/nvme_feat.2 index 855f093..0b72f7e 100644 --- a/doc/man/nvme_feat.2 +++ b/doc/man/nvme_feat.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat" "August 2024" "API Manual" LINUX .SH NAME enum nvme_feat \- Features Access Shifts/Masks values .SH SYNOPSIS diff --git a/doc/man/nvme_feat_auto_pst.2 b/doc/man/nvme_feat_auto_pst.2 index 386569a..512a420 100644 --- a/doc/man/nvme_feat_auto_pst.2 +++ b/doc/man/nvme_feat_auto_pst.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_feat_auto_pst" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_auto_pst" "August 2024" "API Manual" LINUX .SH NAME struct nvme_feat_auto_pst \- Autonomous Power State Transition .SH SYNOPSIS diff --git a/doc/man/nvme_feat_fdp_events_cdw11.2 b/doc/man/nvme_feat_fdp_events_cdw11.2 index 949435a..a369786 100644 --- a/doc/man/nvme_feat_fdp_events_cdw11.2 +++ b/doc/man/nvme_feat_fdp_events_cdw11.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_feat_fdp_events_cdw11" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_fdp_events_cdw11" "August 2024" "API Manual" LINUX .SH NAME struct nvme_feat_fdp_events_cdw11 \- FDP Events Feature Command Dword 11 .SH SYNOPSIS diff --git a/doc/man/nvme_feat_host_behavior.2 b/doc/man/nvme_feat_host_behavior.2 index 553e248..3629d62 100644 --- a/doc/man/nvme_feat_host_behavior.2 +++ b/doc/man/nvme_feat_host_behavior.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_feat_host_behavior" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_feat_host_behavior" "August 2024" "API Manual" LINUX .SH NAME struct nvme_feat_host_behavior \- Host Behavior Support - Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_feat_nswpcfg_state.2 b/doc/man/nvme_feat_nswpcfg_state.2 index a8a735c..3d4fea8 100644 --- a/doc/man/nvme_feat_nswpcfg_state.2 +++ b/doc/man/nvme_feat_nswpcfg_state.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat_nswpcfg_state" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_nswpcfg_state" "August 2024" "API Manual" LINUX .SH NAME enum nvme_feat_nswpcfg_state \- Write Protection - Write Protection State .SH SYNOPSIS diff --git a/doc/man/nvme_feat_plm_window_select.2 b/doc/man/nvme_feat_plm_window_select.2 index e16d1b4..e375bd2 100644 --- a/doc/man/nvme_feat_plm_window_select.2 +++ b/doc/man/nvme_feat_plm_window_select.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat_plm_window_select" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_plm_window_select" "August 2024" "API Manual" LINUX .SH NAME enum nvme_feat_plm_window_select \- Predictable Latency Per NVM Set Log .SH SYNOPSIS diff --git a/doc/man/nvme_feat_resv_notify_flags.2 b/doc/man/nvme_feat_resv_notify_flags.2 index 07977a7..5729db5 100644 --- a/doc/man/nvme_feat_resv_notify_flags.2 +++ b/doc/man/nvme_feat_resv_notify_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat_resv_notify_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_resv_notify_flags" "August 2024" "API Manual" LINUX .SH NAME enum nvme_feat_resv_notify_flags \- Reservation Notification Configuration .SH SYNOPSIS diff --git a/doc/man/nvme_feat_tmpthresh_thsel.2 b/doc/man/nvme_feat_tmpthresh_thsel.2 index f8964b4..27c2c22 100644 --- a/doc/man/nvme_feat_tmpthresh_thsel.2 +++ b/doc/man/nvme_feat_tmpthresh_thsel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_feat_tmpthresh_thsel" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_feat_tmpthresh_thsel" "August 2024" "API Manual" LINUX .SH NAME enum nvme_feat_tmpthresh_thsel \- Temperature Threshold - Threshold Type Select .SH SYNOPSIS diff --git a/doc/man/nvme_features_async_event_config_flags.2 b/doc/man/nvme_features_async_event_config_flags.2 index 1ec9526..9ce6377 100644 --- a/doc/man/nvme_features_async_event_config_flags.2 +++ b/doc/man/nvme_features_async_event_config_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_features_async_event_config_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_features_async_event_config_flags" "August 2024" "API Manual" LINUX .SH NAME enum nvme_features_async_event_config_flags \- Asynchronous Event Configuration configuration flags .SH SYNOPSIS diff --git a/doc/man/nvme_features_id.2 b/doc/man/nvme_features_id.2 index f4a569d..8ce8578 100644 --- a/doc/man/nvme_features_id.2 +++ b/doc/man/nvme_features_id.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_features_id" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_features_id" "August 2024" "API Manual" LINUX .SH NAME enum nvme_features_id \- Features - Feature Identifiers .SH SYNOPSIS diff --git a/doc/man/nvme_fid_supported_effects.2 b/doc/man/nvme_fid_supported_effects.2 index 2616ea3..dd8366b 100644 --- a/doc/man/nvme_fid_supported_effects.2 +++ b/doc/man/nvme_fid_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fid_supported_effects" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fid_supported_effects" "August 2024" "API Manual" LINUX .SH NAME enum nvme_fid_supported_effects \- FID Supported and Effects Data Structure definitions .SH SYNOPSIS diff --git a/doc/man/nvme_fid_supported_effects_log.2 b/doc/man/nvme_fid_supported_effects_log.2 index 24f9b9f..4c786db 100644 --- a/doc/man/nvme_fid_supported_effects_log.2 +++ b/doc/man/nvme_fid_supported_effects_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fid_supported_effects_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fid_supported_effects_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fid_supported_effects_log \- Feature Identifiers Supported and Effects .SH SYNOPSIS diff --git a/doc/man/nvme_firmware_slot.2 b/doc/man/nvme_firmware_slot.2 index 4a2c4ae..06bd9c5 100644 --- a/doc/man/nvme_firmware_slot.2 +++ b/doc/man/nvme_firmware_slot.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_firmware_slot" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_firmware_slot" "August 2024" "API Manual" LINUX .SH NAME struct nvme_firmware_slot \- Firmware Slot Information Log .SH SYNOPSIS diff --git a/doc/man/nvme_first_host.2 b/doc/man/nvme_first_host.2 index bf3179a..259b2a4 100644 --- a/doc/man/nvme_first_host.2 +++ b/doc/man/nvme_first_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_first_host" 9 "nvme_first_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_first_host" 9 "nvme_first_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_first_host \- Start host iterator .SH SYNOPSIS diff --git a/doc/man/nvme_first_subsystem.2 b/doc/man/nvme_first_subsystem.2 index 8d2c93e..4de04bf 100644 --- a/doc/man/nvme_first_subsystem.2 +++ b/doc/man/nvme_first_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_first_subsystem" 9 "nvme_first_subsystem" "May 2024" "libnvme API manual" LINUX +.TH "nvme_first_subsystem" 9 "nvme_first_subsystem" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_first_subsystem \- Start subsystem iterator .SH SYNOPSIS diff --git a/doc/man/nvme_flbas.2 b/doc/man/nvme_flbas.2 index 588cb50..430d241 100644 --- a/doc/man/nvme_flbas.2 +++ b/doc/man/nvme_flbas.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_flbas" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_flbas" "August 2024" "API Manual" LINUX .SH NAME enum nvme_flbas \- This field indicates the formatted LBA size .SH SYNOPSIS diff --git a/doc/man/nvme_flush.2 b/doc/man/nvme_flush.2 index eaa1590..4e8f71a 100644 --- a/doc/man/nvme_flush.2 +++ b/doc/man/nvme_flush.2 @@ -1,4 +1,4 @@ -.TH "nvme_flush" 9 "nvme_flush" "May 2024" "libnvme API manual" LINUX +.TH "nvme_flush" 9 "nvme_flush" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_flush \- Send an nvme flush command .SH SYNOPSIS diff --git a/doc/man/nvme_for_each_host.2 b/doc/man/nvme_for_each_host.2 index 8077030..fc9052e 100644 --- a/doc/man/nvme_for_each_host.2 +++ b/doc/man/nvme_for_each_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_for_each_host" 9 "nvme_for_each_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_host" 9 "nvme_for_each_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_for_each_host \- Traverse host list .SH SYNOPSIS diff --git a/doc/man/nvme_for_each_host_safe.2 b/doc/man/nvme_for_each_host_safe.2 index 6aabd74..1981874 100644 --- a/doc/man/nvme_for_each_host_safe.2 +++ b/doc/man/nvme_for_each_host_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_for_each_host_safe" 9 "nvme_for_each_host_safe" "May 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_host_safe" 9 "nvme_for_each_host_safe" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_for_each_host_safe \- Traverse host list .SH SYNOPSIS diff --git a/doc/man/nvme_for_each_subsystem.2 b/doc/man/nvme_for_each_subsystem.2 index f6e794d..c964dcd 100644 --- a/doc/man/nvme_for_each_subsystem.2 +++ b/doc/man/nvme_for_each_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_for_each_subsystem" 9 "nvme_for_each_subsystem" "May 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_subsystem" 9 "nvme_for_each_subsystem" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_for_each_subsystem \- Traverse subsystems .SH SYNOPSIS diff --git a/doc/man/nvme_for_each_subsystem_safe.2 b/doc/man/nvme_for_each_subsystem_safe.2 index 7528e3c..4c26e5c 100644 --- a/doc/man/nvme_for_each_subsystem_safe.2 +++ b/doc/man/nvme_for_each_subsystem_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_for_each_subsystem_safe" 9 "nvme_for_each_subsystem_safe" "May 2024" "libnvme API manual" LINUX +.TH "nvme_for_each_subsystem_safe" 9 "nvme_for_each_subsystem_safe" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_for_each_subsystem_safe \- Traverse subsystems .SH SYNOPSIS diff --git a/doc/man/nvme_format_nvm.2 b/doc/man/nvme_format_nvm.2 index d942278..5c75768 100644 --- a/doc/man/nvme_format_nvm.2 +++ b/doc/man/nvme_format_nvm.2 @@ -1,4 +1,4 @@ -.TH "nvme_format_nvm" 9 "nvme_format_nvm" "May 2024" "libnvme API manual" LINUX +.TH "nvme_format_nvm" 9 "nvme_format_nvm" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_format_nvm \- Format nvme namespace(s) .SH SYNOPSIS diff --git a/doc/man/nvme_format_nvm_compln_event.2 b/doc/man/nvme_format_nvm_compln_event.2 index f198a19..85311e0 100644 --- a/doc/man/nvme_format_nvm_compln_event.2 +++ b/doc/man/nvme_format_nvm_compln_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_format_nvm_compln_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_format_nvm_compln_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_format_nvm_compln_event \- Format NVM Completion Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_format_nvm_start_event.2 b/doc/man/nvme_format_nvm_start_event.2 index 2fa0d9e..589ba90 100644 --- a/doc/man/nvme_format_nvm_start_event.2 +++ b/doc/man/nvme_format_nvm_start_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_format_nvm_start_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_format_nvm_start_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_format_nvm_start_event \- Format NVM Start Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_free_ctrl.2 b/doc/man/nvme_free_ctrl.2 index 92301fd..3d76730 100644 --- a/doc/man/nvme_free_ctrl.2 +++ b/doc/man/nvme_free_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_ctrl" 9 "nvme_free_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_free_ctrl" 9 "nvme_free_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_free_ctrl \- Free controller .SH SYNOPSIS diff --git a/doc/man/nvme_free_host.2 b/doc/man/nvme_free_host.2 index 7bc8c4f..f0316cb 100644 --- a/doc/man/nvme_free_host.2 +++ b/doc/man/nvme_free_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_host" 9 "nvme_free_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_free_host" 9 "nvme_free_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_free_host \- Free nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_free_ns.2 b/doc/man/nvme_free_ns.2 index 6e87924..f47ba5c 100644 --- a/doc/man/nvme_free_ns.2 +++ b/doc/man/nvme_free_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_ns" 9 "nvme_free_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_free_ns" 9 "nvme_free_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_free_ns \- Free a namespace object .SH SYNOPSIS diff --git a/doc/man/nvme_free_subsystem.2 b/doc/man/nvme_free_subsystem.2 index 2311486..aa58699 100644 --- a/doc/man/nvme_free_subsystem.2 +++ b/doc/man/nvme_free_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_subsystem" 9 "nvme_free_subsystem" "May 2024" "libnvme API manual" LINUX +.TH "nvme_free_subsystem" 9 "nvme_free_subsystem" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_free_subsystem \- Free a subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_free_tree.2 b/doc/man/nvme_free_tree.2 index fa9a707..d50c0f5 100644 --- a/doc/man/nvme_free_tree.2 +++ b/doc/man/nvme_free_tree.2 @@ -1,4 +1,4 @@ -.TH "nvme_free_tree" 9 "nvme_free_tree" "May 2024" "libnvme API manual" LINUX +.TH "nvme_free_tree" 9 "nvme_free_tree" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_free_tree \- Free root object .SH SYNOPSIS diff --git a/doc/man/nvme_free_uri.2 b/doc/man/nvme_free_uri.2 new file mode 100644 index 0000000..3184608 --- /dev/null +++ b/doc/man/nvme_free_uri.2 @@ -0,0 +1,11 @@ +.TH "nvme_free_uri" 9 "nvme_free_uri" "August 2024" "libnvme API manual" LINUX +.SH NAME +nvme_free_uri \- Free the URI structure +.SH SYNOPSIS +.B "void" nvme_free_uri +.BI "(struct nvme_fabrics_uri *uri " ");" +.SH ARGUMENTS +.IP "uri" 12 +\fInvme_fabrics_uri\fP structure +.SH "DESCRIPTION" +Free an \fInvme_fabrics_uri\fP structure. diff --git a/doc/man/nvme_fw_commit.2 b/doc/man/nvme_fw_commit.2 index 8091b89..7695166 100644 --- a/doc/man/nvme_fw_commit.2 +++ b/doc/man/nvme_fw_commit.2 @@ -1,4 +1,4 @@ -.TH "nvme_fw_commit" 9 "nvme_fw_commit" "May 2024" "libnvme API manual" LINUX +.TH "nvme_fw_commit" 9 "nvme_fw_commit" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_fw_commit \- Commit firmware using the specified action .SH SYNOPSIS diff --git a/doc/man/nvme_fw_commit_ca.2 b/doc/man/nvme_fw_commit_ca.2 index 3f8a7bd..12e88ad 100644 --- a/doc/man/nvme_fw_commit_ca.2 +++ b/doc/man/nvme_fw_commit_ca.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_fw_commit_ca" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_fw_commit_ca" "August 2024" "API Manual" LINUX .SH NAME enum nvme_fw_commit_ca \- Firmware Commit - Commit Action .SH SYNOPSIS diff --git a/doc/man/nvme_fw_commit_event.2 b/doc/man/nvme_fw_commit_event.2 index 45b5f14..22da525 100644 --- a/doc/man/nvme_fw_commit_event.2 +++ b/doc/man/nvme_fw_commit_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_fw_commit_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_fw_commit_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_fw_commit_event \- Firmware Commit Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_fw_download.2 b/doc/man/nvme_fw_download.2 index b588e84..dd37f1a 100644 --- a/doc/man/nvme_fw_download.2 +++ b/doc/man/nvme_fw_download.2 @@ -1,4 +1,4 @@ -.TH "nvme_fw_download" 9 "nvme_fw_download" "May 2024" "libnvme API manual" LINUX +.TH "nvme_fw_download" 9 "nvme_fw_download" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_fw_download \- Download part or all of a firmware image to the controller .SH SYNOPSIS diff --git a/doc/man/nvme_fw_download_seq.2 b/doc/man/nvme_fw_download_seq.2 index c6a3f6b..b975de4 100644 --- a/doc/man/nvme_fw_download_seq.2 +++ b/doc/man/nvme_fw_download_seq.2 @@ -1,4 +1,4 @@ -.TH "nvme_fw_download_seq" 9 "nvme_fw_download_seq" "May 2024" "libnvme API manual" LINUX +.TH "nvme_fw_download_seq" 9 "nvme_fw_download_seq" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_fw_download_seq \- Firmware download sequence .SH SYNOPSIS diff --git a/doc/man/nvme_gen_dhchap_key.2 b/doc/man/nvme_gen_dhchap_key.2 index 51c8e9c..0145828 100644 --- a/doc/man/nvme_gen_dhchap_key.2 +++ b/doc/man/nvme_gen_dhchap_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_gen_dhchap_key" 9 "nvme_gen_dhchap_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_gen_dhchap_key" 9 "nvme_gen_dhchap_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_gen_dhchap_key \- DH-HMAC-CHAP key generation .SH SYNOPSIS diff --git a/doc/man/nvme_generate_tls_key_identity.2 b/doc/man/nvme_generate_tls_key_identity.2 index 928626b..f047125 100644 --- a/doc/man/nvme_generate_tls_key_identity.2 +++ b/doc/man/nvme_generate_tls_key_identity.2 @@ -1,4 +1,4 @@ -.TH "nvme_generate_tls_key_identity" 9 "nvme_generate_tls_key_identity" "May 2024" "libnvme API manual" LINUX +.TH "nvme_generate_tls_key_identity" 9 "nvme_generate_tls_key_identity" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_generate_tls_key_identity \- Generate the TLS key identity .SH SYNOPSIS diff --git a/doc/man/nvme_get_ana_log_atomic.2 b/doc/man/nvme_get_ana_log_atomic.2 new file mode 100644 index 0000000..1a04b84 --- /dev/null +++ b/doc/man/nvme_get_ana_log_atomic.2 @@ -0,0 +1,35 @@ +.TH "nvme_get_ana_log_atomic" 9 "nvme_get_ana_log_atomic" "August 2024" "libnvme API manual" LINUX +.SH NAME +nvme_get_ana_log_atomic \- Retrieve Asymmetric Namespace Access log page atomically +.SH SYNOPSIS +.B "int" nvme_get_ana_log_atomic +.BI "(int fd " "," +.BI "bool rgo " "," +.BI "bool rae " "," +.BI "unsigned int retries " "," +.BI "struct nvme_ana_log *log " "," +.BI "__u32 *len " ");" +.SH ARGUMENTS +.IP "fd" 12 +File descriptor of nvme device +.IP "rgo" 12 +Whether to retrieve ANA groups only (no NSIDs) +.IP "rae" 12 +Whether to retain asynchronous events +.IP "retries" 12 +The maximum number of times to retry on log page changes +.IP "log" 12 +Pointer to a buffer to receive the ANA log page +.IP "len" 12 +Input: the length of the log page buffer. +Output: the actual length of the ANA log page. +.SH "DESCRIPTION" +See \fIstruct nvme_ana_log\fP for the definition of the returned structure. +.SH "RETURN" +If successful, returns 0 and sets *len to the actual log page length. +If unsuccessful, returns the nvme command status if a response was received +(see \fIenum nvme_status_field\fP) or -1 with errno set otherwise. +Sets errno = EINVAL if retries == 0. +Sets errno = EAGAIN if unable to read the log page atomically +because chgcnt changed during each of the retries attempts. +Sets errno = ENOSPC if the full log page does not fit in the provided buffer. diff --git a/doc/man/nvme_get_ana_log_len.2 b/doc/man/nvme_get_ana_log_len.2 index d63b937..19eafc7 100644 --- a/doc/man/nvme_get_ana_log_len.2 +++ b/doc/man/nvme_get_ana_log_len.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ana_log_len" 9 "nvme_get_ana_log_len" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_ana_log_len" 9 "nvme_get_ana_log_len" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_ana_log_len \- Retrieve size of the current ANA log .SH SYNOPSIS diff --git a/doc/man/nvme_get_ana_log_len_from_id_ctrl.2 b/doc/man/nvme_get_ana_log_len_from_id_ctrl.2 new file mode 100644 index 0000000..75fcd17 --- /dev/null +++ b/doc/man/nvme_get_ana_log_len_from_id_ctrl.2 @@ -0,0 +1,14 @@ +.TH "nvme_get_ana_log_len_from_id_ctrl" 9 "nvme_get_ana_log_len_from_id_ctrl" "August 2024" "libnvme API manual" LINUX +.SH NAME +nvme_get_ana_log_len_from_id_ctrl \- Retrieve maximum possible ANA log size +.SH SYNOPSIS +.B "size_t" nvme_get_ana_log_len_from_id_ctrl +.BI "(const struct nvme_id_ctrl *id_ctrl " "," +.BI "bool rgo " ");" +.SH ARGUMENTS +.IP "id_ctrl" 12 +Controller identify data +.IP "rgo" 12 +If true, return maximum log page size without NSIDs +.SH "RETURN" +A byte limit on the size of the controller's ANA log page diff --git a/doc/man/nvme_get_attr.2 b/doc/man/nvme_get_attr.2 index c3eeb9a..ec6c8aa 100644 --- a/doc/man/nvme_get_attr.2 +++ b/doc/man/nvme_get_attr.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_attr" 9 "nvme_get_attr" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_attr" 9 "nvme_get_attr" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_attr \- Read sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_ctrl_attr.2 b/doc/man/nvme_get_ctrl_attr.2 index b78715d..b4f29c8 100644 --- a/doc/man/nvme_get_ctrl_attr.2 +++ b/doc/man/nvme_get_ctrl_attr.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ctrl_attr" 9 "nvme_get_ctrl_attr" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_ctrl_attr" 9 "nvme_get_ctrl_attr" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_ctrl_attr \- Read controller sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_ctrl_telemetry.2 b/doc/man/nvme_get_ctrl_telemetry.2 index 482482d..78e64b8 100644 --- a/doc/man/nvme_get_ctrl_telemetry.2 +++ b/doc/man/nvme_get_ctrl_telemetry.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ctrl_telemetry" 9 "nvme_get_ctrl_telemetry" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_ctrl_telemetry" 9 "nvme_get_ctrl_telemetry" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_ctrl_telemetry \- Get controller telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_directive_receive_length.2 b/doc/man/nvme_get_directive_receive_length.2 index 6e1f169..8c67f15 100644 --- a/doc/man/nvme_get_directive_receive_length.2 +++ b/doc/man/nvme_get_directive_receive_length.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_directive_receive_length" 9 "nvme_get_directive_receive_length" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_directive_receive_length" 9 "nvme_get_directive_receive_length" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_directive_receive_length \- Get directive receive length .SH SYNOPSIS diff --git a/doc/man/nvme_get_discovery_args.2 b/doc/man/nvme_get_discovery_args.2 index 95bcbcb..740fe10 100644 --- a/doc/man/nvme_get_discovery_args.2 +++ b/doc/man/nvme_get_discovery_args.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_get_discovery_args" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_get_discovery_args" "August 2024" "API Manual" LINUX .SH NAME struct nvme_get_discovery_args \- Arguments for nvmf_get_discovery_wargs() .SH SYNOPSIS diff --git a/doc/man/nvme_get_feature_length.2 b/doc/man/nvme_get_feature_length.2 index 5d02ad4..0ef2c9e 100644 --- a/doc/man/nvme_get_feature_length.2 +++ b/doc/man/nvme_get_feature_length.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_feature_length" 9 "nvme_get_feature_length" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_feature_length" 9 "nvme_get_feature_length" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_feature_length \- Retreive the command payload length for a specific feature identifier .SH SYNOPSIS diff --git a/doc/man/nvme_get_feature_length2.2 b/doc/man/nvme_get_feature_length2.2 index 9357ad8..8efc42a 100644 --- a/doc/man/nvme_get_feature_length2.2 +++ b/doc/man/nvme_get_feature_length2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_feature_length2" 9 "nvme_get_feature_length2" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_feature_length2" 9 "nvme_get_feature_length2" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_feature_length2 \- Retreive the command payload length for a specific feature identifier .SH SYNOPSIS diff --git a/doc/man/nvme_get_features.2 b/doc/man/nvme_get_features.2 index a417388..2b8a0d5 100644 --- a/doc/man/nvme_get_features.2 +++ b/doc/man/nvme_get_features.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features" 9 "nvme_get_features" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features" 9 "nvme_get_features" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features \- Retrieve a feature attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_arbitration.2 b/doc/man/nvme_get_features_arbitration.2 index 7ebbb2f..8215349 100644 --- a/doc/man/nvme_get_features_arbitration.2 +++ b/doc/man/nvme_get_features_arbitration.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_arbitration" 9 "nvme_get_features_arbitration" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_arbitration" 9 "nvme_get_features_arbitration" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_arbitration \- Get arbitration feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_async_event.2 b/doc/man/nvme_get_features_async_event.2 index 9aaabc7..666003b 100644 --- a/doc/man/nvme_get_features_async_event.2 +++ b/doc/man/nvme_get_features_async_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_async_event" 9 "nvme_get_features_async_event" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_async_event" 9 "nvme_get_features_async_event" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_async_event \- Get asynchronous event feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_auto_pst.2 b/doc/man/nvme_get_features_auto_pst.2 index ae18f36..201dffe 100644 --- a/doc/man/nvme_get_features_auto_pst.2 +++ b/doc/man/nvme_get_features_auto_pst.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_auto_pst" 9 "nvme_get_features_auto_pst" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_auto_pst" 9 "nvme_get_features_auto_pst" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_auto_pst \- Get autonomous power state feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_data.2 b/doc/man/nvme_get_features_data.2 index e026c12..41d4cbc 100644 --- a/doc/man/nvme_get_features_data.2 +++ b/doc/man/nvme_get_features_data.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_data" 9 "nvme_get_features_data" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_data" 9 "nvme_get_features_data" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_data \- Helper function for @nvme_get_features() .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_endurance_event_cfg.2 b/doc/man/nvme_get_features_endurance_event_cfg.2 index 00f816b..ab410c2 100644 --- a/doc/man/nvme_get_features_endurance_event_cfg.2 +++ b/doc/man/nvme_get_features_endurance_event_cfg.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_endurance_event_cfg" 9 "nvme_get_features_endurance_event_cfg" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_endurance_event_cfg" 9 "nvme_get_features_endurance_event_cfg" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_endurance_event_cfg \- Get endurance event config feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_err_recovery.2 b/doc/man/nvme_get_features_err_recovery.2 index 5c17851..b10f38c 100644 --- a/doc/man/nvme_get_features_err_recovery.2 +++ b/doc/man/nvme_get_features_err_recovery.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_err_recovery" 9 "nvme_get_features_err_recovery" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_err_recovery" 9 "nvme_get_features_err_recovery" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_err_recovery \- Get error recovery feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_err_recovery2.2 b/doc/man/nvme_get_features_err_recovery2.2 index a5852d0..5028e1f 100644 --- a/doc/man/nvme_get_features_err_recovery2.2 +++ b/doc/man/nvme_get_features_err_recovery2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_err_recovery2" 9 "nvme_get_features_err_recovery2" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_err_recovery2" 9 "nvme_get_features_err_recovery2" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_err_recovery2 \- Get error recovery feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_hctm.2 b/doc/man/nvme_get_features_hctm.2 index fb9ffdf..6fd6bdb 100644 --- a/doc/man/nvme_get_features_hctm.2 +++ b/doc/man/nvme_get_features_hctm.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_hctm" 9 "nvme_get_features_hctm" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_hctm" 9 "nvme_get_features_hctm" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_hctm \- Get thermal management feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_host_behavior.2 b/doc/man/nvme_get_features_host_behavior.2 index 6cf3ece..8ec0a63 100644 --- a/doc/man/nvme_get_features_host_behavior.2 +++ b/doc/man/nvme_get_features_host_behavior.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_host_behavior" 9 "nvme_get_features_host_behavior" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_behavior" 9 "nvme_get_features_host_behavior" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_host_behavior \- Get host behavior feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_host_id.2 b/doc/man/nvme_get_features_host_id.2 index d9ba9a6..89b1d87 100644 --- a/doc/man/nvme_get_features_host_id.2 +++ b/doc/man/nvme_get_features_host_id.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_host_id" 9 "nvme_get_features_host_id" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_id" 9 "nvme_get_features_host_id" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_host_id \- Get host id feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_host_mem_buf.2 b/doc/man/nvme_get_features_host_mem_buf.2 index 1e6d636..3be5a1d 100644 --- a/doc/man/nvme_get_features_host_mem_buf.2 +++ b/doc/man/nvme_get_features_host_mem_buf.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_host_mem_buf" 9 "nvme_get_features_host_mem_buf" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_mem_buf" 9 "nvme_get_features_host_mem_buf" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_host_mem_buf \- Get host memory buffer feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_host_mem_buf2.2 b/doc/man/nvme_get_features_host_mem_buf2.2 index 44ffb0b..fd4dfdd 100644 --- a/doc/man/nvme_get_features_host_mem_buf2.2 +++ b/doc/man/nvme_get_features_host_mem_buf2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_host_mem_buf2" 9 "nvme_get_features_host_mem_buf2" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_host_mem_buf2" 9 "nvme_get_features_host_mem_buf2" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_host_mem_buf2 \- Get host memory buffer feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_iocs_profile.2 b/doc/man/nvme_get_features_iocs_profile.2 index 833193e..d9859e3 100644 --- a/doc/man/nvme_get_features_iocs_profile.2 +++ b/doc/man/nvme_get_features_iocs_profile.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_iocs_profile" 9 "nvme_get_features_iocs_profile" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_iocs_profile" 9 "nvme_get_features_iocs_profile" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_iocs_profile \- Get IOCS profile feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_irq_coalesce.2 b/doc/man/nvme_get_features_irq_coalesce.2 index ff97992..092fb48 100644 --- a/doc/man/nvme_get_features_irq_coalesce.2 +++ b/doc/man/nvme_get_features_irq_coalesce.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_irq_coalesce" 9 "nvme_get_features_irq_coalesce" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_irq_coalesce" 9 "nvme_get_features_irq_coalesce" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_irq_coalesce \- Get IRQ coalesce feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_irq_config.2 b/doc/man/nvme_get_features_irq_config.2 index 4ec8b8b..1a4e160 100644 --- a/doc/man/nvme_get_features_irq_config.2 +++ b/doc/man/nvme_get_features_irq_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_irq_config" 9 "nvme_get_features_irq_config" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_irq_config" 9 "nvme_get_features_irq_config" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_irq_config \- Get IRQ config feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_kato.2 b/doc/man/nvme_get_features_kato.2 index 1c61edf..6d94148 100644 --- a/doc/man/nvme_get_features_kato.2 +++ b/doc/man/nvme_get_features_kato.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_kato" 9 "nvme_get_features_kato" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_kato" 9 "nvme_get_features_kato" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_kato \- Get keep alive timeout feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_lba_range.2 b/doc/man/nvme_get_features_lba_range.2 index 1d84e62..72180c6 100644 --- a/doc/man/nvme_get_features_lba_range.2 +++ b/doc/man/nvme_get_features_lba_range.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_lba_range" 9 "nvme_get_features_lba_range" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_range" 9 "nvme_get_features_lba_range" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_lba_range \- Get LBA range feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_lba_range2.2 b/doc/man/nvme_get_features_lba_range2.2 index 6408a10..f3bfaf5 100644 --- a/doc/man/nvme_get_features_lba_range2.2 +++ b/doc/man/nvme_get_features_lba_range2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_lba_range2" 9 "nvme_get_features_lba_range2" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_range2" 9 "nvme_get_features_lba_range2" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_lba_range2 \- Get LBA range feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_lba_sts_interval.2 b/doc/man/nvme_get_features_lba_sts_interval.2 index 3c3b9dc..8f85b55 100644 --- a/doc/man/nvme_get_features_lba_sts_interval.2 +++ b/doc/man/nvme_get_features_lba_sts_interval.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_lba_sts_interval" 9 "nvme_get_features_lba_sts_interval" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_lba_sts_interval" 9 "nvme_get_features_lba_sts_interval" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_lba_sts_interval \- Get LBA status information feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_nopsc.2 b/doc/man/nvme_get_features_nopsc.2 index e3aa014..769f1b5 100644 --- a/doc/man/nvme_get_features_nopsc.2 +++ b/doc/man/nvme_get_features_nopsc.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_nopsc" 9 "nvme_get_features_nopsc" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_nopsc" 9 "nvme_get_features_nopsc" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_nopsc \- Get non-operational power state feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_num_queues.2 b/doc/man/nvme_get_features_num_queues.2 index 310bac5..2e55bf4 100644 --- a/doc/man/nvme_get_features_num_queues.2 +++ b/doc/man/nvme_get_features_num_queues.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_num_queues" 9 "nvme_get_features_num_queues" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_num_queues" 9 "nvme_get_features_num_queues" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_num_queues \- Get number of queues feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_plm_config.2 b/doc/man/nvme_get_features_plm_config.2 index 45a7b16..1b0e0b0 100644 --- a/doc/man/nvme_get_features_plm_config.2 +++ b/doc/man/nvme_get_features_plm_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_plm_config" 9 "nvme_get_features_plm_config" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_plm_config" 9 "nvme_get_features_plm_config" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_plm_config \- Get predictable latency feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_plm_window.2 b/doc/man/nvme_get_features_plm_window.2 index 5a4ffe1..8459877 100644 --- a/doc/man/nvme_get_features_plm_window.2 +++ b/doc/man/nvme_get_features_plm_window.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_plm_window" 9 "nvme_get_features_plm_window" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_plm_window" 9 "nvme_get_features_plm_window" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_plm_window \- Get window select feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_power_mgmt.2 b/doc/man/nvme_get_features_power_mgmt.2 index 5f36237..8498b68 100644 --- a/doc/man/nvme_get_features_power_mgmt.2 +++ b/doc/man/nvme_get_features_power_mgmt.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_power_mgmt" 9 "nvme_get_features_power_mgmt" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_power_mgmt" 9 "nvme_get_features_power_mgmt" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_power_mgmt \- Get power management feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_resv_mask.2 b/doc/man/nvme_get_features_resv_mask.2 index 287dcd8..1619025 100644 --- a/doc/man/nvme_get_features_resv_mask.2 +++ b/doc/man/nvme_get_features_resv_mask.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_resv_mask" 9 "nvme_get_features_resv_mask" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_mask" 9 "nvme_get_features_resv_mask" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_resv_mask \- Get reservation mask feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_resv_mask2.2 b/doc/man/nvme_get_features_resv_mask2.2 index 13e00ee..587cad5 100644 --- a/doc/man/nvme_get_features_resv_mask2.2 +++ b/doc/man/nvme_get_features_resv_mask2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_resv_mask2" 9 "nvme_get_features_resv_mask2" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_mask2" 9 "nvme_get_features_resv_mask2" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_resv_mask2 \- Get reservation mask feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_resv_persist.2 b/doc/man/nvme_get_features_resv_persist.2 index ec70e75..e1e8760 100644 --- a/doc/man/nvme_get_features_resv_persist.2 +++ b/doc/man/nvme_get_features_resv_persist.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_resv_persist" 9 "nvme_get_features_resv_persist" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_persist" 9 "nvme_get_features_resv_persist" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_resv_persist \- Get reservation persist feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_resv_persist2.2 b/doc/man/nvme_get_features_resv_persist2.2 index 6ad7bae..daf0a74 100644 --- a/doc/man/nvme_get_features_resv_persist2.2 +++ b/doc/man/nvme_get_features_resv_persist2.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_resv_persist2" 9 "nvme_get_features_resv_persist2" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_resv_persist2" 9 "nvme_get_features_resv_persist2" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_resv_persist2 \- Get reservation persist feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_rrl.2 b/doc/man/nvme_get_features_rrl.2 index 61721b5..50a61f2 100644 --- a/doc/man/nvme_get_features_rrl.2 +++ b/doc/man/nvme_get_features_rrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_rrl" 9 "nvme_get_features_rrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_rrl" 9 "nvme_get_features_rrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_rrl \- Get read recovery level feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_sanitize.2 b/doc/man/nvme_get_features_sanitize.2 index 9a3bebe..c91ca8c 100644 --- a/doc/man/nvme_get_features_sanitize.2 +++ b/doc/man/nvme_get_features_sanitize.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_sanitize" 9 "nvme_get_features_sanitize" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_sanitize" 9 "nvme_get_features_sanitize" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_sanitize \- Get sanitize feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_sel.2 b/doc/man/nvme_get_features_sel.2 index 7919533..4602108 100644 --- a/doc/man/nvme_get_features_sel.2 +++ b/doc/man/nvme_get_features_sel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_get_features_sel" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_get_features_sel" "August 2024" "API Manual" LINUX .SH NAME enum nvme_get_features_sel \- Get Features - Select .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_simple.2 b/doc/man/nvme_get_features_simple.2 index 88d79b9..5e09b9f 100644 --- a/doc/man/nvme_get_features_simple.2 +++ b/doc/man/nvme_get_features_simple.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_simple" 9 "nvme_get_features_simple" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_simple" 9 "nvme_get_features_simple" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_simple \- Helper function for @nvme_get_features() .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_sw_progress.2 b/doc/man/nvme_get_features_sw_progress.2 index 7e5e00a..be32cd9 100644 --- a/doc/man/nvme_get_features_sw_progress.2 +++ b/doc/man/nvme_get_features_sw_progress.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_sw_progress" 9 "nvme_get_features_sw_progress" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_sw_progress" 9 "nvme_get_features_sw_progress" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_sw_progress \- Get software progress feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_temp_thresh.2 b/doc/man/nvme_get_features_temp_thresh.2 index 7056ce1..08ef09b 100644 --- a/doc/man/nvme_get_features_temp_thresh.2 +++ b/doc/man/nvme_get_features_temp_thresh.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_temp_thresh" 9 "nvme_get_features_temp_thresh" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_temp_thresh" 9 "nvme_get_features_temp_thresh" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_temp_thresh \- Get temperature threshold feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_timestamp.2 b/doc/man/nvme_get_features_timestamp.2 index 4e1b866..a31aab5 100644 --- a/doc/man/nvme_get_features_timestamp.2 +++ b/doc/man/nvme_get_features_timestamp.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_timestamp" 9 "nvme_get_features_timestamp" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_timestamp" 9 "nvme_get_features_timestamp" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_timestamp \- Get timestamp feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_volatile_wc.2 b/doc/man/nvme_get_features_volatile_wc.2 index e3101d0..c7e5c93 100644 --- a/doc/man/nvme_get_features_volatile_wc.2 +++ b/doc/man/nvme_get_features_volatile_wc.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_volatile_wc" 9 "nvme_get_features_volatile_wc" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_volatile_wc" 9 "nvme_get_features_volatile_wc" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_volatile_wc \- Get volatile write cache feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_write_atomic.2 b/doc/man/nvme_get_features_write_atomic.2 index 2b27921..658d5ac 100644 --- a/doc/man/nvme_get_features_write_atomic.2 +++ b/doc/man/nvme_get_features_write_atomic.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_write_atomic" 9 "nvme_get_features_write_atomic" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_write_atomic" 9 "nvme_get_features_write_atomic" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_write_atomic \- Get write atomic feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_features_write_protect.2 b/doc/man/nvme_get_features_write_protect.2 index 17d6bb5..e8e3a9d 100644 --- a/doc/man/nvme_get_features_write_protect.2 +++ b/doc/man/nvme_get_features_write_protect.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_features_write_protect" 9 "nvme_get_features_write_protect" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_features_write_protect" 9 "nvme_get_features_write_protect" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_features_write_protect \- Get write protect feature .SH SYNOPSIS diff --git a/doc/man/nvme_get_host_telemetry.2 b/doc/man/nvme_get_host_telemetry.2 index 81f5a27..f9c0801 100644 --- a/doc/man/nvme_get_host_telemetry.2 +++ b/doc/man/nvme_get_host_telemetry.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_host_telemetry" 9 "nvme_get_host_telemetry" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_host_telemetry" 9 "nvme_get_host_telemetry" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_host_telemetry \- Get host telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_lba_status.2 b/doc/man/nvme_get_lba_status.2 index 8b6be5f..d43e3b3 100644 --- a/doc/man/nvme_get_lba_status.2 +++ b/doc/man/nvme_get_lba_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_lba_status" 9 "nvme_get_lba_status" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_lba_status" 9 "nvme_get_lba_status" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_lba_status \- Retrieve information on possibly unrecoverable LBAs .SH SYNOPSIS diff --git a/doc/man/nvme_get_lba_status_log.2 b/doc/man/nvme_get_lba_status_log.2 index bef70d1..646904a 100644 --- a/doc/man/nvme_get_lba_status_log.2 +++ b/doc/man/nvme_get_lba_status_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_lba_status_log" 9 "nvme_get_lba_status_log" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_lba_status_log" 9 "nvme_get_lba_status_log" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_lba_status_log \- Retrieve the LBA Status log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log.2 b/doc/man/nvme_get_log.2 index f227a5a..10dc7ff 100644 --- a/doc/man/nvme_get_log.2 +++ b/doc/man/nvme_get_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log" 9 "nvme_get_log" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log" 9 "nvme_get_log" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log \- NVMe Admin Get Log command .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_ana.2 b/doc/man/nvme_get_log_ana.2 index f0b252b..8774297 100644 --- a/doc/man/nvme_get_log_ana.2 +++ b/doc/man/nvme_get_log_ana.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_ana" 9 "nvme_get_log_ana" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_ana" 9 "nvme_get_log_ana" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_ana \- Retrieve Asymmetric Namespace Access log page .SH SYNOPSIS @@ -27,7 +27,7 @@ This log consists of a header describing the log and descriptors containing the asymmetric namespace access information for ANA Groups that contain namespaces that are attached to the controller processing the command. -See \fIstruct nvme_ana_rsp_hdr\fP for the definition of the returned structure. +See \fIstruct nvme_ana_log\fP for the definition of the returned structure. .SH "RETURN" The nvme command status if a response was received (see \fIenum nvme_status_field\fP) or -1 with errno set otherwise. diff --git a/doc/man/nvme_get_log_ana_groups.2 b/doc/man/nvme_get_log_ana_groups.2 index 5b957a1..7a4f3f7 100644 --- a/doc/man/nvme_get_log_ana_groups.2 +++ b/doc/man/nvme_get_log_ana_groups.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_ana_groups" 9 "nvme_get_log_ana_groups" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_ana_groups" 9 "nvme_get_log_ana_groups" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_ana_groups \- Retrieve Asymmetric Namespace Access groups only log page .SH SYNOPSIS @@ -6,7 +6,7 @@ nvme_get_log_ana_groups \- Retrieve Asymmetric Namespace Access groups only log .BI "(int fd " "," .BI "bool rae " "," .BI "__u32 len " "," -.BI "struct nvme_ana_group_desc *log " ");" +.BI "struct nvme_ana_log *log " ");" .SH ARGUMENTS .IP "fd" 12 File descriptor of nvme device @@ -17,7 +17,7 @@ The allocated length of the log page .IP "log" 12 User address to store the ana group log .SH "DESCRIPTION" -See \fIstruct nvme_ana_group_desc\fP for the definition of the returned structure. +See \fIstruct nvme_ana_log\fP for the definition of the returned structure. .SH "RETURN" The nvme command status if a response was received (see \fIenum nvme_status_field\fP) or -1 with errno set otherwise. diff --git a/doc/man/nvme_get_log_boot_partition.2 b/doc/man/nvme_get_log_boot_partition.2 index 5f6530f..ceb4a06 100644 --- a/doc/man/nvme_get_log_boot_partition.2 +++ b/doc/man/nvme_get_log_boot_partition.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_boot_partition" 9 "nvme_get_log_boot_partition" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_boot_partition" 9 "nvme_get_log_boot_partition" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_boot_partition \- Retrieve Boot Partition .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_changed_ns_list.2 b/doc/man/nvme_get_log_changed_ns_list.2 index 1a92b54..29e9cfc 100644 --- a/doc/man/nvme_get_log_changed_ns_list.2 +++ b/doc/man/nvme_get_log_changed_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_changed_ns_list" 9 "nvme_get_log_changed_ns_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_changed_ns_list" 9 "nvme_get_log_changed_ns_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_changed_ns_list \- Retrieve namespace changed list .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_cmd_effects.2 b/doc/man/nvme_get_log_cmd_effects.2 index 7311bcc..73b165b 100644 --- a/doc/man/nvme_get_log_cmd_effects.2 +++ b/doc/man/nvme_get_log_cmd_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_cmd_effects" 9 "nvme_get_log_cmd_effects" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_cmd_effects" 9 "nvme_get_log_cmd_effects" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_cmd_effects \- Retrieve nvme command effects log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_create_telemetry_host.2 b/doc/man/nvme_get_log_create_telemetry_host.2 index d8ab234..c51a805 100644 --- a/doc/man/nvme_get_log_create_telemetry_host.2 +++ b/doc/man/nvme_get_log_create_telemetry_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_create_telemetry_host" 9 "nvme_get_log_create_telemetry_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_create_telemetry_host" 9 "nvme_get_log_create_telemetry_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_create_telemetry_host \- Create host telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_device_self_test.2 b/doc/man/nvme_get_log_device_self_test.2 index b6d43aa..24403d5 100644 --- a/doc/man/nvme_get_log_device_self_test.2 +++ b/doc/man/nvme_get_log_device_self_test.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_device_self_test" 9 "nvme_get_log_device_self_test" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_device_self_test" 9 "nvme_get_log_device_self_test" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_device_self_test \- Retrieve the device self test log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_discovery.2 b/doc/man/nvme_get_log_discovery.2 index ae2a511..b7019c2 100644 --- a/doc/man/nvme_get_log_discovery.2 +++ b/doc/man/nvme_get_log_discovery.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_discovery" 9 "nvme_get_log_discovery" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_discovery" 9 "nvme_get_log_discovery" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_discovery \- Retrieve Discovery log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_endurance_group.2 b/doc/man/nvme_get_log_endurance_group.2 index 9e6cc21..d242e2d 100644 --- a/doc/man/nvme_get_log_endurance_group.2 +++ b/doc/man/nvme_get_log_endurance_group.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_endurance_group" 9 "nvme_get_log_endurance_group" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_endurance_group" 9 "nvme_get_log_endurance_group" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_endurance_group \- Get Endurance Group log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_endurance_grp_evt.2 b/doc/man/nvme_get_log_endurance_grp_evt.2 index c9a07ce..55b6e5a 100644 --- a/doc/man/nvme_get_log_endurance_grp_evt.2 +++ b/doc/man/nvme_get_log_endurance_grp_evt.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_endurance_grp_evt" 9 "nvme_get_log_endurance_grp_evt" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_endurance_grp_evt" 9 "nvme_get_log_endurance_grp_evt" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_endurance_grp_evt \- Retrieve Rotational Media Information .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_error.2 b/doc/man/nvme_get_log_error.2 index 4d30ce6..f4a7f9f 100644 --- a/doc/man/nvme_get_log_error.2 +++ b/doc/man/nvme_get_log_error.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_error" 9 "nvme_get_log_error" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_error" 9 "nvme_get_log_error" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_error \- Retrieve nvme error log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fdp_configurations.2 b/doc/man/nvme_get_log_fdp_configurations.2 index 5968243..0dcf563 100644 --- a/doc/man/nvme_get_log_fdp_configurations.2 +++ b/doc/man/nvme_get_log_fdp_configurations.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fdp_configurations" 9 "nvme_get_log_fdp_configurations" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_configurations" 9 "nvme_get_log_fdp_configurations" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fdp_configurations \- Get list of Flexible Data Placement configurations .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fdp_events.2 b/doc/man/nvme_get_log_fdp_events.2 index 87b239a..648e227 100644 --- a/doc/man/nvme_get_log_fdp_events.2 +++ b/doc/man/nvme_get_log_fdp_events.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fdp_events" 9 "nvme_get_log_fdp_events" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_events" 9 "nvme_get_log_fdp_events" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fdp_events \- Get Flexible Data Placement events .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fdp_stats.2 b/doc/man/nvme_get_log_fdp_stats.2 index c57a193..3d014ce 100644 --- a/doc/man/nvme_get_log_fdp_stats.2 +++ b/doc/man/nvme_get_log_fdp_stats.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fdp_stats" 9 "nvme_get_log_fdp_stats" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fdp_stats" 9 "nvme_get_log_fdp_stats" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fdp_stats \- Get Flexible Data Placement statistics .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fid_supported_effects.2 b/doc/man/nvme_get_log_fid_supported_effects.2 index f9ecf4f..8cc0e55 100644 --- a/doc/man/nvme_get_log_fid_supported_effects.2 +++ b/doc/man/nvme_get_log_fid_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fid_supported_effects" 9 "nvme_get_log_fid_supported_effects" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fid_supported_effects" 9 "nvme_get_log_fid_supported_effects" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fid_supported_effects \- Retrieve Feature Identifiers Supported and Effects .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_fw_slot.2 b/doc/man/nvme_get_log_fw_slot.2 index 2570dc9..45119ef 100644 --- a/doc/man/nvme_get_log_fw_slot.2 +++ b/doc/man/nvme_get_log_fw_slot.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_fw_slot" 9 "nvme_get_log_fw_slot" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_fw_slot" 9 "nvme_get_log_fw_slot" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_fw_slot \- Retrieves the controller firmware log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_lba_status.2 b/doc/man/nvme_get_log_lba_status.2 index bf62e8e..c32a91b 100644 --- a/doc/man/nvme_get_log_lba_status.2 +++ b/doc/man/nvme_get_log_lba_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_lba_status" 9 "nvme_get_log_lba_status" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_lba_status" 9 "nvme_get_log_lba_status" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_lba_status \- Retrieve LBA Status .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_media_unit_stat.2 b/doc/man/nvme_get_log_media_unit_stat.2 index f166926..a0c4eca 100644 --- a/doc/man/nvme_get_log_media_unit_stat.2 +++ b/doc/man/nvme_get_log_media_unit_stat.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_media_unit_stat" 9 "nvme_get_log_media_unit_stat" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_media_unit_stat" 9 "nvme_get_log_media_unit_stat" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_media_unit_stat \- Retrieve Media Unit Status .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_mi_cmd_supported_effects.2 b/doc/man/nvme_get_log_mi_cmd_supported_effects.2 index 82b74e5..15327a4 100644 --- a/doc/man/nvme_get_log_mi_cmd_supported_effects.2 +++ b/doc/man/nvme_get_log_mi_cmd_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_mi_cmd_supported_effects" 9 "nvme_get_log_mi_cmd_supported_effects" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_mi_cmd_supported_effects" 9 "nvme_get_log_mi_cmd_supported_effects" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_mi_cmd_supported_effects \- displays the MI Commands Supported by the controller .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_page.2 b/doc/man/nvme_get_log_page.2 index ed047aa..98a7844 100644 --- a/doc/man/nvme_get_log_page.2 +++ b/doc/man/nvme_get_log_page.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_page" 9 "nvme_get_log_page" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_page" 9 "nvme_get_log_page" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_page \- Get log page data .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_persistent_event.2 b/doc/man/nvme_get_log_persistent_event.2 index 5813e8f..fcc3f63 100644 --- a/doc/man/nvme_get_log_persistent_event.2 +++ b/doc/man/nvme_get_log_persistent_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_persistent_event" 9 "nvme_get_log_persistent_event" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_persistent_event" 9 "nvme_get_log_persistent_event" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_persistent_event \- Retrieve Persistent Event Log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_phy_rx_eom.2 b/doc/man/nvme_get_log_phy_rx_eom.2 index 53638f3..f07c1d1 100644 --- a/doc/man/nvme_get_log_phy_rx_eom.2 +++ b/doc/man/nvme_get_log_phy_rx_eom.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_phy_rx_eom" 9 "nvme_get_log_phy_rx_eom" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_phy_rx_eom" 9 "nvme_get_log_phy_rx_eom" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_phy_rx_eom \- Retrieve Physical Interface Receiver Eye Opening Measurement Log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_predictable_lat_event.2 b/doc/man/nvme_get_log_predictable_lat_event.2 index aa137e9..6e94afa 100644 --- a/doc/man/nvme_get_log_predictable_lat_event.2 +++ b/doc/man/nvme_get_log_predictable_lat_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_predictable_lat_event" 9 "nvme_get_log_predictable_lat_event" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_predictable_lat_event" 9 "nvme_get_log_predictable_lat_event" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_predictable_lat_event \- Retrieve Predictable Latency Event Aggregate Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_predictable_lat_nvmset.2 b/doc/man/nvme_get_log_predictable_lat_nvmset.2 index a430378..ee3f240 100644 --- a/doc/man/nvme_get_log_predictable_lat_nvmset.2 +++ b/doc/man/nvme_get_log_predictable_lat_nvmset.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_predictable_lat_nvmset" 9 "nvme_get_log_predictable_lat_nvmset" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_predictable_lat_nvmset" 9 "nvme_get_log_predictable_lat_nvmset" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_predictable_lat_nvmset \- Predictable Latency Per NVM Set .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 b/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 index 655bd58..5fb1ab9 100644 --- a/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 +++ b/doc/man/nvme_get_log_reclaim_unit_handle_usage.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_reclaim_unit_handle_usage" 9 "nvme_get_log_reclaim_unit_handle_usage" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_reclaim_unit_handle_usage" 9 "nvme_get_log_reclaim_unit_handle_usage" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_reclaim_unit_handle_usage \- Get reclaim unit handle usage .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_reservation.2 b/doc/man/nvme_get_log_reservation.2 index 5967bc9..b3f446d 100644 --- a/doc/man/nvme_get_log_reservation.2 +++ b/doc/man/nvme_get_log_reservation.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_reservation" 9 "nvme_get_log_reservation" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_reservation" 9 "nvme_get_log_reservation" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_reservation \- Retrieve Reservation Notification .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_sanitize.2 b/doc/man/nvme_get_log_sanitize.2 index a0ed114..fb9aea8 100644 --- a/doc/man/nvme_get_log_sanitize.2 +++ b/doc/man/nvme_get_log_sanitize.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_sanitize" 9 "nvme_get_log_sanitize" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_sanitize" 9 "nvme_get_log_sanitize" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_sanitize \- Retrieve Sanitize Status .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_smart.2 b/doc/man/nvme_get_log_smart.2 index c530c33..f7aebaf 100644 --- a/doc/man/nvme_get_log_smart.2 +++ b/doc/man/nvme_get_log_smart.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_smart" 9 "nvme_get_log_smart" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_smart" 9 "nvme_get_log_smart" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_smart \- Retrieve nvme smart log .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_support_cap_config_list.2 b/doc/man/nvme_get_log_support_cap_config_list.2 index 8f16c23..5b67ad7 100644 --- a/doc/man/nvme_get_log_support_cap_config_list.2 +++ b/doc/man/nvme_get_log_support_cap_config_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_support_cap_config_list" 9 "nvme_get_log_support_cap_config_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_support_cap_config_list" 9 "nvme_get_log_support_cap_config_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_support_cap_config_list \- Retrieve Supported Capacity Configuration List .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_supported_log_pages.2 b/doc/man/nvme_get_log_supported_log_pages.2 index 4a05749..ba6e580 100644 --- a/doc/man/nvme_get_log_supported_log_pages.2 +++ b/doc/man/nvme_get_log_supported_log_pages.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_supported_log_pages" 9 "nvme_get_log_supported_log_pages" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_supported_log_pages" 9 "nvme_get_log_supported_log_pages" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_supported_log_pages \- Retrieve nmve supported log pages .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_telemetry_ctrl.2 b/doc/man/nvme_get_log_telemetry_ctrl.2 index 5b7dff7..75798ce 100644 --- a/doc/man/nvme_get_log_telemetry_ctrl.2 +++ b/doc/man/nvme_get_log_telemetry_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_telemetry_ctrl" 9 "nvme_get_log_telemetry_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_telemetry_ctrl" 9 "nvme_get_log_telemetry_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_telemetry_ctrl \- Get Telemetry Controller-Initiated log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_telemetry_host.2 b/doc/man/nvme_get_log_telemetry_host.2 index 6b95b6c..d6ff3e3 100644 --- a/doc/man/nvme_get_log_telemetry_host.2 +++ b/doc/man/nvme_get_log_telemetry_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_telemetry_host" 9 "nvme_get_log_telemetry_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_telemetry_host" 9 "nvme_get_log_telemetry_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_telemetry_host \- Get Telemetry Host-Initiated log page .SH SYNOPSIS diff --git a/doc/man/nvme_get_log_zns_changed_zones.2 b/doc/man/nvme_get_log_zns_changed_zones.2 index 95118d9..7a80572 100644 --- a/doc/man/nvme_get_log_zns_changed_zones.2 +++ b/doc/man/nvme_get_log_zns_changed_zones.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_log_zns_changed_zones" 9 "nvme_get_log_zns_changed_zones" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_log_zns_changed_zones" 9 "nvme_get_log_zns_changed_zones" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_log_zns_changed_zones \- Retrieve list of zones that have changed .SH SYNOPSIS diff --git a/doc/man/nvme_get_logging_level.2 b/doc/man/nvme_get_logging_level.2 index b2866af..7e0fdc1 100644 --- a/doc/man/nvme_get_logging_level.2 +++ b/doc/man/nvme_get_logging_level.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_logging_level" 9 "nvme_get_logging_level" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_logging_level" 9 "nvme_get_logging_level" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_logging_level \- Get current logging level .SH SYNOPSIS diff --git a/doc/man/nvme_get_logical_block_size.2 b/doc/man/nvme_get_logical_block_size.2 index 9738aed..9623b68 100644 --- a/doc/man/nvme_get_logical_block_size.2 +++ b/doc/man/nvme_get_logical_block_size.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_logical_block_size" 9 "nvme_get_logical_block_size" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_logical_block_size" 9 "nvme_get_logical_block_size" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_logical_block_size \- Retrieve block size .SH SYNOPSIS diff --git a/doc/man/nvme_get_new_host_telemetry.2 b/doc/man/nvme_get_new_host_telemetry.2 index d7f6c74..bd69b7f 100644 --- a/doc/man/nvme_get_new_host_telemetry.2 +++ b/doc/man/nvme_get_new_host_telemetry.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_new_host_telemetry" 9 "nvme_get_new_host_telemetry" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_new_host_telemetry" 9 "nvme_get_new_host_telemetry" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_new_host_telemetry \- Get new host telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_ns_attr.2 b/doc/man/nvme_get_ns_attr.2 index ebea7d6..6c15636 100644 --- a/doc/man/nvme_get_ns_attr.2 +++ b/doc/man/nvme_get_ns_attr.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_ns_attr" 9 "nvme_get_ns_attr" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_ns_attr" 9 "nvme_get_ns_attr" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_ns_attr \- Read namespace sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_nsid.2 b/doc/man/nvme_get_nsid.2 index 4e1922b..4aa9618 100644 --- a/doc/man/nvme_get_nsid.2 +++ b/doc/man/nvme_get_nsid.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_nsid" 9 "nvme_get_nsid" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_nsid" 9 "nvme_get_nsid" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_nsid \- Retrieve the NSID from a namespace file descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_get_path_attr.2 b/doc/man/nvme_get_path_attr.2 index f5bdb3d..f57464d 100644 --- a/doc/man/nvme_get_path_attr.2 +++ b/doc/man/nvme_get_path_attr.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_path_attr" 9 "nvme_get_path_attr" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_path_attr" 9 "nvme_get_path_attr" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_path_attr \- Read path sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_property.2 b/doc/man/nvme_get_property.2 index 49bdf63..e12fa51 100644 --- a/doc/man/nvme_get_property.2 +++ b/doc/man/nvme_get_property.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_property" 9 "nvme_get_property" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_property" 9 "nvme_get_property" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_property \- Get a controller property .SH SYNOPSIS diff --git a/doc/man/nvme_get_subsys_attr.2 b/doc/man/nvme_get_subsys_attr.2 index b9b2031..f69eba6 100644 --- a/doc/man/nvme_get_subsys_attr.2 +++ b/doc/man/nvme_get_subsys_attr.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_subsys_attr" 9 "nvme_get_subsys_attr" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_subsys_attr" 9 "nvme_get_subsys_attr" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_subsys_attr \- Read subsystem sysfs attribute .SH SYNOPSIS diff --git a/doc/man/nvme_get_telemetry_log.2 b/doc/man/nvme_get_telemetry_log.2 index 1ecf5e3..6e98430 100644 --- a/doc/man/nvme_get_telemetry_log.2 +++ b/doc/man/nvme_get_telemetry_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_telemetry_log" 9 "nvme_get_telemetry_log" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_telemetry_log" 9 "nvme_get_telemetry_log" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_telemetry_log \- Get specified telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_get_telemetry_max.2 b/doc/man/nvme_get_telemetry_max.2 index c742cf3..4915d7e 100644 --- a/doc/man/nvme_get_telemetry_max.2 +++ b/doc/man/nvme_get_telemetry_max.2 @@ -1,4 +1,4 @@ -.TH "nvme_get_telemetry_max" 9 "nvme_get_telemetry_max" "May 2024" "libnvme API manual" LINUX +.TH "nvme_get_telemetry_max" 9 "nvme_get_telemetry_max" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_get_telemetry_max \- Get telemetry limits .SH SYNOPSIS diff --git a/doc/man/nvme_hmac_alg.2 b/doc/man/nvme_hmac_alg.2 index 57a4fe9..1497c52 100644 --- a/doc/man/nvme_hmac_alg.2 +++ b/doc/man/nvme_hmac_alg.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_hmac_alg" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_hmac_alg" "August 2024" "API Manual" LINUX .SH NAME enum nvme_hmac_alg \- HMAC algorithm .SH SYNOPSIS diff --git a/doc/man/nvme_host_behavior_support.2 b/doc/man/nvme_host_behavior_support.2 index 4b3aad8..a6f6744 100644 --- a/doc/man/nvme_host_behavior_support.2 +++ b/doc/man/nvme_host_behavior_support.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_host_behavior_support" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_host_behavior_support" "August 2024" "API Manual" LINUX .SH NAME enum nvme_host_behavior_support \- Enable Advanced Command .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_dhchap_key.2 b/doc/man/nvme_host_get_dhchap_key.2 index 804c747..48807c8 100644 --- a/doc/man/nvme_host_get_dhchap_key.2 +++ b/doc/man/nvme_host_get_dhchap_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_get_dhchap_key" 9 "nvme_host_get_dhchap_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_dhchap_key" 9 "nvme_host_get_dhchap_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_dhchap_key \- Return host key .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_hostid.2 b/doc/man/nvme_host_get_hostid.2 index 39123e7..e503a32 100644 --- a/doc/man/nvme_host_get_hostid.2 +++ b/doc/man/nvme_host_get_hostid.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_get_hostid" 9 "nvme_host_get_hostid" "May 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_hostid" 9 "nvme_host_get_hostid" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_hostid \- Host ID of an nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_hostnqn.2 b/doc/man/nvme_host_get_hostnqn.2 index 93dfabb..12f90a4 100644 --- a/doc/man/nvme_host_get_hostnqn.2 +++ b/doc/man/nvme_host_get_hostnqn.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_get_hostnqn" 9 "nvme_host_get_hostnqn" "May 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_hostnqn" 9 "nvme_host_get_hostnqn" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_hostnqn \- Host NQN of an nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_hostsymname.2 b/doc/man/nvme_host_get_hostsymname.2 index 5bbe258..cbac4ee 100644 --- a/doc/man/nvme_host_get_hostsymname.2 +++ b/doc/man/nvme_host_get_hostsymname.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_get_hostsymname" 9 "nvme_host_get_hostsymname" "May 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_hostsymname" 9 "nvme_host_get_hostsymname" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_hostsymname \- Get the host's symbolic name .SH SYNOPSIS diff --git a/doc/man/nvme_host_get_root.2 b/doc/man/nvme_host_get_root.2 index 6b8b453..4ef1a41 100644 --- a/doc/man/nvme_host_get_root.2 +++ b/doc/man/nvme_host_get_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_get_root" 9 "nvme_host_get_root" "May 2024" "libnvme API manual" LINUX +.TH "nvme_host_get_root" 9 "nvme_host_get_root" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_host_get_root \- Returns nvme_root_t object .SH SYNOPSIS diff --git a/doc/man/nvme_host_is_pdc_enabled.2 b/doc/man/nvme_host_is_pdc_enabled.2 index 795710b..4a5c107 100644 --- a/doc/man/nvme_host_is_pdc_enabled.2 +++ b/doc/man/nvme_host_is_pdc_enabled.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_is_pdc_enabled" 9 "nvme_host_is_pdc_enabled" "May 2024" "libnvme API manual" LINUX +.TH "nvme_host_is_pdc_enabled" 9 "nvme_host_is_pdc_enabled" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_host_is_pdc_enabled \- Is Persistenct Discovery Controller enabled .SH SYNOPSIS diff --git a/doc/man/nvme_host_mem_buf_attrs.2 b/doc/man/nvme_host_mem_buf_attrs.2 index 580ec67..1a31943 100644 --- a/doc/man/nvme_host_mem_buf_attrs.2 +++ b/doc/man/nvme_host_mem_buf_attrs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_host_mem_buf_attrs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_host_mem_buf_attrs" "August 2024" "API Manual" LINUX .SH NAME struct nvme_host_mem_buf_attrs \- Host Memory Buffer - Attributes Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_host_metadata.2 b/doc/man/nvme_host_metadata.2 index 75725a2..d62395b 100644 --- a/doc/man/nvme_host_metadata.2 +++ b/doc/man/nvme_host_metadata.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_host_metadata" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_host_metadata" "August 2024" "API Manual" LINUX .SH NAME struct nvme_host_metadata \- Host Metadata Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_host_release_fds.2 b/doc/man/nvme_host_release_fds.2 index b32acf7..2359646 100644 --- a/doc/man/nvme_host_release_fds.2 +++ b/doc/man/nvme_host_release_fds.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_release_fds" 9 "nvme_host_release_fds" "May 2024" "libnvme API manual" LINUX +.TH "nvme_host_release_fds" 9 "nvme_host_release_fds" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_host_release_fds \- Close all opened file descriptors under host .SH SYNOPSIS diff --git a/doc/man/nvme_host_set_dhchap_key.2 b/doc/man/nvme_host_set_dhchap_key.2 index ea8d129..8e96d67 100644 --- a/doc/man/nvme_host_set_dhchap_key.2 +++ b/doc/man/nvme_host_set_dhchap_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_set_dhchap_key" 9 "nvme_host_set_dhchap_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_host_set_dhchap_key" 9 "nvme_host_set_dhchap_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_host_set_dhchap_key \- set host key .SH SYNOPSIS diff --git a/doc/man/nvme_host_set_hostsymname.2 b/doc/man/nvme_host_set_hostsymname.2 index a58fd13..210ee95 100644 --- a/doc/man/nvme_host_set_hostsymname.2 +++ b/doc/man/nvme_host_set_hostsymname.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_set_hostsymname" 9 "nvme_host_set_hostsymname" "May 2024" "libnvme API manual" LINUX +.TH "nvme_host_set_hostsymname" 9 "nvme_host_set_hostsymname" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_host_set_hostsymname \- Set the host's symbolic name .SH SYNOPSIS diff --git a/doc/man/nvme_host_set_pdc_enabled.2 b/doc/man/nvme_host_set_pdc_enabled.2 index b431ebc..cf539f4 100644 --- a/doc/man/nvme_host_set_pdc_enabled.2 +++ b/doc/man/nvme_host_set_pdc_enabled.2 @@ -1,4 +1,4 @@ -.TH "nvme_host_set_pdc_enabled" 9 "nvme_host_set_pdc_enabled" "May 2024" "libnvme API manual" LINUX +.TH "nvme_host_set_pdc_enabled" 9 "nvme_host_set_pdc_enabled" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_host_set_pdc_enabled \- Set Persistent Discovery Controller flag .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl.2 b/doc/man/nvme_id_ctrl.2 index 84c714f..cf30291 100644 --- a/doc/man/nvme_id_ctrl.2 +++ b/doc/man/nvme_id_ctrl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_ctrl" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ctrl" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_ctrl \- Identify Controller data structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_anacap.2 b/doc/man/nvme_id_ctrl_anacap.2 index b57f472..1d534d6 100644 --- a/doc/man/nvme_id_ctrl_anacap.2 +++ b/doc/man/nvme_id_ctrl_anacap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_anacap" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_anacap" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_anacap \- This field indicates the capabilities associated with Asymmetric Namespace Access Reporting. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_apsta.2 b/doc/man/nvme_id_ctrl_apsta.2 index 2f740ac..1f2a2c2 100644 --- a/doc/man/nvme_id_ctrl_apsta.2 +++ b/doc/man/nvme_id_ctrl_apsta.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_apsta" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_apsta" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_apsta \- Flags indicating the attributes of the autonomous power state transition feature. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_avscc.2 b/doc/man/nvme_id_ctrl_avscc.2 index 1135345..8eff34f 100644 --- a/doc/man/nvme_id_ctrl_avscc.2 +++ b/doc/man/nvme_id_ctrl_avscc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_avscc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_avscc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_avscc \- Flags indicating the configuration settings for Admin Vendor Specific command handling. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_cmic.2 b/doc/man/nvme_id_ctrl_cmic.2 index 67aef3f..f649b91 100644 --- a/doc/man/nvme_id_ctrl_cmic.2 +++ b/doc/man/nvme_id_ctrl_cmic.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_cmic" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cmic" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_cmic \- Controller Multipath IO and Namespace Sharing Capabilities of the controller and NVM subsystem. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_cntrltype.2 b/doc/man/nvme_id_ctrl_cntrltype.2 index 496d43c..e799f94 100644 --- a/doc/man/nvme_id_ctrl_cntrltype.2 +++ b/doc/man/nvme_id_ctrl_cntrltype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_cntrltype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cntrltype" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_cntrltype \- Controller types .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_cqes.2 b/doc/man/nvme_id_ctrl_cqes.2 index f8a8696..294cda4 100644 --- a/doc/man/nvme_id_ctrl_cqes.2 +++ b/doc/man/nvme_id_ctrl_cqes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_cqes" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_cqes" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_cqes \- Defines the required and maximum Completion Queue entry size when using the NVM Command Set. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_ctratt.2 b/doc/man/nvme_id_ctrl_ctratt.2 index 7426858..43dc5c9 100644 --- a/doc/man/nvme_id_ctrl_ctratt.2 +++ b/doc/man/nvme_id_ctrl_ctratt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_ctratt" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_ctratt" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_ctratt \- Controller attributes .SH SYNOPSIS @@ -68,6 +68,14 @@ enum nvme_id_ctrl_ctratt { , .br .br +.BI " NVME_CTRL_CTRATT_MEM" +, +.br +.br +.BI " NVME_CTRL_CTRATT_HMBR" +, +.br +.br .BI " NVME_CTRL_CTRATT_FDPS" }; @@ -106,5 +114,9 @@ Delete Endurance Groups supported Delete NVM Sets supported .IP "NVME_CTRL_CTRATT_ELBAS" 12 Extended LBA Formats supported +.IP "NVME_CTRL_CTRATT_MEM" 12 +MDTS and Size Limits Exclude Metadata supported +.IP "NVME_CTRL_CTRATT_HMBR" 12 +HMB Restrict Non-Operational Power State Access .IP "NVME_CTRL_CTRATT_FDPS" 12 Flexible Data Placement supported diff --git a/doc/man/nvme_id_ctrl_dctype.2 b/doc/man/nvme_id_ctrl_dctype.2 index 889699e..e128244 100644 --- a/doc/man/nvme_id_ctrl_dctype.2 +++ b/doc/man/nvme_id_ctrl_dctype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_dctype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_dctype" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_dctype \- Discovery Controller types .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_dsto.2 b/doc/man/nvme_id_ctrl_dsto.2 index 167807e..2b96f2a 100644 --- a/doc/man/nvme_id_ctrl_dsto.2 +++ b/doc/man/nvme_id_ctrl_dsto.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_dsto" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_dsto" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_dsto \- Flags indicating the optional Device Self-test command or operation behaviors supported by the controller or NVM subsystem. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_fcatt.2 b/doc/man/nvme_id_ctrl_fcatt.2 index 1c21556..66f79c6 100644 --- a/doc/man/nvme_id_ctrl_fcatt.2 +++ b/doc/man/nvme_id_ctrl_fcatt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_fcatt" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fcatt" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_fcatt \- This field indicates attributes of the controller that are specific to NVMe over Fabrics. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_fna.2 b/doc/man/nvme_id_ctrl_fna.2 index ab34884..61ae9e9 100644 --- a/doc/man/nvme_id_ctrl_fna.2 +++ b/doc/man/nvme_id_ctrl_fna.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_fna" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fna" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_fna \- This field indicates attributes for the Format NVM command. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_frmw.2 b/doc/man/nvme_id_ctrl_frmw.2 index ebd1e5f..b4e795e 100644 --- a/doc/man/nvme_id_ctrl_frmw.2 +++ b/doc/man/nvme_id_ctrl_frmw.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_frmw" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_frmw" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_frmw \- Flags and values indicates capabilities regarding firmware updates from &struct nvme_id_ctrl.frmw. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_fuses.2 b/doc/man/nvme_id_ctrl_fuses.2 index 426124a..d63fa61 100644 --- a/doc/man/nvme_id_ctrl_fuses.2 +++ b/doc/man/nvme_id_ctrl_fuses.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_fuses" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_fuses" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_fuses \- This field indicates the fused operations that the controller supports. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_hctm.2 b/doc/man/nvme_id_ctrl_hctm.2 index 52aa23d..345095c 100644 --- a/doc/man/nvme_id_ctrl_hctm.2 +++ b/doc/man/nvme_id_ctrl_hctm.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_hctm" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_hctm" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_hctm \- Flags indicate the attributes of the host controlled thermal management feature .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_lpa.2 b/doc/man/nvme_id_ctrl_lpa.2 index 95007e7..d881182 100644 --- a/doc/man/nvme_id_ctrl_lpa.2 +++ b/doc/man/nvme_id_ctrl_lpa.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_lpa" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_lpa" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_lpa \- Flags indicating optional attributes for log pages that are accessed via the Get Log Page command. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_mec.2 b/doc/man/nvme_id_ctrl_mec.2 index fda83ac..2b3d7c6 100644 --- a/doc/man/nvme_id_ctrl_mec.2 +++ b/doc/man/nvme_id_ctrl_mec.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_mec" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_mec" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_mec \- Flags indicating the capabilities of the Management Endpoint in the Controller, &struct nvme_id_ctrl.mec. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_nvm.2 b/doc/man/nvme_id_ctrl_nvm.2 index d93e2b5..e463c7d 100644 --- a/doc/man/nvme_id_ctrl_nvm.2 +++ b/doc/man/nvme_id_ctrl_nvm.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_ctrl_nvm" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ctrl_nvm" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_ctrl_nvm \- I/O Command Set Specific Identify Controller data structure .SH SYNOPSIS @@ -16,7 +16,11 @@ struct nvme_id_ctrl_nvm { .br .BI " __le64 dmsl;" .br -.BI " __u8 rsvd16[4080];" +.BI " __u8 rsvd16[2];" +.br +.BI " __le16 aocs;" +.br +.BI " __u8 rsvd20[4076];" .br .BI " }; @@ -36,4 +40,8 @@ Dataset Management Range Size Limit .IP "dmsl" 12 Dataset Management Size Limit .IP "rsvd16" 12 -reserved +Reserved +.IP "aocs" 12 +Admin Optional Command Support +.IP "rsvd20" 12 +Reserved diff --git a/doc/man/nvme_id_ctrl_nvmsr.2 b/doc/man/nvme_id_ctrl_nvmsr.2 index 091c298..5274196 100644 --- a/doc/man/nvme_id_ctrl_nvmsr.2 +++ b/doc/man/nvme_id_ctrl_nvmsr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_nvmsr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nvmsr" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_nvmsr \- This field reports information associated with the NVM Subsystem, see &struct nvme_id_ctrl.nvmsr. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_nvscc.2 b/doc/man/nvme_id_ctrl_nvscc.2 index b013705..11c6a40 100644 --- a/doc/man/nvme_id_ctrl_nvscc.2 +++ b/doc/man/nvme_id_ctrl_nvscc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_nvscc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nvscc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_nvscc \- This field indicates the configuration settings for NVM Vendor Specific command handling. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_nwpc.2 b/doc/man/nvme_id_ctrl_nwpc.2 index aed654f..e7d5db3 100644 --- a/doc/man/nvme_id_ctrl_nwpc.2 +++ b/doc/man/nvme_id_ctrl_nwpc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_nwpc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_nwpc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_nwpc \- This field indicates the optional namespace write protection capabilities supported by the controller. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_oacs.2 b/doc/man/nvme_id_ctrl_oacs.2 index 37b5faa..374781c 100644 --- a/doc/man/nvme_id_ctrl_oacs.2 +++ b/doc/man/nvme_id_ctrl_oacs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_oacs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oacs" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_oacs \- Flags indicating the optional Admin commands and features supported by the controller, see &struct nvme_id_ctrl.oacs. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_oaes.2 b/doc/man/nvme_id_ctrl_oaes.2 index 59708e1..179e913 100644 --- a/doc/man/nvme_id_ctrl_oaes.2 +++ b/doc/man/nvme_id_ctrl_oaes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_oaes" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oaes" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_oaes \- Optional Asynchronous Events Supported .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_ofcs.2 b/doc/man/nvme_id_ctrl_ofcs.2 index 8f6e96f..4695e85 100644 --- a/doc/man/nvme_id_ctrl_ofcs.2 +++ b/doc/man/nvme_id_ctrl_ofcs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_ofcs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_ofcs" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_ofcs \- Indicate whether the controller supports optional fabric commands. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_oncs.2 b/doc/man/nvme_id_ctrl_oncs.2 index 6e4f6e9..50020de 100644 --- a/doc/man/nvme_id_ctrl_oncs.2 +++ b/doc/man/nvme_id_ctrl_oncs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_oncs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_oncs" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_oncs \- This field indicates the optional NVM commands and features supported by the controller. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_rpmbs.2 b/doc/man/nvme_id_ctrl_rpmbs.2 index 260fb5f..b092a24 100644 --- a/doc/man/nvme_id_ctrl_rpmbs.2 +++ b/doc/man/nvme_id_ctrl_rpmbs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_rpmbs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_rpmbs" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_rpmbs \- This field indicates if the controller supports one or more Replay Protected Memory Blocks, from &struct nvme_id_ctrl.rpmbs. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_sanicap.2 b/doc/man/nvme_id_ctrl_sanicap.2 index 3afb3e7..63c737b 100644 --- a/doc/man/nvme_id_ctrl_sanicap.2 +++ b/doc/man/nvme_id_ctrl_sanicap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_sanicap" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sanicap" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_sanicap \- Indicates attributes for sanitize operations. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_sgls.2 b/doc/man/nvme_id_ctrl_sgls.2 index 0dbab7e..9d1bbd3 100644 --- a/doc/man/nvme_id_ctrl_sgls.2 +++ b/doc/man/nvme_id_ctrl_sgls.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_sgls" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sgls" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_sgls \- This field indicates if SGLs are supported for the NVM Command Set and the particular SGL types supported. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_sqes.2 b/doc/man/nvme_id_ctrl_sqes.2 index d9aaaf9..d8b4d46 100644 --- a/doc/man/nvme_id_ctrl_sqes.2 +++ b/doc/man/nvme_id_ctrl_sqes.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_sqes" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_sqes" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_sqes \- Defines the required and maximum Submission Queue entry size when using the NVM Command Set. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_vwc.2 b/doc/man/nvme_id_ctrl_vwc.2 index 5b9dd83..ba95986 100644 --- a/doc/man/nvme_id_ctrl_vwc.2 +++ b/doc/man/nvme_id_ctrl_vwc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_vwc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_vwc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_vwc \- Volatile write cache .SH SYNOPSIS diff --git a/doc/man/nvme_id_ctrl_vwci.2 b/doc/man/nvme_id_ctrl_vwci.2 index a05f8f1..17ccfc6 100644 --- a/doc/man/nvme_id_ctrl_vwci.2 +++ b/doc/man/nvme_id_ctrl_vwci.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ctrl_vwci" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ctrl_vwci" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ctrl_vwci \- This field indicates information about remaining number of times that VPD contents are able to be updated using the VPD Write command, see &struct nvme_id_ctrl.vwci. .SH SYNOPSIS diff --git a/doc/man/nvme_id_directives.2 b/doc/man/nvme_id_directives.2 index bf0b4b1..d595b3a 100644 --- a/doc/man/nvme_id_directives.2 +++ b/doc/man/nvme_id_directives.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_directives" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_directives" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_directives \- Identify Directive - Return Parameters Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_domain_attr.2 b/doc/man/nvme_id_domain_attr.2 index c9811fb..48d9d15 100644 --- a/doc/man/nvme_id_domain_attr.2 +++ b/doc/man/nvme_id_domain_attr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_domain_attr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_domain_attr" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_domain_attr \- Domain Attributes Entry .SH SYNOPSIS diff --git a/doc/man/nvme_id_domain_list.2 b/doc/man/nvme_id_domain_list.2 index cdfd345..fedde92 100644 --- a/doc/man/nvme_id_domain_list.2 +++ b/doc/man/nvme_id_domain_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_domain_list" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_domain_list" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_domain_list \- Domain List .SH SYNOPSIS diff --git a/doc/man/nvme_id_endurance_group_list.2 b/doc/man/nvme_id_endurance_group_list.2 index 4b24e4c..2135951 100644 --- a/doc/man/nvme_id_endurance_group_list.2 +++ b/doc/man/nvme_id_endurance_group_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_endurance_group_list" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_endurance_group_list" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_endurance_group_list \- Endurance Group List .SH SYNOPSIS diff --git a/doc/man/nvme_id_independent_id_ns.2 b/doc/man/nvme_id_independent_id_ns.2 index d7f5e1b..7757745 100644 --- a/doc/man/nvme_id_independent_id_ns.2 +++ b/doc/man/nvme_id_independent_id_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_independent_id_ns" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_independent_id_ns" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_independent_id_ns \- Identify - I/O Command Set Independent Identify Namespace Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_iocs.2 b/doc/man/nvme_id_iocs.2 index b0a9982..9108a2c 100644 --- a/doc/man/nvme_id_iocs.2 +++ b/doc/man/nvme_id_iocs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_iocs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_iocs" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_iocs \- NVMe Identify IO Command Set data structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns.2 b/doc/man/nvme_id_ns.2 index 20dab14..f9e7027 100644 --- a/doc/man/nvme_id_ns.2 +++ b/doc/man/nvme_id_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_ns" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_ns \- Identify Namespace data structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_attr.2 b/doc/man/nvme_id_ns_attr.2 index 5aa916a..eb2c0f5 100644 --- a/doc/man/nvme_id_ns_attr.2 +++ b/doc/man/nvme_id_ns_attr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_attr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_attr" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_attr \- Specifies attributes of the namespace. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_dlfeat.2 b/doc/man/nvme_id_ns_dlfeat.2 index dde5d8e..58e73ca 100644 --- a/doc/man/nvme_id_ns_dlfeat.2 +++ b/doc/man/nvme_id_ns_dlfeat.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_dlfeat" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dlfeat" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_dlfeat \- This field indicates information about features that affect deallocating logical blocks for this namespace. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_dpc.2 b/doc/man/nvme_id_ns_dpc.2 index 160dcdb..c993b69 100644 --- a/doc/man/nvme_id_ns_dpc.2 +++ b/doc/man/nvme_id_ns_dpc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_dpc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dpc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_dpc \- This field indicates the capabilities for the end-to-end data protection feature. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_dps.2 b/doc/man/nvme_id_ns_dps.2 index 1bd1de3..30c50b8 100644 --- a/doc/man/nvme_id_ns_dps.2 +++ b/doc/man/nvme_id_ns_dps.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_dps" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_dps" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_dps \- This field indicates the Type settings for the end-to-end data protection feature. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_flbas.2 b/doc/man/nvme_id_ns_flbas.2 index 95acfe4..394ec6a 100644 --- a/doc/man/nvme_id_ns_flbas.2 +++ b/doc/man/nvme_id_ns_flbas.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_flbas" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_flbas" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_flbas \- This field indicates the LBA data size & metadata size combination that the namespace has been formatted with .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_granularity_desc.2 b/doc/man/nvme_id_ns_granularity_desc.2 index 66bd48a..c18a777 100644 --- a/doc/man/nvme_id_ns_granularity_desc.2 +++ b/doc/man/nvme_id_ns_granularity_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_ns_granularity_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns_granularity_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_ns_granularity_desc \- Namespace Granularity Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_granularity_list.2 b/doc/man/nvme_id_ns_granularity_list.2 index 9e568e8..6ccd850 100644 --- a/doc/man/nvme_id_ns_granularity_list.2 +++ b/doc/man/nvme_id_ns_granularity_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_ns_granularity_list" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_ns_granularity_list" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_ns_granularity_list \- Namespace Granularity List .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_mc.2 b/doc/man/nvme_id_ns_mc.2 index e5d7598..ff94c14 100644 --- a/doc/man/nvme_id_ns_mc.2 +++ b/doc/man/nvme_id_ns_mc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_mc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_mc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_mc \- This field indicates the capabilities for metadata. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_nmic.2 b/doc/man/nvme_id_ns_nmic.2 index 70edb95..54b2e4e 100644 --- a/doc/man/nvme_id_ns_nmic.2 +++ b/doc/man/nvme_id_ns_nmic.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_nmic" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_nmic" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_nmic \- This field specifies multi-path I/O and namespace sharing capabilities of the namespace. .SH SYNOPSIS diff --git a/doc/man/nvme_id_ns_rescap.2 b/doc/man/nvme_id_ns_rescap.2 index 9114253..dc052c7 100644 --- a/doc/man/nvme_id_ns_rescap.2 +++ b/doc/man/nvme_id_ns_rescap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_ns_rescap" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_ns_rescap" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_ns_rescap \- This field indicates the reservation capabilities of the namespace. .SH SYNOPSIS diff --git a/doc/man/nvme_id_nsfeat.2 b/doc/man/nvme_id_nsfeat.2 index 670bbe2..c864eb9 100644 --- a/doc/man/nvme_id_nsfeat.2 +++ b/doc/man/nvme_id_nsfeat.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_nsfeat" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_nsfeat" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_nsfeat \- This field defines features of the namespace. .SH SYNOPSIS diff --git a/doc/man/nvme_id_nvmset_list.2 b/doc/man/nvme_id_nvmset_list.2 index a046227..995a9ba 100644 --- a/doc/man/nvme_id_nvmset_list.2 +++ b/doc/man/nvme_id_nvmset_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_nvmset_list" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_nvmset_list" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_nvmset_list \- NVM set list .SH SYNOPSIS diff --git a/doc/man/nvme_id_psd.2 b/doc/man/nvme_id_psd.2 index 4579a3e..513d965 100644 --- a/doc/man/nvme_id_psd.2 +++ b/doc/man/nvme_id_psd.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_psd" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_psd" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_psd \- Power Management data structure .SH SYNOPSIS diff --git a/doc/man/nvme_id_uuid.2 b/doc/man/nvme_id_uuid.2 index 348d0d2..6a7963b 100644 --- a/doc/man/nvme_id_uuid.2 +++ b/doc/man/nvme_id_uuid.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_id_uuid" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_id_uuid" "August 2024" "API Manual" LINUX .SH NAME enum nvme_id_uuid \- Identifier Association .SH SYNOPSIS diff --git a/doc/man/nvme_id_uuid_list.2 b/doc/man/nvme_id_uuid_list.2 index b56e152..9101f39 100644 --- a/doc/man/nvme_id_uuid_list.2 +++ b/doc/man/nvme_id_uuid_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_uuid_list" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_uuid_list" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_uuid_list \- UUID list .SH SYNOPSIS diff --git a/doc/man/nvme_id_uuid_list_entry.2 b/doc/man/nvme_id_uuid_list_entry.2 index dae5dc3..38d3621 100644 --- a/doc/man/nvme_id_uuid_list_entry.2 +++ b/doc/man/nvme_id_uuid_list_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_id_uuid_list_entry" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_id_uuid_list_entry" "August 2024" "API Manual" LINUX .SH NAME struct nvme_id_uuid_list_entry \- UUID List Entry .SH SYNOPSIS diff --git a/doc/man/nvme_identify.2 b/doc/man/nvme_identify.2 index 406b13f..47a8ae8 100644 --- a/doc/man/nvme_identify.2 +++ b/doc/man/nvme_identify.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify" 9 "nvme_identify" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify" 9 "nvme_identify" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify \- Send the NVMe Identify command .SH SYNOPSIS diff --git a/doc/man/nvme_identify_active_ns_list.2 b/doc/man/nvme_identify_active_ns_list.2 index 8a1a022..71e5e3b 100644 --- a/doc/man/nvme_identify_active_ns_list.2 +++ b/doc/man/nvme_identify_active_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_active_ns_list" 9 "nvme_identify_active_ns_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_active_ns_list" 9 "nvme_identify_active_ns_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_active_ns_list \- Retrieves active namespaces id list .SH SYNOPSIS diff --git a/doc/man/nvme_identify_active_ns_list_csi.2 b/doc/man/nvme_identify_active_ns_list_csi.2 index b9a1cb2..3bf9b08 100644 --- a/doc/man/nvme_identify_active_ns_list_csi.2 +++ b/doc/man/nvme_identify_active_ns_list_csi.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_active_ns_list_csi" 9 "nvme_identify_active_ns_list_csi" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_active_ns_list_csi" 9 "nvme_identify_active_ns_list_csi" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_active_ns_list_csi \- Active namespace ID list associated with a specified I/O command set .SH SYNOPSIS diff --git a/doc/man/nvme_identify_allocated_ns.2 b/doc/man/nvme_identify_allocated_ns.2 index 7a2d485..c849f17 100644 --- a/doc/man/nvme_identify_allocated_ns.2 +++ b/doc/man/nvme_identify_allocated_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_allocated_ns" 9 "nvme_identify_allocated_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns" 9 "nvme_identify_allocated_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_allocated_ns \- Same as nvme_identify_ns, but only for allocated namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_identify_allocated_ns_list.2 b/doc/man/nvme_identify_allocated_ns_list.2 index 9b40f7c..608d245 100644 --- a/doc/man/nvme_identify_allocated_ns_list.2 +++ b/doc/man/nvme_identify_allocated_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_allocated_ns_list" 9 "nvme_identify_allocated_ns_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns_list" 9 "nvme_identify_allocated_ns_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_allocated_ns_list \- Retrieves allocated namespace id list .SH SYNOPSIS diff --git a/doc/man/nvme_identify_allocated_ns_list_csi.2 b/doc/man/nvme_identify_allocated_ns_list_csi.2 index 7443ee9..c101c4b 100644 --- a/doc/man/nvme_identify_allocated_ns_list_csi.2 +++ b/doc/man/nvme_identify_allocated_ns_list_csi.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_allocated_ns_list_csi" 9 "nvme_identify_allocated_ns_list_csi" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_allocated_ns_list_csi" 9 "nvme_identify_allocated_ns_list_csi" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_allocated_ns_list_csi \- Allocated namespace ID list associated with a specified I/O command set .SH SYNOPSIS diff --git a/doc/man/nvme_identify_cns.2 b/doc/man/nvme_identify_cns.2 index 126e63e..89c0b34 100644 --- a/doc/man/nvme_identify_cns.2 +++ b/doc/man/nvme_identify_cns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_identify_cns" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_identify_cns" "August 2024" "API Manual" LINUX .SH NAME enum nvme_identify_cns \- Identify - CNS Values .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ctrl.2 b/doc/man/nvme_identify_ctrl.2 index f19e023..be8072e 100644 --- a/doc/man/nvme_identify_ctrl.2 +++ b/doc/man/nvme_identify_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ctrl" 9 "nvme_identify_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl" 9 "nvme_identify_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ctrl \- Retrieves nvme identify controller .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ctrl_csi.2 b/doc/man/nvme_identify_ctrl_csi.2 index 30c866e..5866f6e 100644 --- a/doc/man/nvme_identify_ctrl_csi.2 +++ b/doc/man/nvme_identify_ctrl_csi.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ctrl_csi" 9 "nvme_identify_ctrl_csi" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl_csi" 9 "nvme_identify_ctrl_csi" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ctrl_csi \- I/O command set specific Identify Controller data .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ctrl_list.2 b/doc/man/nvme_identify_ctrl_list.2 index 346be0c..c5db40d 100644 --- a/doc/man/nvme_identify_ctrl_list.2 +++ b/doc/man/nvme_identify_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ctrl_list" 9 "nvme_identify_ctrl_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ctrl_list" 9 "nvme_identify_ctrl_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ctrl_list \- Retrieves identify controller list .SH SYNOPSIS diff --git a/doc/man/nvme_identify_domain_list.2 b/doc/man/nvme_identify_domain_list.2 index 705b152..c545fc4 100644 --- a/doc/man/nvme_identify_domain_list.2 +++ b/doc/man/nvme_identify_domain_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_domain_list" 9 "nvme_identify_domain_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_domain_list" 9 "nvme_identify_domain_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_domain_list \- Domain list data .SH SYNOPSIS diff --git a/doc/man/nvme_identify_endurance_group_list.2 b/doc/man/nvme_identify_endurance_group_list.2 index c0a36a4..d1969de 100644 --- a/doc/man/nvme_identify_endurance_group_list.2 +++ b/doc/man/nvme_identify_endurance_group_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_endurance_group_list" 9 "nvme_identify_endurance_group_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_endurance_group_list" 9 "nvme_identify_endurance_group_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_endurance_group_list \- Endurance group list data .SH SYNOPSIS diff --git a/doc/man/nvme_identify_independent_identify_ns.2 b/doc/man/nvme_identify_independent_identify_ns.2 index 7b20b46..09d07c0 100644 --- a/doc/man/nvme_identify_independent_identify_ns.2 +++ b/doc/man/nvme_identify_independent_identify_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_independent_identify_ns" 9 "nvme_identify_independent_identify_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_independent_identify_ns" 9 "nvme_identify_independent_identify_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_independent_identify_ns \- I/O command set independent Identify namespace data .SH SYNOPSIS diff --git a/doc/man/nvme_identify_iocs.2 b/doc/man/nvme_identify_iocs.2 index ac469d5..b91f85f 100644 --- a/doc/man/nvme_identify_iocs.2 +++ b/doc/man/nvme_identify_iocs.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_iocs" 9 "nvme_identify_iocs" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_iocs" 9 "nvme_identify_iocs" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_iocs \- I/O command set data structure .SH SYNOPSIS diff --git a/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2 b/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2 index 8808429..3ad7036 100644 --- a/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2 +++ b/doc/man/nvme_identify_iocs_ns_csi_user_data_format.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_iocs_ns_csi_user_data_format" 9 "nvme_identify_iocs_ns_csi_user_data_format" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_iocs_ns_csi_user_data_format" 9 "nvme_identify_iocs_ns_csi_user_data_format" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_iocs_ns_csi_user_data_format \- Identify I/O command set namespace data structure .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ns.2 b/doc/man/nvme_identify_ns.2 index 8877a09..8feba58 100644 --- a/doc/man/nvme_identify_ns.2 +++ b/doc/man/nvme_identify_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ns" 9 "nvme_identify_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns" 9 "nvme_identify_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ns \- Retrieves nvme identify namespace .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ns_csi.2 b/doc/man/nvme_identify_ns_csi.2 index 54d7d39..48bc8f7 100644 --- a/doc/man/nvme_identify_ns_csi.2 +++ b/doc/man/nvme_identify_ns_csi.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ns_csi" 9 "nvme_identify_ns_csi" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_csi" 9 "nvme_identify_ns_csi" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ns_csi \- I/O command set specific identify namespace data .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ns_csi_user_data_format.2 b/doc/man/nvme_identify_ns_csi_user_data_format.2 index 4a4f636..a511e2f 100644 --- a/doc/man/nvme_identify_ns_csi_user_data_format.2 +++ b/doc/man/nvme_identify_ns_csi_user_data_format.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ns_csi_user_data_format" 9 "nvme_identify_ns_csi_user_data_format" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_csi_user_data_format" 9 "nvme_identify_ns_csi_user_data_format" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ns_csi_user_data_format \- Identify namespace user data format .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ns_descs.2 b/doc/man/nvme_identify_ns_descs.2 index b0722af..1e9c6f7 100644 --- a/doc/man/nvme_identify_ns_descs.2 +++ b/doc/man/nvme_identify_ns_descs.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ns_descs" 9 "nvme_identify_ns_descs" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_descs" 9 "nvme_identify_ns_descs" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ns_descs \- Retrieves namespace descriptor list .SH SYNOPSIS diff --git a/doc/man/nvme_identify_ns_granularity.2 b/doc/man/nvme_identify_ns_granularity.2 index 10389bc..dd3d913 100644 --- a/doc/man/nvme_identify_ns_granularity.2 +++ b/doc/man/nvme_identify_ns_granularity.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_ns_granularity" 9 "nvme_identify_ns_granularity" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_ns_granularity" 9 "nvme_identify_ns_granularity" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_ns_granularity \- Retrieves namespace granularity identification .SH SYNOPSIS diff --git a/doc/man/nvme_identify_nsid_ctrl_list.2 b/doc/man/nvme_identify_nsid_ctrl_list.2 index 4075a8d..4c766c9 100644 --- a/doc/man/nvme_identify_nsid_ctrl_list.2 +++ b/doc/man/nvme_identify_nsid_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_nsid_ctrl_list" 9 "nvme_identify_nsid_ctrl_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_nsid_ctrl_list" 9 "nvme_identify_nsid_ctrl_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_nsid_ctrl_list \- Retrieves controller list attached to an nsid .SH SYNOPSIS diff --git a/doc/man/nvme_identify_nvmset_list.2 b/doc/man/nvme_identify_nvmset_list.2 index 958bfe9..50c1886 100644 --- a/doc/man/nvme_identify_nvmset_list.2 +++ b/doc/man/nvme_identify_nvmset_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_nvmset_list" 9 "nvme_identify_nvmset_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_nvmset_list" 9 "nvme_identify_nvmset_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_nvmset_list \- Retrieves NVM Set List .SH SYNOPSIS diff --git a/doc/man/nvme_identify_primary_ctrl.2 b/doc/man/nvme_identify_primary_ctrl.2 index 66b7f93..6ce5585 100644 --- a/doc/man/nvme_identify_primary_ctrl.2 +++ b/doc/man/nvme_identify_primary_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_primary_ctrl" 9 "nvme_identify_primary_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_primary_ctrl" 9 "nvme_identify_primary_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_primary_ctrl \- Retrieve NVMe Primary Controller identification .SH SYNOPSIS diff --git a/doc/man/nvme_identify_secondary_ctrl_list.2 b/doc/man/nvme_identify_secondary_ctrl_list.2 index 3fed99e..784df58 100644 --- a/doc/man/nvme_identify_secondary_ctrl_list.2 +++ b/doc/man/nvme_identify_secondary_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_secondary_ctrl_list" 9 "nvme_identify_secondary_ctrl_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_secondary_ctrl_list" 9 "nvme_identify_secondary_ctrl_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_secondary_ctrl_list \- Retrieves secondary controller list .SH SYNOPSIS diff --git a/doc/man/nvme_identify_uuid.2 b/doc/man/nvme_identify_uuid.2 index a7fcb3e..d95629c 100644 --- a/doc/man/nvme_identify_uuid.2 +++ b/doc/man/nvme_identify_uuid.2 @@ -1,4 +1,4 @@ -.TH "nvme_identify_uuid" 9 "nvme_identify_uuid" "May 2024" "libnvme API manual" LINUX +.TH "nvme_identify_uuid" 9 "nvme_identify_uuid" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_identify_uuid \- Retrieves device's UUIDs .SH SYNOPSIS diff --git a/doc/man/nvme_import_tls_key.2 b/doc/man/nvme_import_tls_key.2 index 4b3a4cc..0c548fd 100644 --- a/doc/man/nvme_import_tls_key.2 +++ b/doc/man/nvme_import_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_import_tls_key" 9 "nvme_import_tls_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_import_tls_key" 9 "nvme_import_tls_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_import_tls_key \- Import a TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_init_copy_range.2 b/doc/man/nvme_init_copy_range.2 index 8b77024..5bdc130 100644 --- a/doc/man/nvme_init_copy_range.2 +++ b/doc/man/nvme_init_copy_range.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range" 9 "nvme_init_copy_range" "May 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range" 9 "nvme_init_copy_range" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range \- Constructs a copy range structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_copy_range_f1.2 b/doc/man/nvme_init_copy_range_f1.2 index 6030ff9..70f75b3 100644 --- a/doc/man/nvme_init_copy_range_f1.2 +++ b/doc/man/nvme_init_copy_range_f1.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range_f1" 9 "nvme_init_copy_range_f1" "May 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f1" 9 "nvme_init_copy_range_f1" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range_f1 \- Constructs a copy range f1 structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_copy_range_f2.2 b/doc/man/nvme_init_copy_range_f2.2 index 68e4365..e404eab 100644 --- a/doc/man/nvme_init_copy_range_f2.2 +++ b/doc/man/nvme_init_copy_range_f2.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range_f2" 9 "nvme_init_copy_range_f2" "May 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f2" 9 "nvme_init_copy_range_f2" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range_f2 \- Constructs a copy range f2 structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_copy_range_f3.2 b/doc/man/nvme_init_copy_range_f3.2 index dd73096..2f1f819 100644 --- a/doc/man/nvme_init_copy_range_f3.2 +++ b/doc/man/nvme_init_copy_range_f3.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_copy_range_f3" 9 "nvme_init_copy_range_f3" "May 2024" "libnvme API manual" LINUX +.TH "nvme_init_copy_range_f3" 9 "nvme_init_copy_range_f3" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_init_copy_range_f3 \- Constructs a copy range f3 structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_ctrl.2 b/doc/man/nvme_init_ctrl.2 index 899c7b5..b372651 100644 --- a/doc/man/nvme_init_ctrl.2 +++ b/doc/man/nvme_init_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_ctrl" 9 "nvme_init_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_init_ctrl" 9 "nvme_init_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_init_ctrl \- Initialize nvme_ctrl_t object for an existing controller. .SH SYNOPSIS diff --git a/doc/man/nvme_init_ctrl_list.2 b/doc/man/nvme_init_ctrl_list.2 index 8c20fd6..be973d2 100644 --- a/doc/man/nvme_init_ctrl_list.2 +++ b/doc/man/nvme_init_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_ctrl_list" 9 "nvme_init_ctrl_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_init_ctrl_list" 9 "nvme_init_ctrl_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_init_ctrl_list \- Initialize an nvme_ctrl_list structure from an array. .SH SYNOPSIS diff --git a/doc/man/nvme_init_default_logging.2 b/doc/man/nvme_init_default_logging.2 new file mode 100644 index 0000000..5d20b57 --- /dev/null +++ b/doc/man/nvme_init_default_logging.2 @@ -0,0 +1,21 @@ +.TH "nvme_init_default_logging" 9 "nvme_init_default_logging" "August 2024" "libnvme API manual" LINUX +.SH NAME +nvme_init_default_logging \- Initialize default (fallback) logging +.SH SYNOPSIS +.B "void" nvme_init_default_logging +.BI "(FILE *fp " "," +.BI "int lvl " "," +.BI "bool log_pid " "," +.BI "bool log_tstamp " ");" +.SH ARGUMENTS +.IP "fp" 12 +File descriptor for logging messages +.IP "lvl" 12 +Logging level to set +.IP "log_pid" 12 +Boolean to enable logging of the PID +.IP "log_tstamp" 12 +Boolean to enable logging of the timestamp +.SH "DESCRIPTION" +Sets the default logging settings for the library in case the root object +is absent. diff --git a/doc/man/nvme_init_dsm_range.2 b/doc/man/nvme_init_dsm_range.2 index a27c355..2e0a052 100644 --- a/doc/man/nvme_init_dsm_range.2 +++ b/doc/man/nvme_init_dsm_range.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_dsm_range" 9 "nvme_init_dsm_range" "May 2024" "libnvme API manual" LINUX +.TH "nvme_init_dsm_range" 9 "nvme_init_dsm_range" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_init_dsm_range \- Constructs a data set range structure .SH SYNOPSIS diff --git a/doc/man/nvme_init_logging.2 b/doc/man/nvme_init_logging.2 index 84005a9..0022338 100644 --- a/doc/man/nvme_init_logging.2 +++ b/doc/man/nvme_init_logging.2 @@ -1,4 +1,4 @@ -.TH "nvme_init_logging" 9 "nvme_init_logging" "May 2024" "libnvme API manual" LINUX +.TH "nvme_init_logging" 9 "nvme_init_logging" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_init_logging \- Initialize logging .SH SYNOPSIS diff --git a/doc/man/nvme_insert_tls_key.2 b/doc/man/nvme_insert_tls_key.2 index 1a4ae7c..6171bf3 100644 --- a/doc/man/nvme_insert_tls_key.2 +++ b/doc/man/nvme_insert_tls_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_insert_tls_key" 9 "nvme_insert_tls_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_insert_tls_key" 9 "nvme_insert_tls_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_insert_tls_key \- Derive and insert TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_insert_tls_key_versioned.2 b/doc/man/nvme_insert_tls_key_versioned.2 index d02ea10..5d486a6 100644 --- a/doc/man/nvme_insert_tls_key_versioned.2 +++ b/doc/man/nvme_insert_tls_key_versioned.2 @@ -1,4 +1,4 @@ -.TH "nvme_insert_tls_key_versioned" 9 "nvme_insert_tls_key_versioned" "May 2024" "libnvme API manual" LINUX +.TH "nvme_insert_tls_key_versioned" 9 "nvme_insert_tls_key_versioned" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_insert_tls_key_versioned \- Derive and insert TLS key .SH SYNOPSIS diff --git a/doc/man/nvme_io.2 b/doc/man/nvme_io.2 index 1d8c7f4..35d79d6 100644 --- a/doc/man/nvme_io.2 +++ b/doc/man/nvme_io.2 @@ -1,4 +1,4 @@ -.TH "nvme_io" 9 "nvme_io" "May 2024" "libnvme API manual" LINUX +.TH "nvme_io" 9 "nvme_io" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_io \- Submit an nvme user I/O command .SH SYNOPSIS diff --git a/doc/man/nvme_io_control_flags.2 b/doc/man/nvme_io_control_flags.2 index afc2c01..f734187 100644 --- a/doc/man/nvme_io_control_flags.2 +++ b/doc/man/nvme_io_control_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_control_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_control_flags" "August 2024" "API Manual" LINUX .SH NAME enum nvme_io_control_flags \- I/O control flags .SH SYNOPSIS diff --git a/doc/man/nvme_io_dsm_flags.2 b/doc/man/nvme_io_dsm_flags.2 index ffd0cda..8e751ff 100644 --- a/doc/man/nvme_io_dsm_flags.2 +++ b/doc/man/nvme_io_dsm_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_dsm_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_dsm_flags" "August 2024" "API Manual" LINUX .SH NAME enum nvme_io_dsm_flags \- Dataset Management flags .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_recv.2 b/doc/man/nvme_io_mgmt_recv.2 index 0ae660b..7ff00f4 100644 --- a/doc/man/nvme_io_mgmt_recv.2 +++ b/doc/man/nvme_io_mgmt_recv.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_mgmt_recv" 9 "nvme_io_mgmt_recv" "May 2024" "libnvme API manual" LINUX +.TH "nvme_io_mgmt_recv" 9 "nvme_io_mgmt_recv" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_io_mgmt_recv \- I/O Management Receive command .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_recv_mo.2 b/doc/man/nvme_io_mgmt_recv_mo.2 index 914f7c6..08f2358 100644 --- a/doc/man/nvme_io_mgmt_recv_mo.2 +++ b/doc/man/nvme_io_mgmt_recv_mo.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_mgmt_recv_mo" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_mgmt_recv_mo" "August 2024" "API Manual" LINUX .SH NAME enum nvme_io_mgmt_recv_mo \- I/O Management Receive - Management Operation .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_send.2 b/doc/man/nvme_io_mgmt_send.2 index 492f2fe..39e4ecc 100644 --- a/doc/man/nvme_io_mgmt_send.2 +++ b/doc/man/nvme_io_mgmt_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_mgmt_send" 9 "nvme_io_mgmt_send" "May 2024" "libnvme API manual" LINUX +.TH "nvme_io_mgmt_send" 9 "nvme_io_mgmt_send" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_io_mgmt_send \- I/O Management Send command .SH SYNOPSIS diff --git a/doc/man/nvme_io_mgmt_send_mo.2 b/doc/man/nvme_io_mgmt_send_mo.2 index 47722e4..3a59bc4 100644 --- a/doc/man/nvme_io_mgmt_send_mo.2 +++ b/doc/man/nvme_io_mgmt_send_mo.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_mgmt_send_mo" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_mgmt_send_mo" "August 2024" "API Manual" LINUX .SH NAME enum nvme_io_mgmt_send_mo \- I/O Management Send - Management Operation .SH SYNOPSIS diff --git a/doc/man/nvme_io_opcode.2 b/doc/man/nvme_io_opcode.2 index f077961..7813077 100644 --- a/doc/man/nvme_io_opcode.2 +++ b/doc/man/nvme_io_opcode.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_io_opcode" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_io_opcode" "August 2024" "API Manual" LINUX .SH NAME enum nvme_io_opcode \- Opcodes for I/O Commands .SH SYNOPSIS @@ -56,6 +56,10 @@ enum nvme_io_opcode { , .br .br +.BI " nvme_cmd_cancel" +, +.br +.br .BI " nvme_cmd_copy" , .br @@ -102,6 +106,8 @@ Reservation Acquire I/O Management Receive .IP "nvme_cmd_resv_release" 12 Reservation Release +.IP "nvme_cmd_cancel" 12 +Cancel .IP "nvme_cmd_copy" 12 Copy .IP "nvme_cmd_io_mgmt_send" 12 diff --git a/doc/man/nvme_io_passthru.2 b/doc/man/nvme_io_passthru.2 index b96d533..41efe60 100644 --- a/doc/man/nvme_io_passthru.2 +++ b/doc/man/nvme_io_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_passthru" 9 "nvme_io_passthru" "May 2024" "libnvme API manual" LINUX +.TH "nvme_io_passthru" 9 "nvme_io_passthru" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_io_passthru \- Submit an nvme io passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_io_passthru64.2 b/doc/man/nvme_io_passthru64.2 index 0de2082..13b2fa0 100644 --- a/doc/man/nvme_io_passthru64.2 +++ b/doc/man/nvme_io_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_io_passthru64" 9 "nvme_io_passthru64" "May 2024" "libnvme API manual" LINUX +.TH "nvme_io_passthru64" 9 "nvme_io_passthru64" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_io_passthru64 \- Submit an nvme io passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_is_64bit_reg.2 b/doc/man/nvme_is_64bit_reg.2 index b93733c..f11f012 100644 --- a/doc/man/nvme_is_64bit_reg.2 +++ b/doc/man/nvme_is_64bit_reg.2 @@ -1,4 +1,4 @@ -.TH "nvme_is_64bit_reg" 9 "nvme_is_64bit_reg" "May 2024" "libnvme API manual" LINUX +.TH "nvme_is_64bit_reg" 9 "nvme_is_64bit_reg" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_is_64bit_reg \- Checks if offset of the controller register is a know 64bit value. .SH SYNOPSIS diff --git a/doc/man/nvme_lba_range_type.2 b/doc/man/nvme_lba_range_type.2 index 6d3dae8..a50b34f 100644 --- a/doc/man/nvme_lba_range_type.2 +++ b/doc/man/nvme_lba_range_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_range_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_range_type" "August 2024" "API Manual" LINUX .SH NAME struct nvme_lba_range_type \- LBA Range Type .SH SYNOPSIS diff --git a/doc/man/nvme_lba_range_type_entry.2 b/doc/man/nvme_lba_range_type_entry.2 index d6154b2..586d88c 100644 --- a/doc/man/nvme_lba_range_type_entry.2 +++ b/doc/man/nvme_lba_range_type_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_range_type_entry" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_range_type_entry" "August 2024" "API Manual" LINUX .SH NAME struct nvme_lba_range_type_entry \- LBA Range Type - Data Structure Entry .SH SYNOPSIS diff --git a/doc/man/nvme_lba_rd.2 b/doc/man/nvme_lba_rd.2 index f2cde4b..6adbcbc 100644 --- a/doc/man/nvme_lba_rd.2 +++ b/doc/man/nvme_lba_rd.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_rd" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_rd" "August 2024" "API Manual" LINUX .SH NAME struct nvme_lba_rd \- LBA Range Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_lba_status.2 b/doc/man/nvme_lba_status.2 index 498d1fc..7e3375b 100644 --- a/doc/man/nvme_lba_status.2 +++ b/doc/man/nvme_lba_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_status" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status" "August 2024" "API Manual" LINUX .SH NAME struct nvme_lba_status \- LBA Status Descriptor List .SH SYNOPSIS diff --git a/doc/man/nvme_lba_status_atype.2 b/doc/man/nvme_lba_status_atype.2 index d2454ad..40139ba 100644 --- a/doc/man/nvme_lba_status_atype.2 +++ b/doc/man/nvme_lba_status_atype.2 @@ -1,19 +1,27 @@ -.TH "libnvme" 9 "enum nvme_lba_status_atype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lba_status_atype" "August 2024" "API Manual" LINUX .SH NAME -enum nvme_lba_status_atype \- Potentially Unrecoverable LBAs +enum nvme_lba_status_atype \- Action type the controller uses to return LBA status .SH SYNOPSIS enum nvme_lba_status_atype { .br +.BI " NVME_LBA_STATUS_ATYPE_ALLOCATED" +, +.br +.br .BI " NVME_LBA_STATUS_ATYPE_SCAN_UNTRACKED" , .br .br -.BI " NVME_LBA_STATUS_ATYPE_SCAN_TRACKED" +.BI " NVME_LBA_STATUS_ATYPE_TRACKED" }; .SH Constants +.IP "NVME_LBA_STATUS_ATYPE_ALLOCATED" 12 +Return tracked allocated LBAs status .IP "NVME_LBA_STATUS_ATYPE_SCAN_UNTRACKED" 12 -Potentially Unrecoverable LBAs -.IP "NVME_LBA_STATUS_ATYPE_SCAN_TRACKED" 12 -Potentially Unrecoverable LBAs -associated with physical storage +Perform scan and return Untracked and +Tracked Potentially Unrecoverable LBAs +status +.IP "NVME_LBA_STATUS_ATYPE_TRACKED" 12 +Return Tracked Potentially Unrecoverable +LBAs associated with physical storage diff --git a/doc/man/nvme_lba_status_desc.2 b/doc/man/nvme_lba_status_desc.2 index 639eba3..a8adec0 100644 --- a/doc/man/nvme_lba_status_desc.2 +++ b/doc/man/nvme_lba_status_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_status_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_lba_status_desc \- LBA Status Descriptor Entry .SH SYNOPSIS diff --git a/doc/man/nvme_lba_status_log.2 b/doc/man/nvme_lba_status_log.2 index 8f7fc61..50ac600 100644 --- a/doc/man/nvme_lba_status_log.2 +++ b/doc/man/nvme_lba_status_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lba_status_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lba_status_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_lba_status_log \- LBA Status Information Log .SH SYNOPSIS diff --git a/doc/man/nvme_lbaf.2 b/doc/man/nvme_lbaf.2 index 936780d..b232c08 100644 --- a/doc/man/nvme_lbaf.2 +++ b/doc/man/nvme_lbaf.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lbaf" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lbaf" "August 2024" "API Manual" LINUX .SH NAME struct nvme_lbaf \- LBA Format Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_lbaf_rp.2 b/doc/man/nvme_lbaf_rp.2 index 8f9b0aa..d720610 100644 --- a/doc/man/nvme_lbaf_rp.2 +++ b/doc/man/nvme_lbaf_rp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lbaf_rp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lbaf_rp" "August 2024" "API Manual" LINUX .SH NAME enum nvme_lbaf_rp \- This field indicates the relative performance of the LBA format indicated relative to other LBA formats supported by the controller. .SH SYNOPSIS diff --git a/doc/man/nvme_lbart.2 b/doc/man/nvme_lbart.2 index 507e5b5..20f3f56 100644 --- a/doc/man/nvme_lbart.2 +++ b/doc/man/nvme_lbart.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_lbart" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_lbart" "August 2024" "API Manual" LINUX .SH NAME enum nvme_lbart \- LBA Range Type - Data Structure Entry .SH SYNOPSIS diff --git a/doc/man/nvme_lbas_ns_element.2 b/doc/man/nvme_lbas_ns_element.2 index 869d064..a94f8cf 100644 --- a/doc/man/nvme_lbas_ns_element.2 +++ b/doc/man/nvme_lbas_ns_element.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_lbas_ns_element" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_lbas_ns_element" "August 2024" "API Manual" LINUX .SH NAME struct nvme_lbas_ns_element \- LBA Status Log Namespace Element .SH SYNOPSIS diff --git a/doc/man/nvme_lockdown.2 b/doc/man/nvme_lockdown.2 index 0d00d8f..d600d99 100644 --- a/doc/man/nvme_lockdown.2 +++ b/doc/man/nvme_lockdown.2 @@ -1,4 +1,4 @@ -.TH "nvme_lockdown" 9 "nvme_lockdown" "May 2024" "libnvme API manual" LINUX +.TH "nvme_lockdown" 9 "nvme_lockdown" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_lockdown \- Issue lockdown command .SH SYNOPSIS diff --git a/doc/man/nvme_log_ana_lsp.2 b/doc/man/nvme_log_ana_lsp.2 index 80e399b..5f53e86 100644 --- a/doc/man/nvme_log_ana_lsp.2 +++ b/doc/man/nvme_log_ana_lsp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_log_ana_lsp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_ana_lsp" "August 2024" "API Manual" LINUX .SH NAME enum nvme_log_ana_lsp \- Asymmetric Namespace Access - Return Groups Only .SH SYNOPSIS diff --git a/doc/man/nvme_log_phy_rx_eom_action.2 b/doc/man/nvme_log_phy_rx_eom_action.2 index 6868049..61515c0 100644 --- a/doc/man/nvme_log_phy_rx_eom_action.2 +++ b/doc/man/nvme_log_phy_rx_eom_action.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_action" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_action" "August 2024" "API Manual" LINUX .SH NAME enum nvme_log_phy_rx_eom_action \- Physical Interface Receiver Eye Opening Measurement Action .SH SYNOPSIS diff --git a/doc/man/nvme_log_phy_rx_eom_quality.2 b/doc/man/nvme_log_phy_rx_eom_quality.2 index f520d44..ab05c9a 100644 --- a/doc/man/nvme_log_phy_rx_eom_quality.2 +++ b/doc/man/nvme_log_phy_rx_eom_quality.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_quality" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_log_phy_rx_eom_quality" "August 2024" "API Manual" LINUX .SH NAME enum nvme_log_phy_rx_eom_quality \- Physical Interface Receiver Eye Opening Measurement Quality .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_ctrl.2 b/doc/man/nvme_lookup_ctrl.2 index d72c43c..d513766 100644 --- a/doc/man/nvme_lookup_ctrl.2 +++ b/doc/man/nvme_lookup_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_ctrl" 9 "nvme_lookup_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_ctrl" 9 "nvme_lookup_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_ctrl \- Lookup nvme_ctrl_t object .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_host.2 b/doc/man/nvme_lookup_host.2 index 80b2cc4..3497cac 100644 --- a/doc/man/nvme_lookup_host.2 +++ b/doc/man/nvme_lookup_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_host" 9 "nvme_lookup_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_host" 9 "nvme_lookup_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_host \- Lookup nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_key.2 b/doc/man/nvme_lookup_key.2 index 00c218a..a44f49a 100644 --- a/doc/man/nvme_lookup_key.2 +++ b/doc/man/nvme_lookup_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_key" 9 "nvme_lookup_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_key" 9 "nvme_lookup_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_key \- Lookup key serial number .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_keyring.2 b/doc/man/nvme_lookup_keyring.2 index 42b8b02..1a366f9 100644 --- a/doc/man/nvme_lookup_keyring.2 +++ b/doc/man/nvme_lookup_keyring.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_keyring" 9 "nvme_lookup_keyring" "May 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_keyring" 9 "nvme_lookup_keyring" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_keyring \- Lookup keyring serial number .SH SYNOPSIS diff --git a/doc/man/nvme_lookup_subsystem.2 b/doc/man/nvme_lookup_subsystem.2 index a0db1e0..9562066 100644 --- a/doc/man/nvme_lookup_subsystem.2 +++ b/doc/man/nvme_lookup_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_lookup_subsystem" 9 "nvme_lookup_subsystem" "May 2024" "libnvme API manual" LINUX +.TH "nvme_lookup_subsystem" 9 "nvme_lookup_subsystem" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_lookup_subsystem \- Lookup nvme_subsystem_t object .SH SYNOPSIS diff --git a/doc/man/nvme_media_unit_config_desc.2 b/doc/man/nvme_media_unit_config_desc.2 index f610f20..8acebb6 100644 --- a/doc/man/nvme_media_unit_config_desc.2 +++ b/doc/man/nvme_media_unit_config_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_media_unit_config_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_config_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_media_unit_config_desc \- Media Unit Configuration Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_media_unit_stat_desc.2 b/doc/man/nvme_media_unit_stat_desc.2 index 3b23386..da635b9 100644 --- a/doc/man/nvme_media_unit_stat_desc.2 +++ b/doc/man/nvme_media_unit_stat_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_media_unit_stat_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_stat_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_media_unit_stat_desc \- Media Unit Status Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_media_unit_stat_log.2 b/doc/man/nvme_media_unit_stat_log.2 index c5ecadf..6fc8d48 100644 --- a/doc/man/nvme_media_unit_stat_log.2 +++ b/doc/man/nvme_media_unit_stat_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_media_unit_stat_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_media_unit_stat_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_media_unit_stat_log \- Media Unit Status .SH SYNOPSIS diff --git a/doc/man/nvme_metadata_element_desc.2 b/doc/man/nvme_metadata_element_desc.2 index 3088b94..b72bf0f 100644 --- a/doc/man/nvme_metadata_element_desc.2 +++ b/doc/man/nvme_metadata_element_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_metadata_element_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_metadata_element_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_metadata_element_desc \- Metadata Element Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_admin_passthru.2 b/doc/man/nvme_mi_admin_admin_passthru.2 index e6a7d1f..8fb6ee6 100644 --- a/doc/man/nvme_mi_admin_admin_passthru.2 +++ b/doc/man/nvme_mi_admin_admin_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_admin_passthru" 9 "nvme_mi_admin_admin_passthru" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_admin_passthru" 9 "nvme_mi_admin_admin_passthru" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_admin_passthru \- Submit an nvme admin passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_format_nvm.2 b/doc/man/nvme_mi_admin_format_nvm.2 index cb0f7c9..3a5507a 100644 --- a/doc/man/nvme_mi_admin_format_nvm.2 +++ b/doc/man/nvme_mi_admin_format_nvm.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_format_nvm" 9 "nvme_mi_admin_format_nvm" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_format_nvm" 9 "nvme_mi_admin_format_nvm" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_format_nvm \- Format NVMe namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_fw_commit.2 b/doc/man/nvme_mi_admin_fw_commit.2 index 6b6c466..db077b0 100644 --- a/doc/man/nvme_mi_admin_fw_commit.2 +++ b/doc/man/nvme_mi_admin_fw_commit.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_fw_commit" 9 "nvme_mi_admin_fw_commit" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_fw_commit" 9 "nvme_mi_admin_fw_commit" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_fw_commit \- Commit firmware using the specified action .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_fw_download.2 b/doc/man/nvme_mi_admin_fw_download.2 index e1b6f44..d44ed41 100644 --- a/doc/man/nvme_mi_admin_fw_download.2 +++ b/doc/man/nvme_mi_admin_fw_download.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_fw_download" 9 "nvme_mi_admin_fw_download" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_fw_download" 9 "nvme_mi_admin_fw_download" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_fw_download \- Download part or all of a firmware image to the controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_ana_log_atomic.2 b/doc/man/nvme_mi_admin_get_ana_log_atomic.2 new file mode 100644 index 0000000..6664761 --- /dev/null +++ b/doc/man/nvme_mi_admin_get_ana_log_atomic.2 @@ -0,0 +1,35 @@ +.TH "nvme_mi_admin_get_ana_log_atomic" 9 "nvme_mi_admin_get_ana_log_atomic" "August 2024" "libnvme API manual" LINUX +.SH NAME +nvme_mi_admin_get_ana_log_atomic \- Retrieve Asymmetric Namespace Access log page atomically +.SH SYNOPSIS +.B "int" nvme_mi_admin_get_ana_log_atomic +.BI "(nvme_mi_ctrl_t ctrl " "," +.BI "bool rgo " "," +.BI "bool rae " "," +.BI "unsigned int retries " "," +.BI "struct nvme_ana_log *log " "," +.BI "__u32 *len " ");" +.SH ARGUMENTS +.IP "ctrl" 12 +Controller to query +.IP "rgo" 12 +Whether to retrieve ANA groups only (no NSIDs) +.IP "rae" 12 +Whether to retain asynchronous events +.IP "retries" 12 +The maximum number of times to retry on log page changes +.IP "log" 12 +Pointer to a buffer to receive the ANA log page +.IP "len" 12 +Input: the length of the log page buffer. +Output: the actual length of the ANA log page. +.SH "DESCRIPTION" +See \fIstruct nvme_ana_log\fP for the definition of the returned structure. +.SH "RETURN" +If successful, returns 0 and sets *len to the actual log page length. +If unsuccessful, returns the nvme command status if a response was received +(see \fIenum nvme_status_field\fP) or -1 with errno set otherwise. +Sets errno = EINVAL if retries == 0. +Sets errno = EAGAIN if unable to read the log page atomically +because chgcnt changed during each of the retries attempts. +Sets errno = ENOSPC if the full log page does not fit in the provided buffer. diff --git a/doc/man/nvme_mi_admin_get_features_data.2 b/doc/man/nvme_mi_admin_get_features_data.2 index b65df13..341e2eb 100644 --- a/doc/man/nvme_mi_admin_get_features_data.2 +++ b/doc/man/nvme_mi_admin_get_features_data.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_features_data" 9 "nvme_mi_admin_get_features_data" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_features_data" 9 "nvme_mi_admin_get_features_data" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_features_data \- Helper function for &nvme_mi_admin_get_features() .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log.2 b/doc/man/nvme_mi_admin_get_log.2 index c48c611..d88dc6b 100644 --- a/doc/man/nvme_mi_admin_get_log.2 +++ b/doc/man/nvme_mi_admin_get_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log" 9 "nvme_mi_admin_get_log" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log" 9 "nvme_mi_admin_get_log" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log \- Retrieve log page data from controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_ana.2 b/doc/man/nvme_mi_admin_get_log_ana.2 index f381cc9..29e27ab 100644 --- a/doc/man/nvme_mi_admin_get_log_ana.2 +++ b/doc/man/nvme_mi_admin_get_log_ana.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_ana" 9 "nvme_mi_admin_get_log_ana" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_ana" 9 "nvme_mi_admin_get_log_ana" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_ana \- Retrieve Asymmetric Namespace Access log page .SH SYNOPSIS @@ -27,7 +27,7 @@ This log consists of a header describing the log and descriptors containing the asymmetric namespace access information for ANA Groups that contain namespaces that are attached to the controller processing the command. -See \fIstruct nvme_ana_rsp_hdr\fP for the definition of the returned structure. +See \fIstruct nvme_ana_log\fP for the definition of the returned structure. .SH "RETURN" The nvme command status if a response was received (see \fIenum nvme_status_field\fP) or -1 with errno set otherwise. diff --git a/doc/man/nvme_mi_admin_get_log_ana_groups.2 b/doc/man/nvme_mi_admin_get_log_ana_groups.2 index 18f4f39..98190d9 100644 --- a/doc/man/nvme_mi_admin_get_log_ana_groups.2 +++ b/doc/man/nvme_mi_admin_get_log_ana_groups.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_ana_groups" 9 "nvme_mi_admin_get_log_ana_groups" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_ana_groups" 9 "nvme_mi_admin_get_log_ana_groups" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_ana_groups \- Retrieve Asymmetric Namespace Access groups only log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_boot_partition.2 b/doc/man/nvme_mi_admin_get_log_boot_partition.2 index 42fec36..14824ef 100644 --- a/doc/man/nvme_mi_admin_get_log_boot_partition.2 +++ b/doc/man/nvme_mi_admin_get_log_boot_partition.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_boot_partition" 9 "nvme_mi_admin_get_log_boot_partition" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_boot_partition" 9 "nvme_mi_admin_get_log_boot_partition" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_boot_partition \- Retrieve Boot Partition .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 b/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 index 9c51db3..6633c1b 100644 --- a/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 +++ b/doc/man/nvme_mi_admin_get_log_changed_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_changed_ns_list" 9 "nvme_mi_admin_get_log_changed_ns_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_changed_ns_list" 9 "nvme_mi_admin_get_log_changed_ns_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_changed_ns_list \- Retrieve namespace changed list .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_cmd_effects.2 b/doc/man/nvme_mi_admin_get_log_cmd_effects.2 index 283e6e7..8bffa02 100644 --- a/doc/man/nvme_mi_admin_get_log_cmd_effects.2 +++ b/doc/man/nvme_mi_admin_get_log_cmd_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_cmd_effects" 9 "nvme_mi_admin_get_log_cmd_effects" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_cmd_effects" 9 "nvme_mi_admin_get_log_cmd_effects" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_cmd_effects \- Retrieve nvme command effects log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 b/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 index 6635ef3..72148bd 100644 --- a/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 +++ b/doc/man/nvme_mi_admin_get_log_create_telemetry_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_create_telemetry_host" 9 "nvme_mi_admin_get_log_create_telemetry_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_create_telemetry_host" 9 "nvme_mi_admin_get_log_create_telemetry_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_create_telemetry_host \- Create host telemetry log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_device_self_test.2 b/doc/man/nvme_mi_admin_get_log_device_self_test.2 index 62f6a73..678bebb 100644 --- a/doc/man/nvme_mi_admin_get_log_device_self_test.2 +++ b/doc/man/nvme_mi_admin_get_log_device_self_test.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_device_self_test" 9 "nvme_mi_admin_get_log_device_self_test" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_device_self_test" 9 "nvme_mi_admin_get_log_device_self_test" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_device_self_test \- Retrieve the device self test log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_discovery.2 b/doc/man/nvme_mi_admin_get_log_discovery.2 index a1ee846..1ffa184 100644 --- a/doc/man/nvme_mi_admin_get_log_discovery.2 +++ b/doc/man/nvme_mi_admin_get_log_discovery.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_discovery" 9 "nvme_mi_admin_get_log_discovery" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_discovery" 9 "nvme_mi_admin_get_log_discovery" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_discovery \- Retrieve Discovery log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_endurance_group.2 b/doc/man/nvme_mi_admin_get_log_endurance_group.2 index b48cf74..30b4bba 100644 --- a/doc/man/nvme_mi_admin_get_log_endurance_group.2 +++ b/doc/man/nvme_mi_admin_get_log_endurance_group.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_endurance_group" 9 "nvme_mi_admin_get_log_endurance_group" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_endurance_group" 9 "nvme_mi_admin_get_log_endurance_group" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_endurance_group \- Get Endurance Group log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 b/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 index 14a0a97..4db995b 100644 --- a/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 +++ b/doc/man/nvme_mi_admin_get_log_endurance_grp_evt.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_endurance_grp_evt" 9 "nvme_mi_admin_get_log_endurance_grp_evt" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_endurance_grp_evt" 9 "nvme_mi_admin_get_log_endurance_grp_evt" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_endurance_grp_evt \- Retrieve Rotational Media Information .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_error.2 b/doc/man/nvme_mi_admin_get_log_error.2 index a08dc9a..0368743 100644 --- a/doc/man/nvme_mi_admin_get_log_error.2 +++ b/doc/man/nvme_mi_admin_get_log_error.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_error" 9 "nvme_mi_admin_get_log_error" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_error" 9 "nvme_mi_admin_get_log_error" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_error \- Retrieve nvme error log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 b/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 index aca967c..1ad2ff7 100644 --- a/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 +++ b/doc/man/nvme_mi_admin_get_log_fid_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_fid_supported_effects" 9 "nvme_mi_admin_get_log_fid_supported_effects" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_fid_supported_effects" 9 "nvme_mi_admin_get_log_fid_supported_effects" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_fid_supported_effects \- Retrieve Feature Identifiers Supported and Effects .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_fw_slot.2 b/doc/man/nvme_mi_admin_get_log_fw_slot.2 index e83459a..da73aaa 100644 --- a/doc/man/nvme_mi_admin_get_log_fw_slot.2 +++ b/doc/man/nvme_mi_admin_get_log_fw_slot.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_fw_slot" 9 "nvme_mi_admin_get_log_fw_slot" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_fw_slot" 9 "nvme_mi_admin_get_log_fw_slot" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_fw_slot \- Retrieves the controller firmware log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_lba_status.2 b/doc/man/nvme_mi_admin_get_log_lba_status.2 index 54d793a..3bd127c 100644 --- a/doc/man/nvme_mi_admin_get_log_lba_status.2 +++ b/doc/man/nvme_mi_admin_get_log_lba_status.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_lba_status" 9 "nvme_mi_admin_get_log_lba_status" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_lba_status" 9 "nvme_mi_admin_get_log_lba_status" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_lba_status \- Retrieve LBA Status .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 b/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 index 6bcd2de..352c47d 100644 --- a/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 +++ b/doc/man/nvme_mi_admin_get_log_media_unit_stat.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_media_unit_stat" 9 "nvme_mi_admin_get_log_media_unit_stat" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_media_unit_stat" 9 "nvme_mi_admin_get_log_media_unit_stat" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_media_unit_stat \- Retrieve Media Unit Status .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2 b/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2 index 8b080d9..a07d0dc 100644 --- a/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2 +++ b/doc/man/nvme_mi_admin_get_log_mi_cmd_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_mi_cmd_supported_effects" 9 "nvme_mi_admin_get_log_mi_cmd_supported_effects" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_mi_cmd_supported_effects" 9 "nvme_mi_admin_get_log_mi_cmd_supported_effects" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_mi_cmd_supported_effects \- displays the MI Commands Supported by the controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_page.2 b/doc/man/nvme_mi_admin_get_log_page.2 index f6511cc..9717bc1 100644 --- a/doc/man/nvme_mi_admin_get_log_page.2 +++ b/doc/man/nvme_mi_admin_get_log_page.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_page" 9 "nvme_mi_admin_get_log_page" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_page" 9 "nvme_mi_admin_get_log_page" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_page \- Retrieve log page data from controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_persistent_event.2 b/doc/man/nvme_mi_admin_get_log_persistent_event.2 index fe16d8a..f5bf8c5 100644 --- a/doc/man/nvme_mi_admin_get_log_persistent_event.2 +++ b/doc/man/nvme_mi_admin_get_log_persistent_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_persistent_event" 9 "nvme_mi_admin_get_log_persistent_event" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_persistent_event" 9 "nvme_mi_admin_get_log_persistent_event" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_persistent_event \- Retrieve Persistent Event Log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 b/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 index c2d984b..548688a 100644 --- a/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 +++ b/doc/man/nvme_mi_admin_get_log_phy_rx_eom.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_phy_rx_eom" 9 "nvme_mi_admin_get_log_phy_rx_eom" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_phy_rx_eom" 9 "nvme_mi_admin_get_log_phy_rx_eom" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_phy_rx_eom \- Retrieve Physical Interface Receiver Eye Opening Measurement Log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 b/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 index f5d1921..80ed6d2 100644 --- a/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 +++ b/doc/man/nvme_mi_admin_get_log_predictable_lat_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_predictable_lat_event" 9 "nvme_mi_admin_get_log_predictable_lat_event" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_predictable_lat_event" 9 "nvme_mi_admin_get_log_predictable_lat_event" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_predictable_lat_event \- Retrieve Predictable Latency Event Aggregate Log Page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 b/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 index f8b3fa5..0032d5f 100644 --- a/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 +++ b/doc/man/nvme_mi_admin_get_log_predictable_lat_nvmset.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_predictable_lat_nvmset" 9 "nvme_mi_admin_get_log_predictable_lat_nvmset" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_predictable_lat_nvmset" 9 "nvme_mi_admin_get_log_predictable_lat_nvmset" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_predictable_lat_nvmset \- Predictable Latency Per NVM Set .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_reservation.2 b/doc/man/nvme_mi_admin_get_log_reservation.2 index 855e974..2fa9e3c 100644 --- a/doc/man/nvme_mi_admin_get_log_reservation.2 +++ b/doc/man/nvme_mi_admin_get_log_reservation.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_reservation" 9 "nvme_mi_admin_get_log_reservation" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_reservation" 9 "nvme_mi_admin_get_log_reservation" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_reservation \- Retrieve Reservation Notification .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_sanitize.2 b/doc/man/nvme_mi_admin_get_log_sanitize.2 index c21867c..4656ff3 100644 --- a/doc/man/nvme_mi_admin_get_log_sanitize.2 +++ b/doc/man/nvme_mi_admin_get_log_sanitize.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_sanitize" 9 "nvme_mi_admin_get_log_sanitize" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_sanitize" 9 "nvme_mi_admin_get_log_sanitize" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_sanitize \- Retrieve Sanitize Status .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_simple.2 b/doc/man/nvme_mi_admin_get_log_simple.2 index 451154e..cf40f85 100644 --- a/doc/man/nvme_mi_admin_get_log_simple.2 +++ b/doc/man/nvme_mi_admin_get_log_simple.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_simple" 9 "nvme_mi_admin_get_log_simple" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_simple" 9 "nvme_mi_admin_get_log_simple" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_simple \- Helper for Get Log Page functions with no NSID or RAE requirements .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_smart.2 b/doc/man/nvme_mi_admin_get_log_smart.2 index 55eeca4..f5cad36 100644 --- a/doc/man/nvme_mi_admin_get_log_smart.2 +++ b/doc/man/nvme_mi_admin_get_log_smart.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_smart" 9 "nvme_mi_admin_get_log_smart" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_smart" 9 "nvme_mi_admin_get_log_smart" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_smart \- Retrieve nvme smart log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2 b/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2 index a20a1ce..a32b34f 100644 --- a/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2 +++ b/doc/man/nvme_mi_admin_get_log_support_cap_config_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_support_cap_config_list" 9 "nvme_mi_admin_get_log_support_cap_config_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_support_cap_config_list" 9 "nvme_mi_admin_get_log_support_cap_config_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_support_cap_config_list \- Retrieve Supported Capacity Configuration List .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 b/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 index c90d9fc..d97b695 100644 --- a/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 +++ b/doc/man/nvme_mi_admin_get_log_supported_log_pages.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_supported_log_pages" 9 "nvme_mi_admin_get_log_supported_log_pages" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_supported_log_pages" 9 "nvme_mi_admin_get_log_supported_log_pages" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_supported_log_pages \- Retrieve nmve supported log pages .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 b/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 index 9f78de5..4e91b24 100644 --- a/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 +++ b/doc/man/nvme_mi_admin_get_log_telemetry_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_telemetry_ctrl" 9 "nvme_mi_admin_get_log_telemetry_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_telemetry_ctrl" 9 "nvme_mi_admin_get_log_telemetry_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_telemetry_ctrl \- Get Telemetry Controller-Initiated log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_telemetry_host.2 b/doc/man/nvme_mi_admin_get_log_telemetry_host.2 index da5163c..52f672b 100644 --- a/doc/man/nvme_mi_admin_get_log_telemetry_host.2 +++ b/doc/man/nvme_mi_admin_get_log_telemetry_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_telemetry_host" 9 "nvme_mi_admin_get_log_telemetry_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_telemetry_host" 9 "nvme_mi_admin_get_log_telemetry_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_telemetry_host \- Get Telemetry Host-Initiated log page .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 b/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 index 81682ca..8e2a607 100644 --- a/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 +++ b/doc/man/nvme_mi_admin_get_log_zns_changed_zones.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_log_zns_changed_zones" 9 "nvme_mi_admin_get_log_zns_changed_zones" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_log_zns_changed_zones" 9 "nvme_mi_admin_get_log_zns_changed_zones" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_log_zns_changed_zones \- Retrieve list of zones that have changed .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_get_nsid_log.2 b/doc/man/nvme_mi_admin_get_nsid_log.2 index c5f3511..e7a4e92 100644 --- a/doc/man/nvme_mi_admin_get_nsid_log.2 +++ b/doc/man/nvme_mi_admin_get_nsid_log.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_get_nsid_log" 9 "nvme_mi_admin_get_nsid_log" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_get_nsid_log" 9 "nvme_mi_admin_get_nsid_log" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_get_nsid_log \- Helper for Get Log Page functions .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify.2 b/doc/man/nvme_mi_admin_identify.2 index 72efaed..7b6c6f8 100644 --- a/doc/man/nvme_mi_admin_identify.2 +++ b/doc/man/nvme_mi_admin_identify.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify" 9 "nvme_mi_admin_identify" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify" 9 "nvme_mi_admin_identify" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify \- Perform an Admin identify command. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_active_ns_list.2 b/doc/man/nvme_mi_admin_identify_active_ns_list.2 index 075de1c..6c5281e 100644 --- a/doc/man/nvme_mi_admin_identify_active_ns_list.2 +++ b/doc/man/nvme_mi_admin_identify_active_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_active_ns_list" 9 "nvme_mi_admin_identify_active_ns_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_active_ns_list" 9 "nvme_mi_admin_identify_active_ns_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_active_ns_list \- Perform an Admin identify for an active namespace list .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_allocated_ns.2 b/doc/man/nvme_mi_admin_identify_allocated_ns.2 index 3ae1492..3a55e0d 100644 --- a/doc/man/nvme_mi_admin_identify_allocated_ns.2 +++ b/doc/man/nvme_mi_admin_identify_allocated_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_allocated_ns" 9 "nvme_mi_admin_identify_allocated_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_allocated_ns" 9 "nvme_mi_admin_identify_allocated_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_allocated_ns \- Perform an Admin identify command for an allocated namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 b/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 index 1c82a2b..fa01298 100644 --- a/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 +++ b/doc/man/nvme_mi_admin_identify_allocated_ns_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_allocated_ns_list" 9 "nvme_mi_admin_identify_allocated_ns_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_allocated_ns_list" 9 "nvme_mi_admin_identify_allocated_ns_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_allocated_ns_list \- Perform an Admin identify for an allocated namespace list .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_cns_nsid.2 b/doc/man/nvme_mi_admin_identify_cns_nsid.2 index 03829e4..123977f 100644 --- a/doc/man/nvme_mi_admin_identify_cns_nsid.2 +++ b/doc/man/nvme_mi_admin_identify_cns_nsid.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_cns_nsid" 9 "nvme_mi_admin_identify_cns_nsid" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_cns_nsid" 9 "nvme_mi_admin_identify_cns_nsid" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_cns_nsid \- Perform an Admin identify command using specific CNS/NSID parameters. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ctrl.2 b/doc/man/nvme_mi_admin_identify_ctrl.2 index 67fbe4b..dfe7ea8 100644 --- a/doc/man/nvme_mi_admin_identify_ctrl.2 +++ b/doc/man/nvme_mi_admin_identify_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_ctrl" 9 "nvme_mi_admin_identify_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ctrl" 9 "nvme_mi_admin_identify_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ctrl \- Perform an Admin identify for a controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_ctrl_list.2 index e6a71a9..5a0a452 100644 --- a/doc/man/nvme_mi_admin_identify_ctrl_list.2 +++ b/doc/man/nvme_mi_admin_identify_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_ctrl_list" 9 "nvme_mi_admin_identify_ctrl_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ctrl_list" 9 "nvme_mi_admin_identify_ctrl_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ctrl_list \- Perform an Admin identify for a controller list. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ns.2 b/doc/man/nvme_mi_admin_identify_ns.2 index 37a4f05..119a98c 100644 --- a/doc/man/nvme_mi_admin_identify_ns.2 +++ b/doc/man/nvme_mi_admin_identify_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_ns" 9 "nvme_mi_admin_identify_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ns" 9 "nvme_mi_admin_identify_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ns \- Perform an Admin identify command for a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_ns_descs.2 b/doc/man/nvme_mi_admin_identify_ns_descs.2 index c662ec2..565e134 100644 --- a/doc/man/nvme_mi_admin_identify_ns_descs.2 +++ b/doc/man/nvme_mi_admin_identify_ns_descs.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_ns_descs" 9 "nvme_mi_admin_identify_ns_descs" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_ns_descs" 9 "nvme_mi_admin_identify_ns_descs" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_ns_descs \- Perform an Admin identify Namespace Identification Descriptor list command for a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 index 661bd39..c56ee7c 100644 --- a/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 +++ b/doc/man/nvme_mi_admin_identify_nsid_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_nsid_ctrl_list" 9 "nvme_mi_admin_identify_nsid_ctrl_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_nsid_ctrl_list" 9 "nvme_mi_admin_identify_nsid_ctrl_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_nsid_ctrl_list \- Perform an Admin identify for a controller list with specific namespace ID .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_partial.2 b/doc/man/nvme_mi_admin_identify_partial.2 index eec683d..179b9cb 100644 --- a/doc/man/nvme_mi_admin_identify_partial.2 +++ b/doc/man/nvme_mi_admin_identify_partial.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_partial" 9 "nvme_mi_admin_identify_partial" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_partial" 9 "nvme_mi_admin_identify_partial" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_partial \- Perform an Admin identify command, and retrieve partial response data. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_primary_ctrl.2 b/doc/man/nvme_mi_admin_identify_primary_ctrl.2 index 177aed8..f27fc7c 100644 --- a/doc/man/nvme_mi_admin_identify_primary_ctrl.2 +++ b/doc/man/nvme_mi_admin_identify_primary_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_primary_ctrl" 9 "nvme_mi_admin_identify_primary_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_primary_ctrl" 9 "nvme_mi_admin_identify_primary_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_primary_ctrl \- Perform an Admin identify for primary controller capabilities data structure. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 b/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 index 76ecb24..1f6c8ad 100644 --- a/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 +++ b/doc/man/nvme_mi_admin_identify_secondary_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_identify_secondary_ctrl_list" 9 "nvme_mi_admin_identify_secondary_ctrl_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_identify_secondary_ctrl_list" 9 "nvme_mi_admin_identify_secondary_ctrl_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_identify_secondary_ctrl_list \- Perform an Admin identify for a secondary controller list. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_ns_attach.2 b/doc/man/nvme_mi_admin_ns_attach.2 index e2d1449..2e5aedc 100644 --- a/doc/man/nvme_mi_admin_ns_attach.2 +++ b/doc/man/nvme_mi_admin_ns_attach.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_ns_attach" 9 "nvme_mi_admin_ns_attach" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_attach" 9 "nvme_mi_admin_ns_attach" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_ns_attach \- Attach or detach namespace to controller(s) .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_ns_attach_ctrls.2 b/doc/man/nvme_mi_admin_ns_attach_ctrls.2 index dcd6dd5..be89dba 100644 --- a/doc/man/nvme_mi_admin_ns_attach_ctrls.2 +++ b/doc/man/nvme_mi_admin_ns_attach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_ns_attach_ctrls" 9 "nvme_mi_admin_ns_attach_ctrls" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_attach_ctrls" 9 "nvme_mi_admin_ns_attach_ctrls" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_ns_attach_ctrls \- Attach namespace to controllers .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_ns_detach_ctrls.2 b/doc/man/nvme_mi_admin_ns_detach_ctrls.2 index d6a3dba..9e89e7f 100644 --- a/doc/man/nvme_mi_admin_ns_detach_ctrls.2 +++ b/doc/man/nvme_mi_admin_ns_detach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_ns_detach_ctrls" 9 "nvme_mi_admin_ns_detach_ctrls" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_ns_detach_ctrls" 9 "nvme_mi_admin_ns_detach_ctrls" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_ns_detach_ctrls \- Detach namespace from controllers .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_req_hdr.2 b/doc/man/nvme_mi_admin_req_hdr.2 index 703cfd1..d19ed85 100644 --- a/doc/man/nvme_mi_admin_req_hdr.2 +++ b/doc/man/nvme_mi_admin_req_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_admin_req_hdr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_admin_req_hdr" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_admin_req_hdr \- Admin command request header. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_resp_hdr.2 b/doc/man/nvme_mi_admin_resp_hdr.2 index add43ed..26c68a3 100644 --- a/doc/man/nvme_mi_admin_resp_hdr.2 +++ b/doc/man/nvme_mi_admin_resp_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_admin_resp_hdr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_admin_resp_hdr" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_admin_resp_hdr \- Admin command response header. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_sanitize_nvm.2 b/doc/man/nvme_mi_admin_sanitize_nvm.2 index 7afa301..cfe5441 100644 --- a/doc/man/nvme_mi_admin_sanitize_nvm.2 +++ b/doc/man/nvme_mi_admin_sanitize_nvm.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_sanitize_nvm" 9 "nvme_mi_admin_sanitize_nvm" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_sanitize_nvm" 9 "nvme_mi_admin_sanitize_nvm" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_sanitize_nvm \- Start a subsystem Sanitize operation .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_security_recv.2 b/doc/man/nvme_mi_admin_security_recv.2 index 7c1e707..123f7d2 100644 --- a/doc/man/nvme_mi_admin_security_recv.2 +++ b/doc/man/nvme_mi_admin_security_recv.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_security_recv" 9 "nvme_mi_admin_security_recv" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_security_recv" 9 "nvme_mi_admin_security_recv" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_security_recv \- Perform a Security Receive command on a controller. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_security_send.2 b/doc/man/nvme_mi_admin_security_send.2 index b9ac0de..e6b9648 100644 --- a/doc/man/nvme_mi_admin_security_send.2 +++ b/doc/man/nvme_mi_admin_security_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_security_send" 9 "nvme_mi_admin_security_send" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_security_send" 9 "nvme_mi_admin_security_send" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_security_send \- Perform a Security Send command on a controller. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_admin_xfer.2 b/doc/man/nvme_mi_admin_xfer.2 index 6027146..3d0ca8a 100644 --- a/doc/man/nvme_mi_admin_xfer.2 +++ b/doc/man/nvme_mi_admin_xfer.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_admin_xfer" 9 "nvme_mi_admin_xfer" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_admin_xfer \- Raw admin transfer interface. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_ccs.2 b/doc/man/nvme_mi_ccs.2 index 08dd5b7..4c72056 100644 --- a/doc/man/nvme_mi_ccs.2 +++ b/doc/man/nvme_mi_ccs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_ccs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_ccs" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_ccs \- Get State Control Primitive Success Response Fields - Control Primitive Specific Response .SH SYNOPSIS diff --git a/doc/man/nvme_mi_close.2 b/doc/man/nvme_mi_close.2 index d316820..a938e49 100644 --- a/doc/man/nvme_mi_close.2 +++ b/doc/man/nvme_mi_close.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_close" 9 "nvme_mi_close" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_close" 9 "nvme_mi_close" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_close \- Close an endpoint connection and release resources, including controller objects. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_close_ctrl.2 b/doc/man/nvme_mi_close_ctrl.2 index 0f206d4..035bf46 100644 --- a/doc/man/nvme_mi_close_ctrl.2 +++ b/doc/man/nvme_mi_close_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_close_ctrl" 9 "nvme_mi_close_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_close_ctrl" 9 "nvme_mi_close_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_close_ctrl \- free a controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_cmd_supported_effects.2 b/doc/man/nvme_mi_cmd_supported_effects.2 index 0f2ab63..872329a 100644 --- a/doc/man/nvme_mi_cmd_supported_effects.2 +++ b/doc/man/nvme_mi_cmd_supported_effects.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_cmd_supported_effects" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_cmd_supported_effects" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_cmd_supported_effects \- MI Command Supported and Effects Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_cmd_supported_effects_log.2 b/doc/man/nvme_mi_cmd_supported_effects_log.2 index 627ec16..9c751e2 100644 --- a/doc/man/nvme_mi_cmd_supported_effects_log.2 +++ b/doc/man/nvme_mi_cmd_supported_effects_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_cmd_supported_effects_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_cmd_supported_effects_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_cmd_supported_effects_log \- NVMe-MI Commands Supported and Effects Log .SH SYNOPSIS diff --git a/doc/man/nvme_mi_config_id.2 b/doc/man/nvme_mi_config_id.2 index d2ff40e..fdfbd14 100644 --- a/doc/man/nvme_mi_config_id.2 +++ b/doc/man/nvme_mi_config_id.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_config_id" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_config_id" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_config_id \- NVMe-MI Configuration identifier. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_config_smbus_freq.2 b/doc/man/nvme_mi_config_smbus_freq.2 index 17344bd..841c53a 100644 --- a/doc/man/nvme_mi_config_smbus_freq.2 +++ b/doc/man/nvme_mi_config_smbus_freq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_config_smbus_freq" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_config_smbus_freq" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_config_smbus_freq \- SMBus/I2C frequency values .SH SYNOPSIS diff --git a/doc/man/nvme_mi_create_root.2 b/doc/man/nvme_mi_create_root.2 index 55cf7c6..8c84276 100644 --- a/doc/man/nvme_mi_create_root.2 +++ b/doc/man/nvme_mi_create_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_create_root" 9 "nvme_mi_create_root" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_create_root" 9 "nvme_mi_create_root" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_create_root \- Create top-level MI (root) handle. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_csts.2 b/doc/man/nvme_mi_csts.2 index ec8a849..6be72a5 100644 --- a/doc/man/nvme_mi_csts.2 +++ b/doc/man/nvme_mi_csts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_csts" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_csts" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_csts \- Controller Health Data Structure (CHDS) - Controller Status (CSTS) .SH SYNOPSIS diff --git a/doc/man/nvme_mi_ctrl_health_status.2 b/doc/man/nvme_mi_ctrl_health_status.2 index 98aca50..90aca94 100644 --- a/doc/man/nvme_mi_ctrl_health_status.2 +++ b/doc/man/nvme_mi_ctrl_health_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_ctrl_health_status" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_ctrl_health_status" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_ctrl_health_status \- Controller Health Data Structure (CHDS) .SH SYNOPSIS diff --git a/doc/man/nvme_mi_ctrl_id.2 b/doc/man/nvme_mi_ctrl_id.2 index 7c64d54..a27ffa7 100644 --- a/doc/man/nvme_mi_ctrl_id.2 +++ b/doc/man/nvme_mi_ctrl_id.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_ctrl_id" 9 "nvme_mi_ctrl_id" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_ctrl_id" 9 "nvme_mi_ctrl_id" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_ctrl_id \- get the ID of a controller .SH SYNOPSIS diff --git a/doc/man/nvme_mi_cwarn.2 b/doc/man/nvme_mi_cwarn.2 index fbc6fc2..3f525c0 100644 --- a/doc/man/nvme_mi_cwarn.2 +++ b/doc/man/nvme_mi_cwarn.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_cwarn" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_cwarn" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_cwarn \- Controller Health Data Structure (CHDS) - Critical Warning (CWARN) .SH SYNOPSIS diff --git a/doc/man/nvme_mi_dtyp.2 b/doc/man/nvme_mi_dtyp.2 index 2a3266e..7aa06e6 100644 --- a/doc/man/nvme_mi_dtyp.2 +++ b/doc/man/nvme_mi_dtyp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_dtyp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_dtyp" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_dtyp \- Data Structure Type field. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_elem.2 b/doc/man/nvme_mi_elem.2 index 9d72fba..db24d77 100644 --- a/doc/man/nvme_mi_elem.2 +++ b/doc/man/nvme_mi_elem.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_elem" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_elem" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_elem \- Element Descriptor Types .SH SYNOPSIS diff --git a/doc/man/nvme_mi_free_root.2 b/doc/man/nvme_mi_free_root.2 index 75ab84c..06ff547 100644 --- a/doc/man/nvme_mi_free_root.2 +++ b/doc/man/nvme_mi_free_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_free_root" 9 "nvme_mi_free_root" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_free_root" 9 "nvme_mi_free_root" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_free_root \- Free root object. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_init_ctrl.2 b/doc/man/nvme_mi_init_ctrl.2 index d4d5f87..7381b8b 100644 --- a/doc/man/nvme_mi_init_ctrl.2 +++ b/doc/man/nvme_mi_init_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_init_ctrl" 9 "nvme_mi_init_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_init_ctrl" 9 "nvme_mi_init_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_init_ctrl \- initialise a NVMe controller. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_message_type.2 b/doc/man/nvme_mi_message_type.2 index ca369b0..e00b547 100644 --- a/doc/man/nvme_mi_message_type.2 +++ b/doc/man/nvme_mi_message_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_message_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_message_type" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_message_type \- NVMe-MI message type field. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_opcode.2 b/doc/man/nvme_mi_mi_opcode.2 index ed19f78..42fccda 100644 --- a/doc/man/nvme_mi_mi_opcode.2 +++ b/doc/man/nvme_mi_mi_opcode.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_mi_opcode" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_mi_opcode" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_mi_opcode \- Operation code for supported NVMe-MI commands. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_read_mi_data_ctrl.2 b/doc/man/nvme_mi_mi_read_mi_data_ctrl.2 index cf09de7..7886139 100644 --- a/doc/man/nvme_mi_mi_read_mi_data_ctrl.2 +++ b/doc/man/nvme_mi_mi_read_mi_data_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_read_mi_data_ctrl" 9 "nvme_mi_mi_read_mi_data_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_ctrl" 9 "nvme_mi_mi_read_mi_data_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_read_mi_data_ctrl \- Perform a Read MI Data Structure command, retrieving controller information .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2 b/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2 index f5e931c..68aa8c9 100644 --- a/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2 +++ b/doc/man/nvme_mi_mi_read_mi_data_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_read_mi_data_ctrl_list" 9 "nvme_mi_mi_read_mi_data_ctrl_list" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_ctrl_list" 9 "nvme_mi_mi_read_mi_data_ctrl_list" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_read_mi_data_ctrl_list \- Perform a Read MI Data Structure command, retrieving the list of attached controllers. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_read_mi_data_port.2 b/doc/man/nvme_mi_mi_read_mi_data_port.2 index 215ef31..961f99a 100644 --- a/doc/man/nvme_mi_mi_read_mi_data_port.2 +++ b/doc/man/nvme_mi_mi_read_mi_data_port.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_read_mi_data_port" 9 "nvme_mi_mi_read_mi_data_port" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_port" 9 "nvme_mi_mi_read_mi_data_port" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_read_mi_data_port \- Perform a Read MI Data Structure command, retrieving port data. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_read_mi_data_subsys.2 b/doc/man/nvme_mi_mi_read_mi_data_subsys.2 index 9c76974..6e571c6 100644 --- a/doc/man/nvme_mi_mi_read_mi_data_subsys.2 +++ b/doc/man/nvme_mi_mi_read_mi_data_subsys.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_read_mi_data_subsys" 9 "nvme_mi_mi_read_mi_data_subsys" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_read_mi_data_subsys" 9 "nvme_mi_mi_read_mi_data_subsys" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_read_mi_data_subsys \- Perform a Read MI Data Structure command, retrieving subsystem data. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_req_hdr.2 b/doc/man/nvme_mi_mi_req_hdr.2 index 08385b8..d2a332f 100644 --- a/doc/man/nvme_mi_mi_req_hdr.2 +++ b/doc/man/nvme_mi_mi_req_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_mi_req_hdr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_mi_req_hdr" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_mi_req_hdr \- MI request message header. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_resp_hdr.2 b/doc/man/nvme_mi_mi_resp_hdr.2 index cf27de1..63164c5 100644 --- a/doc/man/nvme_mi_mi_resp_hdr.2 +++ b/doc/man/nvme_mi_mi_resp_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_mi_resp_hdr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_mi_resp_hdr" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_mi_resp_hdr \- MI response message header. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_mi_subsystem_health_status_poll.2 b/doc/man/nvme_mi_mi_subsystem_health_status_poll.2 index 462aee3..aa703ac 100644 --- a/doc/man/nvme_mi_mi_subsystem_health_status_poll.2 +++ b/doc/man/nvme_mi_mi_subsystem_health_status_poll.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_mi_subsystem_health_status_poll" 9 "nvme_mi_mi_subsystem_health_status_poll" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_mi_subsystem_health_status_poll" 9 "nvme_mi_mi_subsystem_health_status_poll" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_mi_subsystem_health_status_poll \- Read the Subsystem Health Data Structure from the NVM subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_mi_msg_hdr.2 b/doc/man/nvme_mi_msg_hdr.2 index b25f953..39cdfd2 100644 --- a/doc/man/nvme_mi_msg_hdr.2 +++ b/doc/man/nvme_mi_msg_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_msg_hdr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_msg_hdr" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_msg_hdr \- General MI message header. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_msg_resp.2 b/doc/man/nvme_mi_msg_resp.2 index 21cfa82..b885151 100644 --- a/doc/man/nvme_mi_msg_resp.2 +++ b/doc/man/nvme_mi_msg_resp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_msg_resp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_msg_resp" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_msg_resp \- Generic response type. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_nvm_ss_health_status.2 b/doc/man/nvme_mi_nvm_ss_health_status.2 index 440d1fa..900c57c 100644 --- a/doc/man/nvme_mi_nvm_ss_health_status.2 +++ b/doc/man/nvme_mi_nvm_ss_health_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_nvm_ss_health_status" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_nvm_ss_health_status" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_nvm_ss_health_status \- Subsystem Management Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_open_mctp.2 b/doc/man/nvme_mi_open_mctp.2 index 50ffc96..d13c9d6 100644 --- a/doc/man/nvme_mi_open_mctp.2 +++ b/doc/man/nvme_mi_open_mctp.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_open_mctp" 9 "nvme_mi_open_mctp" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_open_mctp" 9 "nvme_mi_open_mctp" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_open_mctp \- Create an endpoint using a MCTP connection. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_osc.2 b/doc/man/nvme_mi_osc.2 index 7545f04..766b9d0 100644 --- a/doc/man/nvme_mi_osc.2 +++ b/doc/man/nvme_mi_osc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_osc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_osc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_osc \- Optionally Supported Command Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_port_pcie.2 b/doc/man/nvme_mi_port_pcie.2 index c7d61a6..95060c0 100644 --- a/doc/man/nvme_mi_port_pcie.2 +++ b/doc/man/nvme_mi_port_pcie.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_port_pcie" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_port_pcie" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_port_pcie \- PCIe Port Specific Data .SH SYNOPSIS diff --git a/doc/man/nvme_mi_port_smb.2 b/doc/man/nvme_mi_port_smb.2 index bc4ff5a..42e0466 100644 --- a/doc/man/nvme_mi_port_smb.2 +++ b/doc/man/nvme_mi_port_smb.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_port_smb" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_port_smb" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_port_smb \- SMBus Port Specific Data .SH SYNOPSIS diff --git a/doc/man/nvme_mi_read_ctrl_info.2 b/doc/man/nvme_mi_read_ctrl_info.2 index 98695e5..0b526c4 100644 --- a/doc/man/nvme_mi_read_ctrl_info.2 +++ b/doc/man/nvme_mi_read_ctrl_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_read_ctrl_info" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_ctrl_info" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_read_ctrl_info \- Controller Information Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_read_nvm_ss_info.2 b/doc/man/nvme_mi_read_nvm_ss_info.2 index b49abe5..2a31c4c 100644 --- a/doc/man/nvme_mi_read_nvm_ss_info.2 +++ b/doc/man/nvme_mi_read_nvm_ss_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_read_nvm_ss_info" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_nvm_ss_info" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_read_nvm_ss_info \- NVM Subsystem Information Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_read_port_info.2 b/doc/man/nvme_mi_read_port_info.2 index 0f195c8..5782511 100644 --- a/doc/man/nvme_mi_read_port_info.2 +++ b/doc/man/nvme_mi_read_port_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_read_port_info" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_port_info" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_read_port_info \- Port Information Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_read_sc_list.2 b/doc/man/nvme_mi_read_sc_list.2 index 616abe3..2cb198d 100644 --- a/doc/man/nvme_mi_read_sc_list.2 +++ b/doc/man/nvme_mi_read_sc_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_read_sc_list" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_read_sc_list" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_read_sc_list \- Management Endpoint Buffer Supported Command List Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_mi_resp_status.2 b/doc/man/nvme_mi_resp_status.2 index 7ef2ad0..1cf8f30 100644 --- a/doc/man/nvme_mi_resp_status.2 +++ b/doc/man/nvme_mi_resp_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_mi_resp_status" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_mi_resp_status" "August 2024" "API Manual" LINUX .SH NAME enum nvme_mi_resp_status \- values for the response status field .SH SYNOPSIS diff --git a/doc/man/nvme_mi_set_probe_enabled.2 b/doc/man/nvme_mi_set_probe_enabled.2 index 3940f27..27bd685 100644 --- a/doc/man/nvme_mi_set_probe_enabled.2 +++ b/doc/man/nvme_mi_set_probe_enabled.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_set_probe_enabled" 9 "nvme_mi_set_probe_enabled" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_set_probe_enabled" 9 "nvme_mi_set_probe_enabled" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_set_probe_enabled \- enable/disable the probe for new endpoints .SH SYNOPSIS diff --git a/doc/man/nvme_mi_status_to_string.2 b/doc/man/nvme_mi_status_to_string.2 index 57364fb..513cb48 100644 --- a/doc/man/nvme_mi_status_to_string.2 +++ b/doc/man/nvme_mi_status_to_string.2 @@ -1,4 +1,4 @@ -.TH "nvme_mi_status_to_string" 9 "nvme_mi_status_to_string" "May 2024" "libnvme API manual" LINUX +.TH "nvme_mi_status_to_string" 9 "nvme_mi_status_to_string" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_mi_status_to_string \- return a string representation of the MI status. .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_hdr.2 b/doc/man/nvme_mi_vpd_hdr.2 index 3cc517e..c5400a1 100644 --- a/doc/man/nvme_mi_vpd_hdr.2 +++ b/doc/man/nvme_mi_vpd_hdr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_hdr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_hdr" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_hdr \- Vital Product Data Common Header .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_mr_common.2 b/doc/man/nvme_mi_vpd_mr_common.2 index f1afba6..884fcd9 100644 --- a/doc/man/nvme_mi_vpd_mr_common.2 +++ b/doc/man/nvme_mi_vpd_mr_common.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_mr_common" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_mr_common" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_mr_common \- NVMe MultiRecord Area .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_mra.2 b/doc/man/nvme_mi_vpd_mra.2 index 805c0ca..e2b59ee 100644 --- a/doc/man/nvme_mi_vpd_mra.2 +++ b/doc/man/nvme_mi_vpd_mra.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_mra" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_mra" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_mra \- NVMe MultiRecord Area .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_ppmra.2 b/doc/man/nvme_mi_vpd_ppmra.2 index 7a2c246..a8e9ac1 100644 --- a/doc/man/nvme_mi_vpd_ppmra.2 +++ b/doc/man/nvme_mi_vpd_ppmra.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_ppmra" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_ppmra" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_ppmra \- NVMe PCIe Port MultiRecord Area .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_telem.2 b/doc/man/nvme_mi_vpd_telem.2 index ef1be75..0ecffd6 100644 --- a/doc/man/nvme_mi_vpd_telem.2 +++ b/doc/man/nvme_mi_vpd_telem.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_telem" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_telem" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_telem \- Vital Product Data Element Descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_mi_vpd_tra.2 b/doc/man/nvme_mi_vpd_tra.2 index f304aee..be83c77 100644 --- a/doc/man/nvme_mi_vpd_tra.2 +++ b/doc/man/nvme_mi_vpd_tra.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_mi_vpd_tra" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_mi_vpd_tra" "August 2024" "API Manual" LINUX .SH NAME struct nvme_mi_vpd_tra \- Vital Product Data Topology MultiRecord .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_attach_ctrls.2 b/doc/man/nvme_namespace_attach_ctrls.2 index e81a9e3..316c908 100644 --- a/doc/man/nvme_namespace_attach_ctrls.2 +++ b/doc/man/nvme_namespace_attach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_attach_ctrls" 9 "nvme_namespace_attach_ctrls" "May 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_attach_ctrls" 9 "nvme_namespace_attach_ctrls" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_attach_ctrls \- Attach namespace to controller(s) .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_detach_ctrls.2 b/doc/man/nvme_namespace_detach_ctrls.2 index bb7ff40..2018ca8 100644 --- a/doc/man/nvme_namespace_detach_ctrls.2 +++ b/doc/man/nvme_namespace_detach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_detach_ctrls" 9 "nvme_namespace_detach_ctrls" "May 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_detach_ctrls" 9 "nvme_namespace_detach_ctrls" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_detach_ctrls \- Detach namespace from controller(s) .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_filter.2 b/doc/man/nvme_namespace_filter.2 index 3d61055..2d4d5e4 100644 --- a/doc/man/nvme_namespace_filter.2 +++ b/doc/man/nvme_namespace_filter.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "May 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_filter" 9 "nvme_namespace_filter" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_filter \- Filter for namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_first_path.2 b/doc/man/nvme_namespace_first_path.2 index 5beb6a0..c67a1b1 100644 --- a/doc/man/nvme_namespace_first_path.2 +++ b/doc/man/nvme_namespace_first_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_first_path" 9 "nvme_namespace_first_path" "May 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_first_path" 9 "nvme_namespace_first_path" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_first_path \- Start path iterator .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_for_each_path.2 b/doc/man/nvme_namespace_for_each_path.2 index ba8b099..3d474b8 100644 --- a/doc/man/nvme_namespace_for_each_path.2 +++ b/doc/man/nvme_namespace_for_each_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_for_each_path" 9 "nvme_namespace_for_each_path" "May 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_for_each_path" 9 "nvme_namespace_for_each_path" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_for_each_path \- Traverse paths .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_for_each_path_safe.2 b/doc/man/nvme_namespace_for_each_path_safe.2 index f6f1bc7..3800809 100644 --- a/doc/man/nvme_namespace_for_each_path_safe.2 +++ b/doc/man/nvme_namespace_for_each_path_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_for_each_path_safe" 9 "nvme_namespace_for_each_path_safe" "May 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_for_each_path_safe" 9 "nvme_namespace_for_each_path_safe" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_for_each_path_safe \- Traverse paths .SH SYNOPSIS diff --git a/doc/man/nvme_namespace_next_path.2 b/doc/man/nvme_namespace_next_path.2 index 7dbc7d9..5749c9c 100644 --- a/doc/man/nvme_namespace_next_path.2 +++ b/doc/man/nvme_namespace_next_path.2 @@ -1,4 +1,4 @@ -.TH "nvme_namespace_next_path" 9 "nvme_namespace_next_path" "May 2024" "libnvme API manual" LINUX +.TH "nvme_namespace_next_path" 9 "nvme_namespace_next_path" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_namespace_next_path \- Next path iterator .SH SYNOPSIS diff --git a/doc/man/nvme_nbft_free.2 b/doc/man/nvme_nbft_free.2 index ee1c7b8..f59ac2c 100644 --- a/doc/man/nvme_nbft_free.2 +++ b/doc/man/nvme_nbft_free.2 @@ -1,4 +1,4 @@ -.TH "nvme_nbft_free" 9 "nvme_nbft_free" "May 2024" "libnvme API manual" LINUX +.TH "nvme_nbft_free" 9 "nvme_nbft_free" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_nbft_free \- Free the struct nbft_info and its contents .SH SYNOPSIS diff --git a/doc/man/nvme_nbft_read.2 b/doc/man/nvme_nbft_read.2 index c40ec16..8c84988 100644 --- a/doc/man/nvme_nbft_read.2 +++ b/doc/man/nvme_nbft_read.2 @@ -1,4 +1,4 @@ -.TH "nvme_nbft_read" 9 "nvme_nbft_read" "May 2024" "libnvme API manual" LINUX +.TH "nvme_nbft_read" 9 "nvme_nbft_read" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_nbft_read \- Read and parse contents of an ACPI NBFT table .SH SYNOPSIS diff --git a/doc/man/nvme_nd_ns_fpi.2 b/doc/man/nvme_nd_ns_fpi.2 index a81df35..649e0c2 100644 --- a/doc/man/nvme_nd_ns_fpi.2 +++ b/doc/man/nvme_nd_ns_fpi.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_nd_ns_fpi" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nd_ns_fpi" "August 2024" "API Manual" LINUX .SH NAME enum nvme_nd_ns_fpi \- If a format operation is in progress, this field indicates the percentage of the namespace that remains to be formatted. .SH SYNOPSIS diff --git a/doc/man/nvme_next_host.2 b/doc/man/nvme_next_host.2 index b2b4b90..62a6e98 100644 --- a/doc/man/nvme_next_host.2 +++ b/doc/man/nvme_next_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_next_host" 9 "nvme_next_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_next_host" 9 "nvme_next_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_next_host \- Next host iterator .SH SYNOPSIS diff --git a/doc/man/nvme_next_subsystem.2 b/doc/man/nvme_next_subsystem.2 index 8d858b7..4fec85f 100644 --- a/doc/man/nvme_next_subsystem.2 +++ b/doc/man/nvme_next_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_next_subsystem" 9 "nvme_next_subsystem" "May 2024" "libnvme API manual" LINUX +.TH "nvme_next_subsystem" 9 "nvme_next_subsystem" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_next_subsystem \- Next subsystem iterator .SH SYNOPSIS diff --git a/doc/man/nvme_ns_attach.2 b/doc/man/nvme_ns_attach.2 index 2e85a87..3a46f9b 100644 --- a/doc/man/nvme_ns_attach.2 +++ b/doc/man/nvme_ns_attach.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_attach" 9 "nvme_ns_attach" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_attach" 9 "nvme_ns_attach" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_attach \- Attach or detach namespace to controller(s) .SH SYNOPSIS diff --git a/doc/man/nvme_ns_attach_ctrls.2 b/doc/man/nvme_ns_attach_ctrls.2 index 68f94a8..fe9d7f7 100644 --- a/doc/man/nvme_ns_attach_ctrls.2 +++ b/doc/man/nvme_ns_attach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_attach_ctrls" 9 "nvme_ns_attach_ctrls" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_attach_ctrls" 9 "nvme_ns_attach_ctrls" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_attach_ctrls \- Attach namespace to controllers .SH SYNOPSIS diff --git a/doc/man/nvme_ns_attach_sel.2 b/doc/man/nvme_ns_attach_sel.2 index f9a7377..81dc8e2 100644 --- a/doc/man/nvme_ns_attach_sel.2 +++ b/doc/man/nvme_ns_attach_sel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ns_attach_sel" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_attach_sel" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ns_attach_sel \- Namespace Attachment - Select .SH SYNOPSIS diff --git a/doc/man/nvme_ns_compare.2 b/doc/man/nvme_ns_compare.2 index a5863ac..15dec88 100644 --- a/doc/man/nvme_ns_compare.2 +++ b/doc/man/nvme_ns_compare.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_compare" 9 "nvme_ns_compare" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_compare" 9 "nvme_ns_compare" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_compare \- Compare data on a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_detach_ctrls.2 b/doc/man/nvme_ns_detach_ctrls.2 index 9f3fc14..83e5b6b 100644 --- a/doc/man/nvme_ns_detach_ctrls.2 +++ b/doc/man/nvme_ns_detach_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_detach_ctrls" 9 "nvme_ns_detach_ctrls" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_detach_ctrls" 9 "nvme_ns_detach_ctrls" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_detach_ctrls \- Detach namespace from controllers .SH SYNOPSIS diff --git a/doc/man/nvme_ns_flush.2 b/doc/man/nvme_ns_flush.2 index 67425cc..a1e1403 100644 --- a/doc/man/nvme_ns_flush.2 +++ b/doc/man/nvme_ns_flush.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_flush" 9 "nvme_ns_flush" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_flush" 9 "nvme_ns_flush" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_flush \- Flush data to a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_csi.2 b/doc/man/nvme_ns_get_csi.2 index 5b90123..810cf78 100644 --- a/doc/man/nvme_ns_get_csi.2 +++ b/doc/man/nvme_ns_get_csi.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_csi" 9 "nvme_ns_get_csi" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_csi" 9 "nvme_ns_get_csi" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_csi \- Command set identifier of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_ctrl.2 b/doc/man/nvme_ns_get_ctrl.2 index 20aa557..a9497d5 100644 --- a/doc/man/nvme_ns_get_ctrl.2 +++ b/doc/man/nvme_ns_get_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_ctrl" 9 "nvme_ns_get_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_ctrl" 9 "nvme_ns_get_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_ctrl \- &nvme_ctrl_t of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_eui64.2 b/doc/man/nvme_ns_get_eui64.2 index ba7397e..639aa4e 100644 --- a/doc/man/nvme_ns_get_eui64.2 +++ b/doc/man/nvme_ns_get_eui64.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_eui64" 9 "nvme_ns_get_eui64" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_eui64" 9 "nvme_ns_get_eui64" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_eui64 \- 64-bit eui of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_fd.2 b/doc/man/nvme_ns_get_fd.2 index 197af43..213179a 100644 --- a/doc/man/nvme_ns_get_fd.2 +++ b/doc/man/nvme_ns_get_fd.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_fd" 9 "nvme_ns_get_fd" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_fd" 9 "nvme_ns_get_fd" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_fd \- Get associated file descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_firmware.2 b/doc/man/nvme_ns_get_firmware.2 index 4ba2a4b..02a0243 100644 --- a/doc/man/nvme_ns_get_firmware.2 +++ b/doc/man/nvme_ns_get_firmware.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_firmware" 9 "nvme_ns_get_firmware" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_firmware" 9 "nvme_ns_get_firmware" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_firmware \- Firmware string of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_generic_name.2 b/doc/man/nvme_ns_get_generic_name.2 index 5668933..dbe912c 100644 --- a/doc/man/nvme_ns_get_generic_name.2 +++ b/doc/man/nvme_ns_get_generic_name.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_generic_name" 9 "nvme_ns_get_generic_name" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_generic_name" 9 "nvme_ns_get_generic_name" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_generic_name \- Returns name of generic namespace chardev. .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_lba_count.2 b/doc/man/nvme_ns_get_lba_count.2 index 27f2d34..f812e4e 100644 --- a/doc/man/nvme_ns_get_lba_count.2 +++ b/doc/man/nvme_ns_get_lba_count.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_lba_count" 9 "nvme_ns_get_lba_count" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_count" 9 "nvme_ns_get_lba_count" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_lba_count \- LBA count of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_lba_size.2 b/doc/man/nvme_ns_get_lba_size.2 index 80d4f88..43d5019 100644 --- a/doc/man/nvme_ns_get_lba_size.2 +++ b/doc/man/nvme_ns_get_lba_size.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_lba_size" 9 "nvme_ns_get_lba_size" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_size" 9 "nvme_ns_get_lba_size" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_lba_size \- LBA size of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_lba_util.2 b/doc/man/nvme_ns_get_lba_util.2 index f65e249..06d2d79 100644 --- a/doc/man/nvme_ns_get_lba_util.2 +++ b/doc/man/nvme_ns_get_lba_util.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_lba_util" 9 "nvme_ns_get_lba_util" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_lba_util" 9 "nvme_ns_get_lba_util" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_lba_util \- LBA utilization of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_meta_size.2 b/doc/man/nvme_ns_get_meta_size.2 index 0fa0c67..3f9b080 100644 --- a/doc/man/nvme_ns_get_meta_size.2 +++ b/doc/man/nvme_ns_get_meta_size.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_meta_size" 9 "nvme_ns_get_meta_size" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_meta_size" 9 "nvme_ns_get_meta_size" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_meta_size \- Metadata size of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_model.2 b/doc/man/nvme_ns_get_model.2 index 7cc22da..cf92221 100644 --- a/doc/man/nvme_ns_get_model.2 +++ b/doc/man/nvme_ns_get_model.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_model" 9 "nvme_ns_get_model" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_model" 9 "nvme_ns_get_model" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_model \- Model of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_name.2 b/doc/man/nvme_ns_get_name.2 index 7729766..fb6fe13 100644 --- a/doc/man/nvme_ns_get_name.2 +++ b/doc/man/nvme_ns_get_name.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_name" 9 "nvme_ns_get_name" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_name" 9 "nvme_ns_get_name" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_name \- sysfs name of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_nguid.2 b/doc/man/nvme_ns_get_nguid.2 index 92309d2..8d35ae6 100644 --- a/doc/man/nvme_ns_get_nguid.2 +++ b/doc/man/nvme_ns_get_nguid.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_nguid" 9 "nvme_ns_get_nguid" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_nguid" 9 "nvme_ns_get_nguid" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_nguid \- 128-bit nguid of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_nsid.2 b/doc/man/nvme_ns_get_nsid.2 index b4b913d..c283e18 100644 --- a/doc/man/nvme_ns_get_nsid.2 +++ b/doc/man/nvme_ns_get_nsid.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_nsid" 9 "nvme_ns_get_nsid" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_nsid" 9 "nvme_ns_get_nsid" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_nsid \- NSID of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_serial.2 b/doc/man/nvme_ns_get_serial.2 index e89797d..47c27ca 100644 --- a/doc/man/nvme_ns_get_serial.2 +++ b/doc/man/nvme_ns_get_serial.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_serial" 9 "nvme_ns_get_serial" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_serial" 9 "nvme_ns_get_serial" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_serial \- Serial number of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_subsystem.2 b/doc/man/nvme_ns_get_subsystem.2 index 12ad11c..6735255 100644 --- a/doc/man/nvme_ns_get_subsystem.2 +++ b/doc/man/nvme_ns_get_subsystem.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_subsystem" 9 "nvme_ns_get_subsystem" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_subsystem" 9 "nvme_ns_get_subsystem" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_subsystem \- &nvme_subsystem_t of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_sysfs_dir.2 b/doc/man/nvme_ns_get_sysfs_dir.2 index b48702b..c50233f 100644 --- a/doc/man/nvme_ns_get_sysfs_dir.2 +++ b/doc/man/nvme_ns_get_sysfs_dir.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_sysfs_dir" 9 "nvme_ns_get_sysfs_dir" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_sysfs_dir" 9 "nvme_ns_get_sysfs_dir" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_sysfs_dir \- sysfs directory of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_get_uuid.2 b/doc/man/nvme_ns_get_uuid.2 index b4d4f62..009a62d 100644 --- a/doc/man/nvme_ns_get_uuid.2 +++ b/doc/man/nvme_ns_get_uuid.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_get_uuid" 9 "nvme_ns_get_uuid" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_get_uuid \- UUID of a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_id_desc.2 b/doc/man/nvme_ns_id_desc.2 index db9e5a2..ecf27ec 100644 --- a/doc/man/nvme_ns_id_desc.2 +++ b/doc/man/nvme_ns_id_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ns_id_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_id_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_ns_id_desc \- Namespace identifier type descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_ns_id_desc_nidt.2 b/doc/man/nvme_ns_id_desc_nidt.2 index da7607a..d89f89a 100644 --- a/doc/man/nvme_ns_id_desc_nidt.2 +++ b/doc/man/nvme_ns_id_desc_nidt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ns_id_desc_nidt" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_id_desc_nidt" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ns_id_desc_nidt \- Known namespace identifier types .SH SYNOPSIS diff --git a/doc/man/nvme_ns_identify.2 b/doc/man/nvme_ns_identify.2 index ed8f754..a9d502a 100644 --- a/doc/man/nvme_ns_identify.2 +++ b/doc/man/nvme_ns_identify.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_identify" 9 "nvme_ns_identify" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_identify" 9 "nvme_ns_identify" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_identify \- Issue an 'identify namespace' command .SH SYNOPSIS diff --git a/doc/man/nvme_ns_identify_descs.2 b/doc/man/nvme_ns_identify_descs.2 index 796f8d0..c45dcf1 100644 --- a/doc/man/nvme_ns_identify_descs.2 +++ b/doc/man/nvme_ns_identify_descs.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_identify_descs" 9 "nvme_ns_identify_descs" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_identify_descs" 9 "nvme_ns_identify_descs" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_identify_descs \- Issue an 'identify descriptors' command .SH SYNOPSIS diff --git a/doc/man/nvme_ns_list.2 b/doc/man/nvme_ns_list.2 index 3914acd..565bee2 100644 --- a/doc/man/nvme_ns_list.2 +++ b/doc/man/nvme_ns_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ns_list" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_list" "August 2024" "API Manual" LINUX .SH NAME struct nvme_ns_list \- Namespace List .SH SYNOPSIS diff --git a/doc/man/nvme_ns_metadata_type.2 b/doc/man/nvme_ns_metadata_type.2 index e6fa70a..068e3eb 100644 --- a/doc/man/nvme_ns_metadata_type.2 +++ b/doc/man/nvme_ns_metadata_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ns_metadata_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_metadata_type" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ns_metadata_type \- Namespace Metadata Element Types .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt.2 b/doc/man/nvme_ns_mgmt.2 index 9523c54..34a0bcc 100644 --- a/doc/man/nvme_ns_mgmt.2 +++ b/doc/man/nvme_ns_mgmt.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_mgmt" 9 "nvme_ns_mgmt" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt" 9 "nvme_ns_mgmt" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_mgmt \- Issue a Namespace management command .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_create.2 b/doc/man/nvme_ns_mgmt_create.2 index a94102e..695bdda 100644 --- a/doc/man/nvme_ns_mgmt_create.2 +++ b/doc/man/nvme_ns_mgmt_create.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_mgmt_create" 9 "nvme_ns_mgmt_create" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_create" 9 "nvme_ns_mgmt_create" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_mgmt_create \- Create a non attached namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_delete.2 b/doc/man/nvme_ns_mgmt_delete.2 index a467a3d..6bc8f0d 100644 --- a/doc/man/nvme_ns_mgmt_delete.2 +++ b/doc/man/nvme_ns_mgmt_delete.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_mgmt_delete" 9 "nvme_ns_mgmt_delete" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_delete" 9 "nvme_ns_mgmt_delete" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_mgmt_delete \- Delete a non attached namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_delete_timeout.2 b/doc/man/nvme_ns_mgmt_delete_timeout.2 index 49a61b7..5693bd4 100644 --- a/doc/man/nvme_ns_mgmt_delete_timeout.2 +++ b/doc/man/nvme_ns_mgmt_delete_timeout.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_mgmt_delete_timeout" 9 "nvme_ns_mgmt_delete_timeout" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_mgmt_delete_timeout" 9 "nvme_ns_mgmt_delete_timeout" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_mgmt_delete_timeout \- Delete a non attached namespace with timeout .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_host_sw_specified.2 b/doc/man/nvme_ns_mgmt_host_sw_specified.2 index 9de961e..4c34212 100644 --- a/doc/man/nvme_ns_mgmt_host_sw_specified.2 +++ b/doc/man/nvme_ns_mgmt_host_sw_specified.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_ns_mgmt_host_sw_specified" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_ns_mgmt_host_sw_specified" "August 2024" "API Manual" LINUX .SH NAME struct nvme_ns_mgmt_host_sw_specified \- Namespace management Host Software Specified Fields. .SH SYNOPSIS diff --git a/doc/man/nvme_ns_mgmt_sel.2 b/doc/man/nvme_ns_mgmt_sel.2 index 16817f2..e624a0d 100644 --- a/doc/man/nvme_ns_mgmt_sel.2 +++ b/doc/man/nvme_ns_mgmt_sel.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ns_mgmt_sel" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_mgmt_sel" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ns_mgmt_sel \- Namespace Management - Select .SH SYNOPSIS diff --git a/doc/man/nvme_ns_read.2 b/doc/man/nvme_ns_read.2 index c4c703b..a628863 100644 --- a/doc/man/nvme_ns_read.2 +++ b/doc/man/nvme_ns_read.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_read" 9 "nvme_ns_read" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_read" 9 "nvme_ns_read" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_read \- Read from a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_release_fd.2 b/doc/man/nvme_ns_release_fd.2 index cc09887..b318700 100644 --- a/doc/man/nvme_ns_release_fd.2 +++ b/doc/man/nvme_ns_release_fd.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_release_fd" 9 "nvme_ns_release_fd" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_release_fd" 9 "nvme_ns_release_fd" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_release_fd \- Close fd and clear fd from ns object .SH SYNOPSIS diff --git a/doc/man/nvme_ns_rescan.2 b/doc/man/nvme_ns_rescan.2 index 473394a..1526a29 100644 --- a/doc/man/nvme_ns_rescan.2 +++ b/doc/man/nvme_ns_rescan.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_rescan" 9 "nvme_ns_rescan" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_rescan" 9 "nvme_ns_rescan" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_rescan \- Initiate a controller rescan .SH SYNOPSIS diff --git a/doc/man/nvme_ns_verify.2 b/doc/man/nvme_ns_verify.2 index 6b0ea14..ea9c1f6 100644 --- a/doc/man/nvme_ns_verify.2 +++ b/doc/man/nvme_ns_verify.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_verify" 9 "nvme_ns_verify" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_verify" 9 "nvme_ns_verify" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_verify \- Verify data on a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_write.2 b/doc/man/nvme_ns_write.2 index 6c833d6..72b3282 100644 --- a/doc/man/nvme_ns_write.2 +++ b/doc/man/nvme_ns_write.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_write" 9 "nvme_ns_write" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_write" 9 "nvme_ns_write" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_write \- Write to a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_ns_write_protect_cfg.2 b/doc/man/nvme_ns_write_protect_cfg.2 index 4e97c31..b809d0a 100644 --- a/doc/man/nvme_ns_write_protect_cfg.2 +++ b/doc/man/nvme_ns_write_protect_cfg.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_ns_write_protect_cfg" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_ns_write_protect_cfg" "August 2024" "API Manual" LINUX .SH NAME enum nvme_ns_write_protect_cfg \- Write Protection - Write Protection State .SH SYNOPSIS diff --git a/doc/man/nvme_ns_write_uncorrectable.2 b/doc/man/nvme_ns_write_uncorrectable.2 index c620e84..9d37afe 100644 --- a/doc/man/nvme_ns_write_uncorrectable.2 +++ b/doc/man/nvme_ns_write_uncorrectable.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_write_uncorrectable" 9 "nvme_ns_write_uncorrectable" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_write_uncorrectable" 9 "nvme_ns_write_uncorrectable" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_write_uncorrectable \- Issus a 'write uncorrectable' command .SH SYNOPSIS diff --git a/doc/man/nvme_ns_write_zeros.2 b/doc/man/nvme_ns_write_zeros.2 index 0b25b86..ab4f989 100644 --- a/doc/man/nvme_ns_write_zeros.2 +++ b/doc/man/nvme_ns_write_zeros.2 @@ -1,4 +1,4 @@ -.TH "nvme_ns_write_zeros" 9 "nvme_ns_write_zeros" "May 2024" "libnvme API manual" LINUX +.TH "nvme_ns_write_zeros" 9 "nvme_ns_write_zeros" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_ns_write_zeros \- Write zeros to a namespace .SH SYNOPSIS diff --git a/doc/man/nvme_nss_hw_err_event.2 b/doc/man/nvme_nss_hw_err_event.2 index c36ca6b..18701fd 100644 --- a/doc/man/nvme_nss_hw_err_event.2 +++ b/doc/man/nvme_nss_hw_err_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_nss_hw_err_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nss_hw_err_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_nss_hw_err_event \- NVM Subsystem Hardware Error Event .SH SYNOPSIS diff --git a/doc/man/nvme_nvm_id_ns.2 b/doc/man/nvme_nvm_id_ns.2 index 91b42a9..5acea53 100644 --- a/doc/man/nvme_nvm_id_ns.2 +++ b/doc/man/nvme_nvm_id_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_nvm_id_ns" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvm_id_ns" "August 2024" "API Manual" LINUX .SH NAME struct nvme_nvm_id_ns \- NVME Command Set I/O Command Set Specific Identify Namespace Data Structure .SH SYNOPSIS @@ -8,11 +8,19 @@ struct nvme_nvm_id_ns { .br .BI " __u8 pic;" .br -.BI " __u8 rsvd9[3];" +.BI " __u8 pifa;" +.br +.BI " __u8 rsvd10[2];" .br .BI " __le32 elbaf[64];" .br -.BI " __u8 rsvd268[3828];" +.BI " __le32 npdgl;" +.br +.BI " __u8 rsvd272[20];" +.br +.BI " __le32 tlbaag;" +.br +.BI " __u8 rsvd296[3800];" .br .BI " }; @@ -23,9 +31,17 @@ struct nvme_nvm_id_ns { Logical Block Storage Tag Mask .IP "pic" 12 Protection Information Capabilities -.IP "rsvd9" 12 +.IP "pifa" 12 +Protection Information Format Attribute +.IP "rsvd10" 12 Reserved .IP "elbaf" 12 List of Extended LBA Format Support -.IP "rsvd268" 12 +.IP "npdgl" 12 +Namespace Preferred Deallocate Granularity Large +.IP "rsvd272" 12 +Reserved +.IP "tlbaag" 12 +Tracked LBA Allocation Granularity +.IP "rsvd296" 12 Reserved diff --git a/doc/man/nvme_nvm_id_ns_elbaf.2 b/doc/man/nvme_nvm_id_ns_elbaf.2 index 4569aca..bda2ab2 100644 --- a/doc/man/nvme_nvm_id_ns_elbaf.2 +++ b/doc/man/nvme_nvm_id_ns_elbaf.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_nvm_id_ns_elbaf" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvm_id_ns_elbaf" "August 2024" "API Manual" LINUX .SH NAME enum nvme_nvm_id_ns_elbaf \- This field indicates the extended LBA format .SH SYNOPSIS @@ -9,6 +9,10 @@ enum nvme_nvm_id_ns_elbaf { .br .br .BI " NVME_NVM_ELBAF_PIF_MASK" +, +.br +.br +.BI " NVME_NVM_ELBAF_QPIF_MASK" }; .SH Constants @@ -18,3 +22,6 @@ the variable-sized storage tag/reference tag fields .IP "NVME_NVM_ELBAF_PIF_MASK" 12 Mask to get the protection information format for the extended LBA format. +.IP "NVME_NVM_ELBAF_QPIF_MASK" 12 +Mask to get the Qualified Protection Information +Format. diff --git a/doc/man/nvme_nvm_id_ns_pif.2 b/doc/man/nvme_nvm_id_ns_pif.2 new file mode 100644 index 0000000..7dbe5d9 --- /dev/null +++ b/doc/man/nvme_nvm_id_ns_pif.2 @@ -0,0 +1,33 @@ +.TH "libnvme" 9 "enum nvme_nvm_id_ns_pif" "August 2024" "API Manual" LINUX +.SH NAME +enum nvme_nvm_id_ns_pif \- This field indicates the type of the Protection Information Format +.SH SYNOPSIS +enum nvme_nvm_id_ns_pif { +.br +.BI " NVME_NVM_PIF_16B_GUARD" +, +.br +.br +.BI " NVME_NVM_PIF_32B_GUARD" +, +.br +.br +.BI " NVME_NVM_PIF_64B_GUARD" +, +.br +.br +.BI " NVME_NVM_PIF_QTYPE" + +}; +.SH Constants +.IP "NVME_NVM_PIF_16B_GUARD" 12 +16-bit Guard Protection Information Format +.IP "NVME_NVM_PIF_32B_GUARD" 12 +32-bit Guard Protection Information Format +.IP "NVME_NVM_PIF_64B_GUARD" 12 +64-bit Guard Protection Information Format +.IP "NVME_NVM_PIF_QTYPE" 12 +If Qualified Protection Information Format Supports +and Protection Information Format is set to 3, then +protection information format is taken from Qualified +Protection Information Format field. diff --git a/doc/man/nvme_nvm_identify_ctrl.2 b/doc/man/nvme_nvm_identify_ctrl.2 index 1b24cbd..e2a5a0a 100644 --- a/doc/man/nvme_nvm_identify_ctrl.2 +++ b/doc/man/nvme_nvm_identify_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_nvm_identify_ctrl" 9 "nvme_nvm_identify_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_nvm_identify_ctrl" 9 "nvme_nvm_identify_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_nvm_identify_ctrl \- Identify controller data .SH SYNOPSIS diff --git a/doc/man/nvme_nvmeset_pl_status.2 b/doc/man/nvme_nvmeset_pl_status.2 index 31b5e85..6a31dd0 100644 --- a/doc/man/nvme_nvmeset_pl_status.2 +++ b/doc/man/nvme_nvmeset_pl_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_nvmeset_pl_status" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvmeset_pl_status" "August 2024" "API Manual" LINUX .SH NAME enum nvme_nvmeset_pl_status \- Predictable Latency Per NVM Set Log - Status .SH SYNOPSIS diff --git a/doc/man/nvme_nvmset_attr.2 b/doc/man/nvme_nvmset_attr.2 index d654f9e..1827a61 100644 --- a/doc/man/nvme_nvmset_attr.2 +++ b/doc/man/nvme_nvmset_attr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_nvmset_attr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvmset_attr" "August 2024" "API Manual" LINUX .SH NAME struct nvme_nvmset_attr \- NVM Set Attributes Entry .SH SYNOPSIS diff --git a/doc/man/nvme_nvmset_pl_events.2 b/doc/man/nvme_nvmset_pl_events.2 index 5742483..e52134c 100644 --- a/doc/man/nvme_nvmset_pl_events.2 +++ b/doc/man/nvme_nvmset_pl_events.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_nvmset_pl_events" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_nvmset_pl_events" "August 2024" "API Manual" LINUX .SH NAME enum nvme_nvmset_pl_events \- Predictable Latency Per NVM Set Log - Event Type .SH SYNOPSIS diff --git a/doc/man/nvme_nvmset_predictable_lat_log.2 b/doc/man/nvme_nvmset_predictable_lat_log.2 index 7dc9120..4cbacf6 100644 --- a/doc/man/nvme_nvmset_predictable_lat_log.2 +++ b/doc/man/nvme_nvmset_predictable_lat_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_nvmset_predictable_lat_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_nvmset_predictable_lat_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_nvmset_predictable_lat_log \- Predictable Latency Mode - Deterministic Threshold Configuration Data .SH SYNOPSIS diff --git a/doc/man/nvme_open.2 b/doc/man/nvme_open.2 index 55703ba..138e98d 100644 --- a/doc/man/nvme_open.2 +++ b/doc/man/nvme_open.2 @@ -1,4 +1,4 @@ -.TH "nvme_open" 9 "nvme_open" "May 2024" "libnvme API manual" LINUX +.TH "nvme_open" 9 "nvme_open" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_open \- Open an nvme controller or namespace device .SH SYNOPSIS diff --git a/doc/man/nvme_parse_uri.2 b/doc/man/nvme_parse_uri.2 new file mode 100644 index 0000000..3c3302a --- /dev/null +++ b/doc/man/nvme_parse_uri.2 @@ -0,0 +1,17 @@ +.TH "nvme_parse_uri" 9 "nvme_parse_uri" "August 2024" "libnvme API manual" LINUX +.SH NAME +nvme_parse_uri \- Parse the URI string +.SH SYNOPSIS +.B "struct nvme_fabrics_uri *" nvme_parse_uri +.BI "(const char *str " ");" +.SH ARGUMENTS +.IP "str" 12 +URI string +.SH "DESCRIPTION" +Parse the URI string as defined in the NVM Express Boot Specification. +Supported URI elements looks as follows: + +nvme+tcp://user\fIhost\fP:port/subsys_nqn/nid?query=val#fragment +.SH "RETURN" +\fInvme_fabrics_uri\fP structure on success; NULL on failure with errno +set. diff --git a/doc/man/nvme_passthru_cmd.2 b/doc/man/nvme_passthru_cmd.2 index 38149bd..fe3b63f 100644 --- a/doc/man/nvme_passthru_cmd.2 +++ b/doc/man/nvme_passthru_cmd.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_passthru_cmd" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_passthru_cmd" "August 2024" "API Manual" LINUX .SH NAME struct nvme_passthru_cmd \- nvme passthrough command structure .SH SYNOPSIS diff --git a/doc/man/nvme_passthru_cmd64.2 b/doc/man/nvme_passthru_cmd64.2 index 0a89318..67fad6c 100644 --- a/doc/man/nvme_passthru_cmd64.2 +++ b/doc/man/nvme_passthru_cmd64.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_passthru_cmd64" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_passthru_cmd64" "August 2024" "API Manual" LINUX .SH NAME struct nvme_passthru_cmd64 \- 64-bit nvme passthrough command structure .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_ana_state.2 b/doc/man/nvme_path_get_ana_state.2 index ceec0db..6a9fe4d 100644 --- a/doc/man/nvme_path_get_ana_state.2 +++ b/doc/man/nvme_path_get_ana_state.2 @@ -1,4 +1,4 @@ -.TH "nvme_path_get_ana_state" 9 "nvme_path_get_ana_state" "May 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_ana_state" 9 "nvme_path_get_ana_state" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_path_get_ana_state \- ANA state of an nvme_path_t object .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_ctrl.2 b/doc/man/nvme_path_get_ctrl.2 index ab5fa8d..47b5b91 100644 --- a/doc/man/nvme_path_get_ctrl.2 +++ b/doc/man/nvme_path_get_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_path_get_ctrl" 9 "nvme_path_get_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_ctrl" 9 "nvme_path_get_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_path_get_ctrl \- Parent controller of an nvme_path_t object .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_name.2 b/doc/man/nvme_path_get_name.2 index 48cad51..f335f5c 100644 --- a/doc/man/nvme_path_get_name.2 +++ b/doc/man/nvme_path_get_name.2 @@ -1,4 +1,4 @@ -.TH "nvme_path_get_name" 9 "nvme_path_get_name" "May 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_name" 9 "nvme_path_get_name" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_path_get_name \- sysfs name of an &nvme_path_t object .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_ns.2 b/doc/man/nvme_path_get_ns.2 index 5105840..fccf70c 100644 --- a/doc/man/nvme_path_get_ns.2 +++ b/doc/man/nvme_path_get_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_path_get_ns" 9 "nvme_path_get_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_ns" 9 "nvme_path_get_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_path_get_ns \- Parent namespace of an nvme_path_t object .SH SYNOPSIS diff --git a/doc/man/nvme_path_get_sysfs_dir.2 b/doc/man/nvme_path_get_sysfs_dir.2 index c910437..b2a9629 100644 --- a/doc/man/nvme_path_get_sysfs_dir.2 +++ b/doc/man/nvme_path_get_sysfs_dir.2 @@ -1,4 +1,4 @@ -.TH "nvme_path_get_sysfs_dir" 9 "nvme_path_get_sysfs_dir" "May 2024" "libnvme API manual" LINUX +.TH "nvme_path_get_sysfs_dir" 9 "nvme_path_get_sysfs_dir" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_path_get_sysfs_dir \- sysfs directory of an nvme_path_t object .SH SYNOPSIS diff --git a/doc/man/nvme_paths_filter.2 b/doc/man/nvme_paths_filter.2 index 3cba004..0a66e37 100644 --- a/doc/man/nvme_paths_filter.2 +++ b/doc/man/nvme_paths_filter.2 @@ -1,4 +1,4 @@ -.TH "nvme_paths_filter" 9 "nvme_paths_filter" "May 2024" "libnvme API manual" LINUX +.TH "nvme_paths_filter" 9 "nvme_paths_filter" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_paths_filter \- Filter for paths .SH SYNOPSIS diff --git a/doc/man/nvme_pel_ehai.2 b/doc/man/nvme_pel_ehai.2 index ff865c1..e8b9b99 100644 --- a/doc/man/nvme_pel_ehai.2 +++ b/doc/man/nvme_pel_ehai.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_ehai" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_ehai" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pel_ehai \- This field indicates the persistent event header additional information .SH SYNOPSIS diff --git a/doc/man/nvme_pel_ehai_pit.2 b/doc/man/nvme_pel_ehai_pit.2 index 1078754..3d107a2 100644 --- a/doc/man/nvme_pel_ehai_pit.2 +++ b/doc/man/nvme_pel_ehai_pit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_ehai_pit" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_ehai_pit" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pel_ehai_pit \- Persistent Event Header Additional Information - Port Identifier Type .SH SYNOPSIS diff --git a/doc/man/nvme_pel_rci.2 b/doc/man/nvme_pel_rci.2 index 82c1af0..54df6f0 100644 --- a/doc/man/nvme_pel_rci.2 +++ b/doc/man/nvme_pel_rci.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_rci" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_rci" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pel_rci \- This field indicates the persistent event log reporting context .SH SYNOPSIS diff --git a/doc/man/nvme_pel_rci_rcpit.2 b/doc/man/nvme_pel_rci_rcpit.2 index b4c9bf6..28ea1ce 100644 --- a/doc/man/nvme_pel_rci_rcpit.2 +++ b/doc/man/nvme_pel_rci_rcpit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pel_rci_rcpit" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pel_rci_rcpit" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pel_rci_rcpit \- Persistent Event Log Reporting Context - Port Identifier Type .SH SYNOPSIS diff --git a/doc/man/nvme_persistent_event_entry.2 b/doc/man/nvme_persistent_event_entry.2 index 01e4287..c9623ea 100644 --- a/doc/man/nvme_persistent_event_entry.2 +++ b/doc/man/nvme_persistent_event_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_persistent_event_entry" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_persistent_event_entry" "August 2024" "API Manual" LINUX .SH NAME struct nvme_persistent_event_entry \- Persistent Event .SH SYNOPSIS diff --git a/doc/man/nvme_persistent_event_log.2 b/doc/man/nvme_persistent_event_log.2 index 1b439ea..81a61a5 100644 --- a/doc/man/nvme_persistent_event_log.2 +++ b/doc/man/nvme_persistent_event_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_persistent_event_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_persistent_event_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_persistent_event_log \- Persistent Event Log .SH SYNOPSIS diff --git a/doc/man/nvme_persistent_event_types.2 b/doc/man/nvme_persistent_event_types.2 index 87df22e..a9d07e8 100644 --- a/doc/man/nvme_persistent_event_types.2 +++ b/doc/man/nvme_persistent_event_types.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_persistent_event_types" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_persistent_event_types" "August 2024" "API Manual" LINUX .SH NAME enum nvme_persistent_event_types \- Persistent event log events .SH SYNOPSIS @@ -53,6 +53,14 @@ enum nvme_persistent_event_types { .br .br .BI " NVME_PEL_THERMAL_EXCURSION_EVENT" +, +.br +.br +.BI " NVME_PEL_VENDOR_SPECIFIC_EVENT" +, +.br +.br +.BI " NVME_PEL_TCG_DEFINED_EVENT" }; .SH Constants @@ -82,3 +90,7 @@ Set Feature Event Telemetry Log Create Event .IP "NVME_PEL_THERMAL_EXCURSION_EVENT" 12 Thermal Excursion Event +.IP "NVME_PEL_VENDOR_SPECIFIC_EVENT" 12 +Vendor Specific Event +.IP "NVME_PEL_TCG_DEFINED_EVENT" 12 +TCG Defined Event diff --git a/doc/man/nvme_pevent_log_action.2 b/doc/man/nvme_pevent_log_action.2 index 7a03c4f..54070ab 100644 --- a/doc/man/nvme_pevent_log_action.2 +++ b/doc/man/nvme_pevent_log_action.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pevent_log_action" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pevent_log_action" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pevent_log_action \- Persistent Event Log - Action .SH SYNOPSIS diff --git a/doc/man/nvme_phy_rx_eom_log.2 b/doc/man/nvme_phy_rx_eom_log.2 index 145bea6..2e97d7a 100644 --- a/doc/man/nvme_phy_rx_eom_log.2 +++ b/doc/man/nvme_phy_rx_eom_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_phy_rx_eom_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_phy_rx_eom_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_phy_rx_eom_log \- Physical Interface Receiver Eye Opening Measurement Log .SH SYNOPSIS diff --git a/doc/man/nvme_phy_rx_eom_progress.2 b/doc/man/nvme_phy_rx_eom_progress.2 index 9676521..96b2c1e 100644 --- a/doc/man/nvme_phy_rx_eom_progress.2 +++ b/doc/man/nvme_phy_rx_eom_progress.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_phy_rx_eom_progress" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_phy_rx_eom_progress" "August 2024" "API Manual" LINUX .SH NAME enum nvme_phy_rx_eom_progress \- EOM In Progress Values .SH SYNOPSIS diff --git a/doc/man/nvme_plm_config.2 b/doc/man/nvme_plm_config.2 index 8df20f4..51afe9d 100644 --- a/doc/man/nvme_plm_config.2 +++ b/doc/man/nvme_plm_config.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_plm_config" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_plm_config" "August 2024" "API Manual" LINUX .SH NAME struct nvme_plm_config \- Predictable Latency Mode - Deterministic Threshold Configuration Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_pmr_size.2 b/doc/man/nvme_pmr_size.2 index fa362e2..64db221 100644 --- a/doc/man/nvme_pmr_size.2 +++ b/doc/man/nvme_pmr_size.2 @@ -1,4 +1,4 @@ -.TH "nvme_pmr_size" 9 "nvme_pmr_size" "May 2024" "libnvme API manual" LINUX +.TH "nvme_pmr_size" 9 "nvme_pmr_size" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_pmr_size \- Calculate size of persistent memory region elasticity buffer .SH SYNOPSIS diff --git a/doc/man/nvme_pmr_throughput.2 b/doc/man/nvme_pmr_throughput.2 index fefe9ec..3ba8dcb 100644 --- a/doc/man/nvme_pmr_throughput.2 +++ b/doc/man/nvme_pmr_throughput.2 @@ -1,4 +1,4 @@ -.TH "nvme_pmr_throughput" 9 "nvme_pmr_throughput" "May 2024" "libnvme API manual" LINUX +.TH "nvme_pmr_throughput" 9 "nvme_pmr_throughput" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_pmr_throughput \- Calculate throughput of persistent memory buffer .SH SYNOPSIS diff --git a/doc/man/nvme_pmrcap.2 b/doc/man/nvme_pmrcap.2 index 4217328..0d76563 100644 --- a/doc/man/nvme_pmrcap.2 +++ b/doc/man/nvme_pmrcap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrcap" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrcap" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pmrcap \- This field indicates the persistent memory region capabilities .SH SYNOPSIS diff --git a/doc/man/nvme_pmrctl.2 b/doc/man/nvme_pmrctl.2 index e568a6d..95c5fd3 100644 --- a/doc/man/nvme_pmrctl.2 +++ b/doc/man/nvme_pmrctl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrctl" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrctl" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pmrctl \- This field indicates the persistent memory region control .SH SYNOPSIS diff --git a/doc/man/nvme_pmrebs.2 b/doc/man/nvme_pmrebs.2 index a69a246..3535e44 100644 --- a/doc/man/nvme_pmrebs.2 +++ b/doc/man/nvme_pmrebs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrebs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrebs" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pmrebs \- This field indicates the persistent memory region elasticity buffer size .SH SYNOPSIS diff --git a/doc/man/nvme_pmrmsc.2 b/doc/man/nvme_pmrmsc.2 index cdd68a3..120ce56 100644 --- a/doc/man/nvme_pmrmsc.2 +++ b/doc/man/nvme_pmrmsc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrmsc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrmsc" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pmrmsc \- This field indicates the persistent memory region memory space control .SH SYNOPSIS diff --git a/doc/man/nvme_pmrsts.2 b/doc/man/nvme_pmrsts.2 index d198368..95bb8cb 100644 --- a/doc/man/nvme_pmrsts.2 +++ b/doc/man/nvme_pmrsts.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrsts" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrsts" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pmrsts \- This field indicates the persistent memory region status .SH SYNOPSIS diff --git a/doc/man/nvme_pmrswtp.2 b/doc/man/nvme_pmrswtp.2 index c6490fc..e8612ea 100644 --- a/doc/man/nvme_pmrswtp.2 +++ b/doc/man/nvme_pmrswtp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_pmrswtp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_pmrswtp" "August 2024" "API Manual" LINUX .SH NAME enum nvme_pmrswtp \- This field indicates the persistent memory region sustained write throughput .SH SYNOPSIS diff --git a/doc/man/nvme_power_on_reset_info_list.2 b/doc/man/nvme_power_on_reset_info_list.2 index 9e52480..9875eda 100644 --- a/doc/man/nvme_power_on_reset_info_list.2 +++ b/doc/man/nvme_power_on_reset_info_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_power_on_reset_info_list" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_power_on_reset_info_list" "August 2024" "API Manual" LINUX .SH NAME struct nvme_power_on_reset_info_list \- Controller Reset Information .SH SYNOPSIS diff --git a/doc/man/nvme_primary_ctrl_cap.2 b/doc/man/nvme_primary_ctrl_cap.2 index ea04194..3df1bbe 100644 --- a/doc/man/nvme_primary_ctrl_cap.2 +++ b/doc/man/nvme_primary_ctrl_cap.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_primary_ctrl_cap" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_primary_ctrl_cap" "August 2024" "API Manual" LINUX .SH NAME struct nvme_primary_ctrl_cap \- Identify - Controller Capabilities Structure .SH SYNOPSIS diff --git a/doc/man/nvme_psd_flags.2 b/doc/man/nvme_psd_flags.2 index e021bac..2b22d97 100644 --- a/doc/man/nvme_psd_flags.2 +++ b/doc/man/nvme_psd_flags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_psd_flags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_flags" "August 2024" "API Manual" LINUX .SH NAME enum nvme_psd_flags \- Possible flag values in nvme power state descriptor .SH SYNOPSIS diff --git a/doc/man/nvme_psd_power_scale.2 b/doc/man/nvme_psd_power_scale.2 index 696f131..2c63211 100644 --- a/doc/man/nvme_psd_power_scale.2 +++ b/doc/man/nvme_psd_power_scale.2 @@ -1,4 +1,4 @@ -.TH "nvme_psd_power_scale" 9 "nvme_psd_power_scale" "May 2024" "libnvme API manual" LINUX +.TH "nvme_psd_power_scale" 9 "nvme_psd_power_scale" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_psd_power_scale \- power scale occupies the upper 3 bits .SH SYNOPSIS diff --git a/doc/man/nvme_psd_ps.2 b/doc/man/nvme_psd_ps.2 index b52dc26..77c26bd 100644 --- a/doc/man/nvme_psd_ps.2 +++ b/doc/man/nvme_psd_ps.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_psd_ps" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_ps" "August 2024" "API Manual" LINUX .SH NAME enum nvme_psd_ps \- Known values for &struct nvme_psd %ips and %aps. Use with nvme_psd_power_scale() to extract the power scale field to match this enum. .SH SYNOPSIS diff --git a/doc/man/nvme_psd_workload.2 b/doc/man/nvme_psd_workload.2 index 4028e7a..5eb59b3 100644 --- a/doc/man/nvme_psd_workload.2 +++ b/doc/man/nvme_psd_workload.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_psd_workload" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_psd_workload" "August 2024" "API Manual" LINUX .SH NAME enum nvme_psd_workload \- Specifies a workload hint in the Power Management Feature (see &struct nvme_psd.apw) to inform the NVM subsystem or indicate the conditions for the active power level. .SH SYNOPSIS diff --git a/doc/man/nvme_read.2 b/doc/man/nvme_read.2 index a917fd0..5afc747 100644 --- a/doc/man/nvme_read.2 +++ b/doc/man/nvme_read.2 @@ -1,4 +1,4 @@ -.TH "nvme_read" 9 "nvme_read" "May 2024" "libnvme API manual" LINUX +.TH "nvme_read" 9 "nvme_read" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_read \- Submit an nvme user read command .SH SYNOPSIS diff --git a/doc/man/nvme_read_config.2 b/doc/man/nvme_read_config.2 index ad4f6c9..efa4c71 100644 --- a/doc/man/nvme_read_config.2 +++ b/doc/man/nvme_read_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_read_config" 9 "nvme_read_config" "May 2024" "libnvme API manual" LINUX +.TH "nvme_read_config" 9 "nvme_read_config" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_read_config \- Read NVMe JSON configuration file .SH SYNOPSIS diff --git a/doc/man/nvme_read_key.2 b/doc/man/nvme_read_key.2 index 4556a7d..de40d4b 100644 --- a/doc/man/nvme_read_key.2 +++ b/doc/man/nvme_read_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_read_key" 9 "nvme_read_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_read_key" 9 "nvme_read_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_read_key \- Read key raw data .SH SYNOPSIS diff --git a/doc/man/nvme_refresh_topology.2 b/doc/man/nvme_refresh_topology.2 index 0248607..6f003e6 100644 --- a/doc/man/nvme_refresh_topology.2 +++ b/doc/man/nvme_refresh_topology.2 @@ -1,4 +1,4 @@ -.TH "nvme_refresh_topology" 9 "nvme_refresh_topology" "May 2024" "libnvme API manual" LINUX +.TH "nvme_refresh_topology" 9 "nvme_refresh_topology" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_refresh_topology \- Refresh nvme_root_t object contents .SH SYNOPSIS diff --git a/doc/man/nvme_register_offsets.2 b/doc/man/nvme_register_offsets.2 index 414bd0b..59ecced 100644 --- a/doc/man/nvme_register_offsets.2 +++ b/doc/man/nvme_register_offsets.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_register_offsets" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_register_offsets" "August 2024" "API Manual" LINUX .SH NAME enum nvme_register_offsets \- controller registers for all transports. This is the layout of BAR0/1 for PCIe, and properties for fabrics. .SH SYNOPSIS diff --git a/doc/man/nvme_registered_ctrl.2 b/doc/man/nvme_registered_ctrl.2 index 9596d93..4fa8bd9 100644 --- a/doc/man/nvme_registered_ctrl.2 +++ b/doc/man/nvme_registered_ctrl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_registered_ctrl" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_registered_ctrl" "August 2024" "API Manual" LINUX .SH NAME struct nvme_registered_ctrl \- Registered Controller Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_registered_ctrl_ext.2 b/doc/man/nvme_registered_ctrl_ext.2 index ac8d4c9..bb914a7 100644 --- a/doc/man/nvme_registered_ctrl_ext.2 +++ b/doc/man/nvme_registered_ctrl_ext.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_registered_ctrl_ext" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_registered_ctrl_ext" "August 2024" "API Manual" LINUX .SH NAME struct nvme_registered_ctrl_ext \- Registered Controller Extended Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_rescan_ctrl.2 b/doc/man/nvme_rescan_ctrl.2 index b97e047..20a3dcb 100644 --- a/doc/man/nvme_rescan_ctrl.2 +++ b/doc/man/nvme_rescan_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_rescan_ctrl" 9 "nvme_rescan_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_rescan_ctrl" 9 "nvme_rescan_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_rescan_ctrl \- Rescan an existing controller .SH SYNOPSIS diff --git a/doc/man/nvme_resv_acquire.2 b/doc/man/nvme_resv_acquire.2 index 048ef31..1f02434 100644 --- a/doc/man/nvme_resv_acquire.2 +++ b/doc/man/nvme_resv_acquire.2 @@ -1,4 +1,4 @@ -.TH "nvme_resv_acquire" 9 "nvme_resv_acquire" "May 2024" "libnvme API manual" LINUX +.TH "nvme_resv_acquire" 9 "nvme_resv_acquire" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_resv_acquire \- Send an nvme reservation acquire .SH SYNOPSIS diff --git a/doc/man/nvme_resv_cptpl.2 b/doc/man/nvme_resv_cptpl.2 index 738d666..5ee28ab 100644 --- a/doc/man/nvme_resv_cptpl.2 +++ b/doc/man/nvme_resv_cptpl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_cptpl" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_cptpl" "August 2024" "API Manual" LINUX .SH NAME enum nvme_resv_cptpl \- Reservation Register - Change Persist Through Power Loss State .SH SYNOPSIS diff --git a/doc/man/nvme_resv_notification_log.2 b/doc/man/nvme_resv_notification_log.2 index c8e38c4..4a4bafd 100644 --- a/doc/man/nvme_resv_notification_log.2 +++ b/doc/man/nvme_resv_notification_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_resv_notification_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_resv_notification_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_resv_notification_log \- Reservation Notification Log .SH SYNOPSIS diff --git a/doc/man/nvme_resv_notify_rnlpt.2 b/doc/man/nvme_resv_notify_rnlpt.2 index 0d1399e..603f9d7 100644 --- a/doc/man/nvme_resv_notify_rnlpt.2 +++ b/doc/man/nvme_resv_notify_rnlpt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_notify_rnlpt" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_notify_rnlpt" "August 2024" "API Manual" LINUX .SH NAME enum nvme_resv_notify_rnlpt \- Reservation Notification Log - Reservation Notification Log Page Type .SH SYNOPSIS diff --git a/doc/man/nvme_resv_racqa.2 b/doc/man/nvme_resv_racqa.2 index c2b0c1c..ea194d8 100644 --- a/doc/man/nvme_resv_racqa.2 +++ b/doc/man/nvme_resv_racqa.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_racqa" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_racqa" "August 2024" "API Manual" LINUX .SH NAME enum nvme_resv_racqa \- Reservation Acquire - Reservation Acquire Action .SH SYNOPSIS diff --git a/doc/man/nvme_resv_register.2 b/doc/man/nvme_resv_register.2 index 785a06e..df6bbc6 100644 --- a/doc/man/nvme_resv_register.2 +++ b/doc/man/nvme_resv_register.2 @@ -1,4 +1,4 @@ -.TH "nvme_resv_register" 9 "nvme_resv_register" "May 2024" "libnvme API manual" LINUX +.TH "nvme_resv_register" 9 "nvme_resv_register" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_resv_register \- Send an nvme reservation register .SH SYNOPSIS diff --git a/doc/man/nvme_resv_release.2 b/doc/man/nvme_resv_release.2 index aa77ef7..561ef9e 100644 --- a/doc/man/nvme_resv_release.2 +++ b/doc/man/nvme_resv_release.2 @@ -1,4 +1,4 @@ -.TH "nvme_resv_release" 9 "nvme_resv_release" "May 2024" "libnvme API manual" LINUX +.TH "nvme_resv_release" 9 "nvme_resv_release" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_resv_release \- Send an nvme reservation release .SH SYNOPSIS diff --git a/doc/man/nvme_resv_report.2 b/doc/man/nvme_resv_report.2 index 1e8afbf..d5296d4 100644 --- a/doc/man/nvme_resv_report.2 +++ b/doc/man/nvme_resv_report.2 @@ -1,4 +1,4 @@ -.TH "nvme_resv_report" 9 "nvme_resv_report" "May 2024" "libnvme API manual" LINUX +.TH "nvme_resv_report" 9 "nvme_resv_report" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_resv_report \- Send an nvme reservation report .SH SYNOPSIS diff --git a/doc/man/nvme_resv_rrega.2 b/doc/man/nvme_resv_rrega.2 index c11993b..c5a579d 100644 --- a/doc/man/nvme_resv_rrega.2 +++ b/doc/man/nvme_resv_rrega.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_rrega" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rrega" "August 2024" "API Manual" LINUX .SH NAME enum nvme_resv_rrega \- Reservation Register - Reservation Register Action .SH SYNOPSIS diff --git a/doc/man/nvme_resv_rrela.2 b/doc/man/nvme_resv_rrela.2 index 6e515e7..f6ba7bf 100644 --- a/doc/man/nvme_resv_rrela.2 +++ b/doc/man/nvme_resv_rrela.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_rrela" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rrela" "August 2024" "API Manual" LINUX .SH NAME enum nvme_resv_rrela \- Reservation Release - Reservation Release Action .SH SYNOPSIS diff --git a/doc/man/nvme_resv_rtype.2 b/doc/man/nvme_resv_rtype.2 index 2781699..0632fd0 100644 --- a/doc/man/nvme_resv_rtype.2 +++ b/doc/man/nvme_resv_rtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_resv_rtype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_resv_rtype" "August 2024" "API Manual" LINUX .SH NAME enum nvme_resv_rtype \- Reservation Type Encoding .SH SYNOPSIS diff --git a/doc/man/nvme_resv_status.2 b/doc/man/nvme_resv_status.2 index 7f549cd..4232634 100644 --- a/doc/man/nvme_resv_status.2 +++ b/doc/man/nvme_resv_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_resv_status" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_resv_status" "August 2024" "API Manual" LINUX .SH NAME struct nvme_resv_status \- Reservation Status Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_revoke_tls_key.2 b/doc/man/nvme_revoke_tls_key.2 new file mode 100644 index 0000000..56dde5f --- /dev/null +++ b/doc/man/nvme_revoke_tls_key.2 @@ -0,0 +1,17 @@ +.TH "nvme_revoke_tls_key" 9 "nvme_revoke_tls_key" "August 2024" "libnvme API manual" LINUX +.SH NAME +nvme_revoke_tls_key \- Revoke TLS key from keyring +.SH SYNOPSIS +.B "long" nvme_revoke_tls_key +.BI "(const char *keyring " "," +.BI "const char *key_type " "," +.BI "const char *identity " ");" +.SH ARGUMENTS +.IP "keyring" 12 +Keyring to use +.IP "key_type" 12 +Type of the key to revoke +.IP "identity" 12 +Key identity string +.SH "RETURN" +0 on success or on failure -1 with errno set. diff --git a/doc/man/nvme_sanitize_compln_event.2 b/doc/man/nvme_sanitize_compln_event.2 index 857ce30..9229961 100644 --- a/doc/man/nvme_sanitize_compln_event.2 +++ b/doc/man/nvme_sanitize_compln_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_sanitize_compln_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_compln_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_sanitize_compln_event \- Sanitize Completion Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_log_page.2 b/doc/man/nvme_sanitize_log_page.2 index 1284659..6002610 100644 --- a/doc/man/nvme_sanitize_log_page.2 +++ b/doc/man/nvme_sanitize_log_page.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_sanitize_log_page" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_log_page" "August 2024" "API Manual" LINUX .SH NAME struct nvme_sanitize_log_page \- Sanitize Status (Log Identifier 81h) .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_nvm.2 b/doc/man/nvme_sanitize_nvm.2 index e4c796b..155dac0 100644 --- a/doc/man/nvme_sanitize_nvm.2 +++ b/doc/man/nvme_sanitize_nvm.2 @@ -1,4 +1,4 @@ -.TH "nvme_sanitize_nvm" 9 "nvme_sanitize_nvm" "May 2024" "libnvme API manual" LINUX +.TH "nvme_sanitize_nvm" 9 "nvme_sanitize_nvm" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_sanitize_nvm \- Start a sanitize operation .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_sanact.2 b/doc/man/nvme_sanitize_sanact.2 index 58f677d..806410e 100644 --- a/doc/man/nvme_sanitize_sanact.2 +++ b/doc/man/nvme_sanitize_sanact.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_sanitize_sanact" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_sanitize_sanact" "August 2024" "API Manual" LINUX .SH NAME enum nvme_sanitize_sanact \- Sanitize Action .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_sstat.2 b/doc/man/nvme_sanitize_sstat.2 index 84f3942..662d175 100644 --- a/doc/man/nvme_sanitize_sstat.2 +++ b/doc/man/nvme_sanitize_sstat.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_sanitize_sstat" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_sanitize_sstat" "August 2024" "API Manual" LINUX .SH NAME enum nvme_sanitize_sstat \- Sanitize Status (SSTAT) .SH SYNOPSIS diff --git a/doc/man/nvme_sanitize_start_event.2 b/doc/man/nvme_sanitize_start_event.2 index 8b29a87..8ed8c89 100644 --- a/doc/man/nvme_sanitize_start_event.2 +++ b/doc/man/nvme_sanitize_start_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_sanitize_start_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_sanitize_start_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_sanitize_start_event \- Sanitize Start Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_scan.2 b/doc/man/nvme_scan.2 index 84bad0b..f897412 100644 --- a/doc/man/nvme_scan.2 +++ b/doc/man/nvme_scan.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan" 9 "nvme_scan" "May 2024" "libnvme API manual" LINUX +.TH "nvme_scan" 9 "nvme_scan" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_scan \- Scan NVMe topology .SH SYNOPSIS diff --git a/doc/man/nvme_scan_ctrl.2 b/doc/man/nvme_scan_ctrl.2 index 8fb1431..34a0967 100644 --- a/doc/man/nvme_scan_ctrl.2 +++ b/doc/man/nvme_scan_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_ctrl" 9 "nvme_scan_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl" 9 "nvme_scan_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_ctrl \- Scan on a controller .SH SYNOPSIS diff --git a/doc/man/nvme_scan_ctrl_namespace_paths.2 b/doc/man/nvme_scan_ctrl_namespace_paths.2 index e31039e..2c7792b 100644 --- a/doc/man/nvme_scan_ctrl_namespace_paths.2 +++ b/doc/man/nvme_scan_ctrl_namespace_paths.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "May 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl_namespace_paths" 9 "nvme_scan_ctrl_namespace_paths" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_ctrl_namespace_paths \- Scan for namespace paths in a controller .SH SYNOPSIS diff --git a/doc/man/nvme_scan_ctrl_namespaces.2 b/doc/man/nvme_scan_ctrl_namespaces.2 index a94bfba..39240a2 100644 --- a/doc/man/nvme_scan_ctrl_namespaces.2 +++ b/doc/man/nvme_scan_ctrl_namespaces.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "May 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrl_namespaces" 9 "nvme_scan_ctrl_namespaces" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_ctrl_namespaces \- Scan for namespaces in a controller .SH SYNOPSIS diff --git a/doc/man/nvme_scan_ctrls.2 b/doc/man/nvme_scan_ctrls.2 index b2ab313..0a3570c 100644 --- a/doc/man/nvme_scan_ctrls.2 +++ b/doc/man/nvme_scan_ctrls.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "May 2024" "libnvme API manual" LINUX +.TH "nvme_scan_ctrls" 9 "nvme_scan_ctrls" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_ctrls \- Scan for controllers .SH SYNOPSIS diff --git a/doc/man/nvme_scan_namespace.2 b/doc/man/nvme_scan_namespace.2 index e1dc27e..0d040a9 100644 --- a/doc/man/nvme_scan_namespace.2 +++ b/doc/man/nvme_scan_namespace.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_namespace" 9 "nvme_scan_namespace" "May 2024" "libnvme API manual" LINUX +.TH "nvme_scan_namespace" 9 "nvme_scan_namespace" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_namespace \- scan namespace based on sysfs name .SH SYNOPSIS diff --git a/doc/man/nvme_scan_subsystem_namespaces.2 b/doc/man/nvme_scan_subsystem_namespaces.2 index 7b52825..a177a0e 100644 --- a/doc/man/nvme_scan_subsystem_namespaces.2 +++ b/doc/man/nvme_scan_subsystem_namespaces.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "May 2024" "libnvme API manual" LINUX +.TH "nvme_scan_subsystem_namespaces" 9 "nvme_scan_subsystem_namespaces" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_subsystem_namespaces \- Scan for namespaces in a subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_scan_subsystems.2 b/doc/man/nvme_scan_subsystems.2 index edb8ce9..b40eb1e 100644 --- a/doc/man/nvme_scan_subsystems.2 +++ b/doc/man/nvme_scan_subsystems.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "May 2024" "libnvme API manual" LINUX +.TH "nvme_scan_subsystems" 9 "nvme_scan_subsystems" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_subsystems \- Scan for subsystems .SH SYNOPSIS diff --git a/doc/man/nvme_scan_tls_keys.2 b/doc/man/nvme_scan_tls_keys.2 index 663a359..69ee15e 100644 --- a/doc/man/nvme_scan_tls_keys.2 +++ b/doc/man/nvme_scan_tls_keys.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_tls_keys" 9 "nvme_scan_tls_keys" "May 2024" "libnvme API manual" LINUX +.TH "nvme_scan_tls_keys" 9 "nvme_scan_tls_keys" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_tls_keys \- Iterate over TLS keys in a keyring .SH SYNOPSIS diff --git a/doc/man/nvme_scan_topology.2 b/doc/man/nvme_scan_topology.2 index 280c0f7..6eed008 100644 --- a/doc/man/nvme_scan_topology.2 +++ b/doc/man/nvme_scan_topology.2 @@ -1,4 +1,4 @@ -.TH "nvme_scan_topology" 9 "nvme_scan_topology" "May 2024" "libnvme API manual" LINUX +.TH "nvme_scan_topology" 9 "nvme_scan_topology" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_scan_topology \- Scan NVMe topology and apply filter .SH SYNOPSIS diff --git a/doc/man/nvme_secondary_ctrl.2 b/doc/man/nvme_secondary_ctrl.2 index e2ee749..d2e19f6 100644 --- a/doc/man/nvme_secondary_ctrl.2 +++ b/doc/man/nvme_secondary_ctrl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_secondary_ctrl" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_secondary_ctrl" "August 2024" "API Manual" LINUX .SH NAME struct nvme_secondary_ctrl \- Secondary Controller Entry .SH SYNOPSIS diff --git a/doc/man/nvme_secondary_ctrl_list.2 b/doc/man/nvme_secondary_ctrl_list.2 index 64536b8..73e1402 100644 --- a/doc/man/nvme_secondary_ctrl_list.2 +++ b/doc/man/nvme_secondary_ctrl_list.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_secondary_ctrl_list" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_secondary_ctrl_list" "August 2024" "API Manual" LINUX .SH NAME struct nvme_secondary_ctrl_list \- Secondary Controller List .SH SYNOPSIS diff --git a/doc/man/nvme_security_receive.2 b/doc/man/nvme_security_receive.2 index a25cb1a..26f2782 100644 --- a/doc/man/nvme_security_receive.2 +++ b/doc/man/nvme_security_receive.2 @@ -1,4 +1,4 @@ -.TH "nvme_security_receive" 9 "nvme_security_receive" "May 2024" "libnvme API manual" LINUX +.TH "nvme_security_receive" 9 "nvme_security_receive" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_security_receive \- Security Receive command .SH SYNOPSIS diff --git a/doc/man/nvme_security_send.2 b/doc/man/nvme_security_send.2 index 0eb4da2..e4fc0eb 100644 --- a/doc/man/nvme_security_send.2 +++ b/doc/man/nvme_security_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_security_send" 9 "nvme_security_send" "May 2024" "libnvme API manual" LINUX +.TH "nvme_security_send" 9 "nvme_security_send" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_security_send \- Security Send command .SH SYNOPSIS diff --git a/doc/man/nvme_self_test_log.2 b/doc/man/nvme_self_test_log.2 index cf6dacf..c07c2b5 100644 --- a/doc/man/nvme_self_test_log.2 +++ b/doc/man/nvme_self_test_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_self_test_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_self_test_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_self_test_log \- Device Self-test (Log Identifier 06h) .SH SYNOPSIS diff --git a/doc/man/nvme_set_feat_event_layout.2 b/doc/man/nvme_set_feat_event_layout.2 index 1a7dc8d..5781071 100644 --- a/doc/man/nvme_set_feat_event_layout.2 +++ b/doc/man/nvme_set_feat_event_layout.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_set_feat_event_layout" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_set_feat_event_layout" "August 2024" "API Manual" LINUX .SH NAME enum nvme_set_feat_event_layout \- This field indicates the set feature event layout .SH SYNOPSIS diff --git a/doc/man/nvme_set_feature_event.2 b/doc/man/nvme_set_feature_event.2 index e7a5cb6..817f90b 100644 --- a/doc/man/nvme_set_feature_event.2 +++ b/doc/man/nvme_set_feature_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_set_feature_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_set_feature_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_set_feature_event \- Set Feature Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_set_features.2 b/doc/man/nvme_set_features.2 index 1950b8b..0adb1b8 100644 --- a/doc/man/nvme_set_features.2 +++ b/doc/man/nvme_set_features.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features" 9 "nvme_set_features" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features" 9 "nvme_set_features" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features \- Set a feature attribute .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_arbitration.2 b/doc/man/nvme_set_features_arbitration.2 index 1deb5f5..cd60b1d 100644 --- a/doc/man/nvme_set_features_arbitration.2 +++ b/doc/man/nvme_set_features_arbitration.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_arbitration" 9 "nvme_set_features_arbitration" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_arbitration" 9 "nvme_set_features_arbitration" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_arbitration \- Set arbitration features .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_async_event.2 b/doc/man/nvme_set_features_async_event.2 index a112e96..cf66570 100644 --- a/doc/man/nvme_set_features_async_event.2 +++ b/doc/man/nvme_set_features_async_event.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_async_event" 9 "nvme_set_features_async_event" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_async_event" 9 "nvme_set_features_async_event" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_async_event \- Set asynchronous event feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_auto_pst.2 b/doc/man/nvme_set_features_auto_pst.2 index 423cd49..b43b090 100644 --- a/doc/man/nvme_set_features_auto_pst.2 +++ b/doc/man/nvme_set_features_auto_pst.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_auto_pst" 9 "nvme_set_features_auto_pst" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_auto_pst" 9 "nvme_set_features_auto_pst" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_auto_pst \- Set autonomous power state feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_data.2 b/doc/man/nvme_set_features_data.2 index 9a1327a..3eceac7 100644 --- a/doc/man/nvme_set_features_data.2 +++ b/doc/man/nvme_set_features_data.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_data" 9 "nvme_set_features_data" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_data" 9 "nvme_set_features_data" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_data \- Helper function for @nvme_set_features() .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_endurance_evt_cfg.2 b/doc/man/nvme_set_features_endurance_evt_cfg.2 index f114c06..8cf7a7e 100644 --- a/doc/man/nvme_set_features_endurance_evt_cfg.2 +++ b/doc/man/nvme_set_features_endurance_evt_cfg.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_endurance_evt_cfg" 9 "nvme_set_features_endurance_evt_cfg" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_endurance_evt_cfg" 9 "nvme_set_features_endurance_evt_cfg" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_endurance_evt_cfg \- Set endurance event config feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_err_recovery.2 b/doc/man/nvme_set_features_err_recovery.2 index 0c0483c..d0917b6 100644 --- a/doc/man/nvme_set_features_err_recovery.2 +++ b/doc/man/nvme_set_features_err_recovery.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_err_recovery" 9 "nvme_set_features_err_recovery" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_err_recovery" 9 "nvme_set_features_err_recovery" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_err_recovery \- Set error recovery feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_hctm.2 b/doc/man/nvme_set_features_hctm.2 index 23b0728..cd84acc 100644 --- a/doc/man/nvme_set_features_hctm.2 +++ b/doc/man/nvme_set_features_hctm.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_hctm" 9 "nvme_set_features_hctm" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_hctm" 9 "nvme_set_features_hctm" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_hctm \- Set thermal management feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_host_behavior.2 b/doc/man/nvme_set_features_host_behavior.2 index 59fbad6..027ab93 100644 --- a/doc/man/nvme_set_features_host_behavior.2 +++ b/doc/man/nvme_set_features_host_behavior.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_host_behavior" 9 "nvme_set_features_host_behavior" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_host_behavior" 9 "nvme_set_features_host_behavior" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_host_behavior \- Set host behavior feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_host_id.2 b/doc/man/nvme_set_features_host_id.2 index cbe3838..b5dec9c 100644 --- a/doc/man/nvme_set_features_host_id.2 +++ b/doc/man/nvme_set_features_host_id.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_host_id" 9 "nvme_set_features_host_id" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_host_id" 9 "nvme_set_features_host_id" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_host_id \- Set enable extended host identifiers feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_iocs_profile.2 b/doc/man/nvme_set_features_iocs_profile.2 index bbb02c4..1cf6084 100644 --- a/doc/man/nvme_set_features_iocs_profile.2 +++ b/doc/man/nvme_set_features_iocs_profile.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_iocs_profile" 9 "nvme_set_features_iocs_profile" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_iocs_profile" 9 "nvme_set_features_iocs_profile" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_iocs_profile \- Set I/O command set profile feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_irq_coalesce.2 b/doc/man/nvme_set_features_irq_coalesce.2 index 85091f1..b57fc98 100644 --- a/doc/man/nvme_set_features_irq_coalesce.2 +++ b/doc/man/nvme_set_features_irq_coalesce.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_irq_coalesce" 9 "nvme_set_features_irq_coalesce" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_irq_coalesce" 9 "nvme_set_features_irq_coalesce" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_irq_coalesce \- Set IRQ coalesce feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_irq_config.2 b/doc/man/nvme_set_features_irq_config.2 index 8af082a..9f40e99 100644 --- a/doc/man/nvme_set_features_irq_config.2 +++ b/doc/man/nvme_set_features_irq_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_irq_config" 9 "nvme_set_features_irq_config" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_irq_config" 9 "nvme_set_features_irq_config" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_irq_config \- Set IRQ config feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_lba_range.2 b/doc/man/nvme_set_features_lba_range.2 index 2dbd9ff..9101e4c 100644 --- a/doc/man/nvme_set_features_lba_range.2 +++ b/doc/man/nvme_set_features_lba_range.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_lba_range" 9 "nvme_set_features_lba_range" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_lba_range" 9 "nvme_set_features_lba_range" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_lba_range \- Set LBA range feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_lba_sts_interval.2 b/doc/man/nvme_set_features_lba_sts_interval.2 index 4e40820..dd0f902 100644 --- a/doc/man/nvme_set_features_lba_sts_interval.2 +++ b/doc/man/nvme_set_features_lba_sts_interval.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_lba_sts_interval" 9 "nvme_set_features_lba_sts_interval" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_lba_sts_interval" 9 "nvme_set_features_lba_sts_interval" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_lba_sts_interval \- Set LBA status information feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_nopsc.2 b/doc/man/nvme_set_features_nopsc.2 index 512322a..9796ec8 100644 --- a/doc/man/nvme_set_features_nopsc.2 +++ b/doc/man/nvme_set_features_nopsc.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_nopsc" 9 "nvme_set_features_nopsc" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_nopsc" 9 "nvme_set_features_nopsc" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_nopsc \- Set non-operational power state feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_plm_config.2 b/doc/man/nvme_set_features_plm_config.2 index 20bab5d..f30890e 100644 --- a/doc/man/nvme_set_features_plm_config.2 +++ b/doc/man/nvme_set_features_plm_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_plm_config" 9 "nvme_set_features_plm_config" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_plm_config" 9 "nvme_set_features_plm_config" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_plm_config \- Set predictable latency feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_plm_window.2 b/doc/man/nvme_set_features_plm_window.2 index 67233a3..7770c22 100644 --- a/doc/man/nvme_set_features_plm_window.2 +++ b/doc/man/nvme_set_features_plm_window.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_plm_window" 9 "nvme_set_features_plm_window" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_plm_window" 9 "nvme_set_features_plm_window" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_plm_window \- Set window select feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_power_mgmt.2 b/doc/man/nvme_set_features_power_mgmt.2 index 4697910..69ea4f9 100644 --- a/doc/man/nvme_set_features_power_mgmt.2 +++ b/doc/man/nvme_set_features_power_mgmt.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_power_mgmt" 9 "nvme_set_features_power_mgmt" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_power_mgmt" 9 "nvme_set_features_power_mgmt" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_power_mgmt \- Set power management feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_resv_mask.2 b/doc/man/nvme_set_features_resv_mask.2 index b57b4f3..78fdd27 100644 --- a/doc/man/nvme_set_features_resv_mask.2 +++ b/doc/man/nvme_set_features_resv_mask.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_resv_mask" 9 "nvme_set_features_resv_mask" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_mask" 9 "nvme_set_features_resv_mask" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_resv_mask \- Set reservation notification mask feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_resv_mask2.2 b/doc/man/nvme_set_features_resv_mask2.2 index cbafd03..2c1cecf 100644 --- a/doc/man/nvme_set_features_resv_mask2.2 +++ b/doc/man/nvme_set_features_resv_mask2.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_resv_mask2" 9 "nvme_set_features_resv_mask2" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_mask2" 9 "nvme_set_features_resv_mask2" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_resv_mask2 \- Set reservation notification mask feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_resv_persist.2 b/doc/man/nvme_set_features_resv_persist.2 index d14b397..4b73dee 100644 --- a/doc/man/nvme_set_features_resv_persist.2 +++ b/doc/man/nvme_set_features_resv_persist.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_resv_persist" 9 "nvme_set_features_resv_persist" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_persist" 9 "nvme_set_features_resv_persist" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_resv_persist \- Set persist through power loss feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_resv_persist2.2 b/doc/man/nvme_set_features_resv_persist2.2 index bd2c40c..b02f82d 100644 --- a/doc/man/nvme_set_features_resv_persist2.2 +++ b/doc/man/nvme_set_features_resv_persist2.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_resv_persist2" 9 "nvme_set_features_resv_persist2" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_resv_persist2" 9 "nvme_set_features_resv_persist2" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_resv_persist2 \- Set persist through power loss feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_rrl.2 b/doc/man/nvme_set_features_rrl.2 index 48da4ba..c4f0318 100644 --- a/doc/man/nvme_set_features_rrl.2 +++ b/doc/man/nvme_set_features_rrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_rrl" 9 "nvme_set_features_rrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_rrl" 9 "nvme_set_features_rrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_rrl \- Set read recovery level feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_sanitize.2 b/doc/man/nvme_set_features_sanitize.2 index 0bf44e5..1b138e8 100644 --- a/doc/man/nvme_set_features_sanitize.2 +++ b/doc/man/nvme_set_features_sanitize.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_sanitize" 9 "nvme_set_features_sanitize" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_sanitize" 9 "nvme_set_features_sanitize" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_sanitize \- Set sanitize feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_simple.2 b/doc/man/nvme_set_features_simple.2 index 9729e9d..4ba9d4b 100644 --- a/doc/man/nvme_set_features_simple.2 +++ b/doc/man/nvme_set_features_simple.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_simple" 9 "nvme_set_features_simple" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_simple" 9 "nvme_set_features_simple" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_simple \- Helper function for @nvme_set_features() .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_sw_progress.2 b/doc/man/nvme_set_features_sw_progress.2 index 9eeed48..5a4628f 100644 --- a/doc/man/nvme_set_features_sw_progress.2 +++ b/doc/man/nvme_set_features_sw_progress.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_sw_progress" 9 "nvme_set_features_sw_progress" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_sw_progress" 9 "nvme_set_features_sw_progress" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_sw_progress \- Set pre-boot software load count feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_temp_thresh.2 b/doc/man/nvme_set_features_temp_thresh.2 index 1b6c576..8220084 100644 --- a/doc/man/nvme_set_features_temp_thresh.2 +++ b/doc/man/nvme_set_features_temp_thresh.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_temp_thresh" 9 "nvme_set_features_temp_thresh" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_temp_thresh \- Set temperature threshold feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_timestamp.2 b/doc/man/nvme_set_features_timestamp.2 index 3347e28..2b2ccae 100644 --- a/doc/man/nvme_set_features_timestamp.2 +++ b/doc/man/nvme_set_features_timestamp.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_timestamp" 9 "nvme_set_features_timestamp" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_timestamp" 9 "nvme_set_features_timestamp" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_timestamp \- Set timestamp feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_volatile_wc.2 b/doc/man/nvme_set_features_volatile_wc.2 index 365814a..4ed14ef 100644 --- a/doc/man/nvme_set_features_volatile_wc.2 +++ b/doc/man/nvme_set_features_volatile_wc.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_volatile_wc" 9 "nvme_set_features_volatile_wc" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_volatile_wc" 9 "nvme_set_features_volatile_wc" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_volatile_wc \- Set volatile write cache feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_write_atomic.2 b/doc/man/nvme_set_features_write_atomic.2 index 99c12f2..1233bc1 100644 --- a/doc/man/nvme_set_features_write_atomic.2 +++ b/doc/man/nvme_set_features_write_atomic.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_write_atomic" 9 "nvme_set_features_write_atomic" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_write_atomic" 9 "nvme_set_features_write_atomic" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_write_atomic \- Set write atomic feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_write_protect.2 b/doc/man/nvme_set_features_write_protect.2 index 7b92799..22f59d6 100644 --- a/doc/man/nvme_set_features_write_protect.2 +++ b/doc/man/nvme_set_features_write_protect.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_write_protect" 9 "nvme_set_features_write_protect" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_write_protect" 9 "nvme_set_features_write_protect" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_write_protect \- Set write protect feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_features_write_protect2.2 b/doc/man/nvme_set_features_write_protect2.2 index 3c184f9..ba2ef2e 100644 --- a/doc/man/nvme_set_features_write_protect2.2 +++ b/doc/man/nvme_set_features_write_protect2.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_features_write_protect2" 9 "nvme_set_features_write_protect2" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_features_write_protect2" 9 "nvme_set_features_write_protect2" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_features_write_protect2 \- Set write protect feature .SH SYNOPSIS diff --git a/doc/man/nvme_set_keyring.2 b/doc/man/nvme_set_keyring.2 index 6719428..0161605 100644 --- a/doc/man/nvme_set_keyring.2 +++ b/doc/man/nvme_set_keyring.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_keyring" 9 "nvme_set_keyring" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_keyring" 9 "nvme_set_keyring" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_keyring \- Link keyring for lookup .SH SYNOPSIS diff --git a/doc/man/nvme_set_property.2 b/doc/man/nvme_set_property.2 index 5d21327..51d2240 100644 --- a/doc/man/nvme_set_property.2 +++ b/doc/man/nvme_set_property.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_property" 9 "nvme_set_property" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_property" 9 "nvme_set_property" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_property \- Set controller property .SH SYNOPSIS diff --git a/doc/man/nvme_set_root.2 b/doc/man/nvme_set_root.2 index 7c02696..c03de4a 100644 --- a/doc/man/nvme_set_root.2 +++ b/doc/man/nvme_set_root.2 @@ -1,4 +1,4 @@ -.TH "nvme_set_root" 9 "nvme_set_root" "May 2024" "libnvme API manual" LINUX +.TH "nvme_set_root" 9 "nvme_set_root" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_set_root \- Set nvme_root_t context .SH SYNOPSIS @@ -14,3 +14,6 @@ When creating a new root object with \fInvme_create_root\fP the global root obje will be set as well. This means the global root object is always pointing to the latest created root object. Note the first \fInvme_free_tree\fP call will reset the global root object. + +This function is deprecated. Use nvme_init_default_logging or/and +nvme_init_logging instead. diff --git a/doc/man/nvme_smart_crit.2 b/doc/man/nvme_smart_crit.2 index 76c2d79..2dee75a 100644 --- a/doc/man/nvme_smart_crit.2 +++ b/doc/man/nvme_smart_crit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_smart_crit" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_smart_crit" "August 2024" "API Manual" LINUX .SH NAME enum nvme_smart_crit \- Critical Warning .SH SYNOPSIS diff --git a/doc/man/nvme_smart_egcw.2 b/doc/man/nvme_smart_egcw.2 index 7ea0f13..bbb666b 100644 --- a/doc/man/nvme_smart_egcw.2 +++ b/doc/man/nvme_smart_egcw.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_smart_egcw" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_smart_egcw" "August 2024" "API Manual" LINUX .SH NAME enum nvme_smart_egcw \- Endurance Group Critical Warning Summary .SH SYNOPSIS diff --git a/doc/man/nvme_smart_log.2 b/doc/man/nvme_smart_log.2 index c70dc78..d19627f 100644 --- a/doc/man/nvme_smart_log.2 +++ b/doc/man/nvme_smart_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_smart_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_smart_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_smart_log \- SMART / Health Information Log (Log Identifier 02h) .SH SYNOPSIS diff --git a/doc/man/nvme_st_code.2 b/doc/man/nvme_st_code.2 index 9d8523e..6d594c6 100644 --- a/doc/man/nvme_st_code.2 +++ b/doc/man/nvme_st_code.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_st_code" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_code" "August 2024" "API Manual" LINUX .SH NAME enum nvme_st_code \- Self-test Code value .SH SYNOPSIS diff --git a/doc/man/nvme_st_curr_op.2 b/doc/man/nvme_st_curr_op.2 index fd2bb40..160f9c3 100644 --- a/doc/man/nvme_st_curr_op.2 +++ b/doc/man/nvme_st_curr_op.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_st_curr_op" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_curr_op" "August 2024" "API Manual" LINUX .SH NAME enum nvme_st_curr_op \- Current Device Self-Test Operation .SH SYNOPSIS diff --git a/doc/man/nvme_st_result.2 b/doc/man/nvme_st_result.2 index 8b8032f..52d2630 100644 --- a/doc/man/nvme_st_result.2 +++ b/doc/man/nvme_st_result.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_st_result" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_st_result" "August 2024" "API Manual" LINUX .SH NAME struct nvme_st_result \- Self-test Result .SH SYNOPSIS diff --git a/doc/man/nvme_st_valid_diag_info.2 b/doc/man/nvme_st_valid_diag_info.2 index df2d7fd..77b9dc3 100644 --- a/doc/man/nvme_st_valid_diag_info.2 +++ b/doc/man/nvme_st_valid_diag_info.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_st_valid_diag_info" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_st_valid_diag_info" "August 2024" "API Manual" LINUX .SH NAME enum nvme_st_valid_diag_info \- Valid Diagnostic Information .SH SYNOPSIS diff --git a/doc/man/nvme_status_code.2 b/doc/man/nvme_status_code.2 index 955a50c..4067f97 100644 --- a/doc/man/nvme_status_code.2 +++ b/doc/man/nvme_status_code.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_code" 9 "nvme_status_code" "May 2024" "libnvme API manual" LINUX +.TH "nvme_status_code" 9 "nvme_status_code" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_status_code \- Returns the NVMe Status Code .SH SYNOPSIS diff --git a/doc/man/nvme_status_code_type.2 b/doc/man/nvme_status_code_type.2 index 29a9d85..5e71cff 100644 --- a/doc/man/nvme_status_code_type.2 +++ b/doc/man/nvme_status_code_type.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_code_type" 9 "nvme_status_code_type" "May 2024" "libnvme API manual" LINUX +.TH "nvme_status_code_type" 9 "nvme_status_code_type" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_status_code_type \- Returns the NVMe Status Code Type .SH SYNOPSIS diff --git a/doc/man/nvme_status_equals.2 b/doc/man/nvme_status_equals.2 index a12221f..d58bd08 100644 --- a/doc/man/nvme_status_equals.2 +++ b/doc/man/nvme_status_equals.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_equals" 9 "nvme_status_equals" "May 2024" "libnvme API manual" LINUX +.TH "nvme_status_equals" 9 "nvme_status_equals" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_status_equals \- helper to check a status against a type and value .SH SYNOPSIS diff --git a/doc/man/nvme_status_field.2 b/doc/man/nvme_status_field.2 index 4ada898..827664e 100644 --- a/doc/man/nvme_status_field.2 +++ b/doc/man/nvme_status_field.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_status_field" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_field" "August 2024" "API Manual" LINUX .SH NAME enum nvme_status_field \- Defines all parts of the nvme status field: status code, status code type, and additional flags. .SH SYNOPSIS diff --git a/doc/man/nvme_status_get_type.2 b/doc/man/nvme_status_get_type.2 index d73b4e6..7b8c55b 100644 --- a/doc/man/nvme_status_get_type.2 +++ b/doc/man/nvme_status_get_type.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_get_type" 9 "nvme_status_get_type" "May 2024" "libnvme API manual" LINUX +.TH "nvme_status_get_type" 9 "nvme_status_get_type" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_status_get_type \- extract the type from a nvme_* return value .SH SYNOPSIS diff --git a/doc/man/nvme_status_get_value.2 b/doc/man/nvme_status_get_value.2 index a50d103..5577113 100644 --- a/doc/man/nvme_status_get_value.2 +++ b/doc/man/nvme_status_get_value.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_get_value" 9 "nvme_status_get_value" "May 2024" "libnvme API manual" LINUX +.TH "nvme_status_get_value" 9 "nvme_status_get_value" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_status_get_value \- extract the status value from a nvme_* return value .SH SYNOPSIS diff --git a/doc/man/nvme_status_result.2 b/doc/man/nvme_status_result.2 index 42a9d77..66fc97c 100644 --- a/doc/man/nvme_status_result.2 +++ b/doc/man/nvme_status_result.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_status_result" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_result" "August 2024" "API Manual" LINUX .SH NAME enum nvme_status_result \- Result of the device self-test operation .SH SYNOPSIS diff --git a/doc/man/nvme_status_to_errno.2 b/doc/man/nvme_status_to_errno.2 index 2384b17..e38ee34 100644 --- a/doc/man/nvme_status_to_errno.2 +++ b/doc/man/nvme_status_to_errno.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_to_errno" 9 "nvme_status_to_errno" "May 2024" "libnvme API manual" LINUX +.TH "nvme_status_to_errno" 9 "nvme_status_to_errno" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_status_to_errno \- Converts nvme return status to errno .SH SYNOPSIS diff --git a/doc/man/nvme_status_to_string.2 b/doc/man/nvme_status_to_string.2 index 36f1347..7895f13 100644 --- a/doc/man/nvme_status_to_string.2 +++ b/doc/man/nvme_status_to_string.2 @@ -1,4 +1,4 @@ -.TH "nvme_status_to_string" 9 "nvme_status_to_string" "May 2024" "libnvme API manual" LINUX +.TH "nvme_status_to_string" 9 "nvme_status_to_string" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_status_to_string \- Returns string describing nvme return status. .SH SYNOPSIS diff --git a/doc/man/nvme_status_type.2 b/doc/man/nvme_status_type.2 index 1bfd967..5107a0e 100644 --- a/doc/man/nvme_status_type.2 +++ b/doc/man/nvme_status_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_status_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_status_type" "August 2024" "API Manual" LINUX .SH NAME enum nvme_status_type \- type encoding for NVMe return values, when represented as an int. .SH SYNOPSIS diff --git a/doc/man/nvme_streams_directive_params.2 b/doc/man/nvme_streams_directive_params.2 index 59bca43..218375a 100644 --- a/doc/man/nvme_streams_directive_params.2 +++ b/doc/man/nvme_streams_directive_params.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_streams_directive_params" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_streams_directive_params" "August 2024" "API Manual" LINUX .SH NAME struct nvme_streams_directive_params \- Streams Directive - Return Parameters Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_streams_directive_status.2 b/doc/man/nvme_streams_directive_status.2 index c326223..5ae90df 100644 --- a/doc/man/nvme_streams_directive_status.2 +++ b/doc/man/nvme_streams_directive_status.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_streams_directive_status" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_streams_directive_status" "August 2024" "API Manual" LINUX .SH NAME struct nvme_streams_directive_status \- Streams Directive - Get Status Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_submit_admin_passthru.2 b/doc/man/nvme_submit_admin_passthru.2 index 20a531b..0511b59 100644 --- a/doc/man/nvme_submit_admin_passthru.2 +++ b/doc/man/nvme_submit_admin_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_submit_admin_passthru" 9 "nvme_submit_admin_passthru" "May 2024" "libnvme API manual" LINUX +.TH "nvme_submit_admin_passthru" 9 "nvme_submit_admin_passthru" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_submit_admin_passthru \- Submit an nvme passthrough admin command .SH SYNOPSIS diff --git a/doc/man/nvme_submit_admin_passthru64.2 b/doc/man/nvme_submit_admin_passthru64.2 index f0271f1..39eec4a 100644 --- a/doc/man/nvme_submit_admin_passthru64.2 +++ b/doc/man/nvme_submit_admin_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_submit_admin_passthru64" 9 "nvme_submit_admin_passthru64" "May 2024" "libnvme API manual" LINUX +.TH "nvme_submit_admin_passthru64" 9 "nvme_submit_admin_passthru64" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_submit_admin_passthru64 \- Submit a 64-bit nvme passthrough admin command .SH SYNOPSIS diff --git a/doc/man/nvme_submit_io_passthru.2 b/doc/man/nvme_submit_io_passthru.2 index 3bfb454..4a2a594 100644 --- a/doc/man/nvme_submit_io_passthru.2 +++ b/doc/man/nvme_submit_io_passthru.2 @@ -1,4 +1,4 @@ -.TH "nvme_submit_io_passthru" 9 "nvme_submit_io_passthru" "May 2024" "libnvme API manual" LINUX +.TH "nvme_submit_io_passthru" 9 "nvme_submit_io_passthru" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_submit_io_passthru \- Submit an nvme passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_submit_io_passthru64.2 b/doc/man/nvme_submit_io_passthru64.2 index f4b2200..0acb1b9 100644 --- a/doc/man/nvme_submit_io_passthru64.2 +++ b/doc/man/nvme_submit_io_passthru64.2 @@ -1,4 +1,4 @@ -.TH "nvme_submit_io_passthru64" 9 "nvme_submit_io_passthru64" "May 2024" "libnvme API manual" LINUX +.TH "nvme_submit_io_passthru64" 9 "nvme_submit_io_passthru64" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_submit_io_passthru64 \- Submit a 64-bit nvme passthrough command .SH SYNOPSIS diff --git a/doc/man/nvme_subsys_filter.2 b/doc/man/nvme_subsys_filter.2 index 54a7bb7..5464003 100644 --- a/doc/man/nvme_subsys_filter.2 +++ b/doc/man/nvme_subsys_filter.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsys_filter" 9 "nvme_subsys_filter" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsys_filter \- Filter for subsystems .SH SYNOPSIS diff --git a/doc/man/nvme_subsys_type.2 b/doc/man/nvme_subsys_type.2 index 0aea148..41cd5d7 100644 --- a/doc/man/nvme_subsys_type.2 +++ b/doc/man/nvme_subsys_type.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_subsys_type" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_subsys_type" "August 2024" "API Manual" LINUX .SH NAME enum nvme_subsys_type \- Type of the NVM subsystem. .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_first_ctrl.2 b/doc/man/nvme_subsystem_first_ctrl.2 index a2b4254..cd280df 100644 --- a/doc/man/nvme_subsystem_first_ctrl.2 +++ b/doc/man/nvme_subsystem_first_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_first_ctrl" 9 "nvme_subsystem_first_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_first_ctrl" 9 "nvme_subsystem_first_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_first_ctrl \- First ctrl iterator .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_first_ns.2 b/doc/man/nvme_subsystem_first_ns.2 index 4c17f53..9028f41 100644 --- a/doc/man/nvme_subsystem_first_ns.2 +++ b/doc/man/nvme_subsystem_first_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_first_ns" 9 "nvme_subsystem_first_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_first_ns" 9 "nvme_subsystem_first_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_first_ns \- Start namespace iterator .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_for_each_ctrl.2 b/doc/man/nvme_subsystem_for_each_ctrl.2 index 3593a8d..e36a47e 100644 --- a/doc/man/nvme_subsystem_for_each_ctrl.2 +++ b/doc/man/nvme_subsystem_for_each_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_for_each_ctrl" 9 "nvme_subsystem_for_each_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ctrl" 9 "nvme_subsystem_for_each_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_for_each_ctrl \- Traverse controllers .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_for_each_ctrl_safe.2 b/doc/man/nvme_subsystem_for_each_ctrl_safe.2 index 8d880f0..d3916eb 100644 --- a/doc/man/nvme_subsystem_for_each_ctrl_safe.2 +++ b/doc/man/nvme_subsystem_for_each_ctrl_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_for_each_ctrl_safe" 9 "nvme_subsystem_for_each_ctrl_safe" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ctrl_safe" 9 "nvme_subsystem_for_each_ctrl_safe" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_for_each_ctrl_safe \- Traverse controllers .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_for_each_ns.2 b/doc/man/nvme_subsystem_for_each_ns.2 index 18c3d62..a0fa707 100644 --- a/doc/man/nvme_subsystem_for_each_ns.2 +++ b/doc/man/nvme_subsystem_for_each_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_for_each_ns" 9 "nvme_subsystem_for_each_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ns" 9 "nvme_subsystem_for_each_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_for_each_ns \- Traverse namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_for_each_ns_safe.2 b/doc/man/nvme_subsystem_for_each_ns_safe.2 index 3e221c2..5d005af 100644 --- a/doc/man/nvme_subsystem_for_each_ns_safe.2 +++ b/doc/man/nvme_subsystem_for_each_ns_safe.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_for_each_ns_safe" 9 "nvme_subsystem_for_each_ns_safe" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_for_each_ns_safe" 9 "nvme_subsystem_for_each_ns_safe" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_for_each_ns_safe \- Traverse namespaces .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_application.2 b/doc/man/nvme_subsystem_get_application.2 index 0c406f7..a1ce1bc 100644 --- a/doc/man/nvme_subsystem_get_application.2 +++ b/doc/man/nvme_subsystem_get_application.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_application" 9 "nvme_subsystem_get_application" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_application" 9 "nvme_subsystem_get_application" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_application \- Return the application string .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_host.2 b/doc/man/nvme_subsystem_get_host.2 index 358f390..1b4ca02 100644 --- a/doc/man/nvme_subsystem_get_host.2 +++ b/doc/man/nvme_subsystem_get_host.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_host" 9 "nvme_subsystem_get_host" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_host" 9 "nvme_subsystem_get_host" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_host \- Returns nvme_host_t object .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_iopolicy.2 b/doc/man/nvme_subsystem_get_iopolicy.2 index 691a638..f9624a5 100644 --- a/doc/man/nvme_subsystem_get_iopolicy.2 +++ b/doc/man/nvme_subsystem_get_iopolicy.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_iopolicy" 9 "nvme_subsystem_get_iopolicy" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_iopolicy" 9 "nvme_subsystem_get_iopolicy" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_iopolicy \- Return the IO policy of subsytem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_name.2 b/doc/man/nvme_subsystem_get_name.2 index 62c09ca..a38aedb 100644 --- a/doc/man/nvme_subsystem_get_name.2 +++ b/doc/man/nvme_subsystem_get_name.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_name" 9 "nvme_subsystem_get_name" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_name" 9 "nvme_subsystem_get_name" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_name \- sysfs name of an nvme_subsystem_t object .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_nqn.2 b/doc/man/nvme_subsystem_get_nqn.2 index 9f28032..723f313 100644 --- a/doc/man/nvme_subsystem_get_nqn.2 +++ b/doc/man/nvme_subsystem_get_nqn.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_nqn" 9 "nvme_subsystem_get_nqn" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_nqn" 9 "nvme_subsystem_get_nqn" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_nqn \- Retrieve NQN from subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_sysfs_dir.2 b/doc/man/nvme_subsystem_get_sysfs_dir.2 index 796bf30..9b13109 100644 --- a/doc/man/nvme_subsystem_get_sysfs_dir.2 +++ b/doc/man/nvme_subsystem_get_sysfs_dir.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_sysfs_dir" 9 "nvme_subsystem_get_sysfs_dir" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_sysfs_dir" 9 "nvme_subsystem_get_sysfs_dir" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_sysfs_dir \- sysfs directory of an nvme_subsystem_t object .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_get_type.2 b/doc/man/nvme_subsystem_get_type.2 index 5aaaed8..4104c3f 100644 --- a/doc/man/nvme_subsystem_get_type.2 +++ b/doc/man/nvme_subsystem_get_type.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_get_type" 9 "nvme_subsystem_get_type" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_get_type" 9 "nvme_subsystem_get_type" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_get_type \- Returns the type of a subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_lookup_namespace.2 b/doc/man/nvme_subsystem_lookup_namespace.2 index a72bddb..b72632e 100644 --- a/doc/man/nvme_subsystem_lookup_namespace.2 +++ b/doc/man/nvme_subsystem_lookup_namespace.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_lookup_namespace" 9 "nvme_subsystem_lookup_namespace" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_lookup_namespace" 9 "nvme_subsystem_lookup_namespace" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_lookup_namespace \- lookup namespace by NSID .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_next_ctrl.2 b/doc/man/nvme_subsystem_next_ctrl.2 index e099192..5e34cf8 100644 --- a/doc/man/nvme_subsystem_next_ctrl.2 +++ b/doc/man/nvme_subsystem_next_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_next_ctrl" 9 "nvme_subsystem_next_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_next_ctrl" 9 "nvme_subsystem_next_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_next_ctrl \- Next ctrl iterator .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_next_ns.2 b/doc/man/nvme_subsystem_next_ns.2 index 566c4eb..7c16720 100644 --- a/doc/man/nvme_subsystem_next_ns.2 +++ b/doc/man/nvme_subsystem_next_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_next_ns" 9 "nvme_subsystem_next_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_next_ns" 9 "nvme_subsystem_next_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_next_ns \- Next namespace iterator .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_release_fds.2 b/doc/man/nvme_subsystem_release_fds.2 index dd86e9b..9b5cc67 100644 --- a/doc/man/nvme_subsystem_release_fds.2 +++ b/doc/man/nvme_subsystem_release_fds.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_release_fds" 9 "nvme_subsystem_release_fds" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_release_fds" 9 "nvme_subsystem_release_fds" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_release_fds \- Close all opened fds under subsystem .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_reset.2 b/doc/man/nvme_subsystem_reset.2 index 6e5e6a9..4191e4d 100644 --- a/doc/man/nvme_subsystem_reset.2 +++ b/doc/man/nvme_subsystem_reset.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_reset" 9 "nvme_subsystem_reset" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_reset" 9 "nvme_subsystem_reset" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_reset \- Initiate a subsystem reset .SH SYNOPSIS diff --git a/doc/man/nvme_subsystem_set_application.2 b/doc/man/nvme_subsystem_set_application.2 index 3e4c471..9069d36 100644 --- a/doc/man/nvme_subsystem_set_application.2 +++ b/doc/man/nvme_subsystem_set_application.2 @@ -1,4 +1,4 @@ -.TH "nvme_subsystem_set_application" 9 "nvme_subsystem_set_application" "May 2024" "libnvme API manual" LINUX +.TH "nvme_subsystem_set_application" 9 "nvme_subsystem_set_application" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_subsystem_set_application \- Set the application string .SH SYNOPSIS diff --git a/doc/man/nvme_supported_cap_config_list_log.2 b/doc/man/nvme_supported_cap_config_list_log.2 index 3f447d8..f178220 100644 --- a/doc/man/nvme_supported_cap_config_list_log.2 +++ b/doc/man/nvme_supported_cap_config_list_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_supported_cap_config_list_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_supported_cap_config_list_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_supported_cap_config_list_log \- Supported Capacity Configuration list log page .SH SYNOPSIS diff --git a/doc/man/nvme_supported_log_pages.2 b/doc/man/nvme_supported_log_pages.2 index 36a3906..0e3527d 100644 --- a/doc/man/nvme_supported_log_pages.2 +++ b/doc/man/nvme_supported_log_pages.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_supported_log_pages" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_supported_log_pages" "August 2024" "API Manual" LINUX .SH NAME struct nvme_supported_log_pages \- Supported Log Pages - Log .SH SYNOPSIS diff --git a/doc/man/nvme_telemetry_da.2 b/doc/man/nvme_telemetry_da.2 index 1bb1758..dc486cf 100644 --- a/doc/man/nvme_telemetry_da.2 +++ b/doc/man/nvme_telemetry_da.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_telemetry_da" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_telemetry_da" "August 2024" "API Manual" LINUX .SH NAME enum nvme_telemetry_da \- Telemetry Log Data Area .SH SYNOPSIS diff --git a/doc/man/nvme_telemetry_log.2 b/doc/man/nvme_telemetry_log.2 index 7a265f5..de977bf 100644 --- a/doc/man/nvme_telemetry_log.2 +++ b/doc/man/nvme_telemetry_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_telemetry_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_telemetry_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_telemetry_log \- Retrieve internal data specific to the manufacturer. .SH SYNOPSIS diff --git a/doc/man/nvme_thermal_exc_event.2 b/doc/man/nvme_thermal_exc_event.2 index 38c586b..04a381b 100644 --- a/doc/man/nvme_thermal_exc_event.2 +++ b/doc/man/nvme_thermal_exc_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_thermal_exc_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_thermal_exc_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_thermal_exc_event \- Thermal Excursion Event Data .SH SYNOPSIS diff --git a/doc/man/nvme_time_stamp_change_event.2 b/doc/man/nvme_time_stamp_change_event.2 index 53cbb03..1fdd348 100644 --- a/doc/man/nvme_time_stamp_change_event.2 +++ b/doc/man/nvme_time_stamp_change_event.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_time_stamp_change_event" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_time_stamp_change_event" "August 2024" "API Manual" LINUX .SH NAME struct nvme_time_stamp_change_event \- Timestamp Change Event .SH SYNOPSIS diff --git a/doc/man/nvme_timestamp.2 b/doc/man/nvme_timestamp.2 index ce02412..4293742 100644 --- a/doc/man/nvme_timestamp.2 +++ b/doc/man/nvme_timestamp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_timestamp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_timestamp" "August 2024" "API Manual" LINUX .SH NAME struct nvme_timestamp \- Timestamp - Data Structure for Get Features .SH SYNOPSIS diff --git a/doc/man/nvme_unit.2 b/doc/man/nvme_unit.2 index eea04a7..9015af3 100644 --- a/doc/man/nvme_unit.2 +++ b/doc/man/nvme_unit.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_unit" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_unit" "August 2024" "API Manual" LINUX .SH NAME enum nvme_unit \- Defined buffer size and write throughput granularity units .SH SYNOPSIS diff --git a/doc/man/nvme_unlink_ctrl.2 b/doc/man/nvme_unlink_ctrl.2 index f70bb20..aa4a9ce 100644 --- a/doc/man/nvme_unlink_ctrl.2 +++ b/doc/man/nvme_unlink_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_unlink_ctrl" 9 "nvme_unlink_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_unlink_ctrl" 9 "nvme_unlink_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_unlink_ctrl \- Unlink controller .SH SYNOPSIS diff --git a/doc/man/nvme_update_config.2 b/doc/man/nvme_update_config.2 index 448a8c9..0f40b14 100644 --- a/doc/man/nvme_update_config.2 +++ b/doc/man/nvme_update_config.2 @@ -1,4 +1,4 @@ -.TH "nvme_update_config" 9 "nvme_update_config" "May 2024" "libnvme API manual" LINUX +.TH "nvme_update_config" 9 "nvme_update_config" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_update_config \- Update JSON configuration .SH SYNOPSIS diff --git a/doc/man/nvme_update_key.2 b/doc/man/nvme_update_key.2 index 96ff15c..2e5fe0a 100644 --- a/doc/man/nvme_update_key.2 +++ b/doc/man/nvme_update_key.2 @@ -1,4 +1,4 @@ -.TH "nvme_update_key" 9 "nvme_update_key" "May 2024" "libnvme API manual" LINUX +.TH "nvme_update_key" 9 "nvme_update_key" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_update_key \- Update key raw data .SH SYNOPSIS diff --git a/doc/man/nvme_uring_cmd.2 b/doc/man/nvme_uring_cmd.2 index b5f55cb..d737abe 100644 --- a/doc/man/nvme_uring_cmd.2 +++ b/doc/man/nvme_uring_cmd.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_uring_cmd" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_uring_cmd" "August 2024" "API Manual" LINUX .SH NAME struct nvme_uring_cmd \- nvme uring command structure .SH SYNOPSIS diff --git a/doc/man/nvme_verify.2 b/doc/man/nvme_verify.2 index cdc9e12..27a19ab 100644 --- a/doc/man/nvme_verify.2 +++ b/doc/man/nvme_verify.2 @@ -1,4 +1,4 @@ -.TH "nvme_verify" 9 "nvme_verify" "May 2024" "libnvme API manual" LINUX +.TH "nvme_verify" 9 "nvme_verify" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_verify \- Send an nvme verify command .SH SYNOPSIS diff --git a/doc/man/nvme_version.2 b/doc/man/nvme_version.2 index dd403df..2c26f7e 100644 --- a/doc/man/nvme_version.2 +++ b/doc/man/nvme_version.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_version" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_version" "August 2024" "API Manual" LINUX .SH NAME enum nvme_version \- Selector for version to be returned by @nvme_get_version .SH SYNOPSIS diff --git a/doc/man/nvme_virt_mgmt_act.2 b/doc/man/nvme_virt_mgmt_act.2 index 2a15fd9..9499017 100644 --- a/doc/man/nvme_virt_mgmt_act.2 +++ b/doc/man/nvme_virt_mgmt_act.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_virt_mgmt_act" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_virt_mgmt_act" "August 2024" "API Manual" LINUX .SH NAME enum nvme_virt_mgmt_act \- Virtualization Management - Action .SH SYNOPSIS diff --git a/doc/man/nvme_virt_mgmt_rt.2 b/doc/man/nvme_virt_mgmt_rt.2 index 1ad8308..7262ad1 100644 --- a/doc/man/nvme_virt_mgmt_rt.2 +++ b/doc/man/nvme_virt_mgmt_rt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_virt_mgmt_rt" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_virt_mgmt_rt" "August 2024" "API Manual" LINUX .SH NAME enum nvme_virt_mgmt_rt \- Virtualization Management - Resource Type .SH SYNOPSIS diff --git a/doc/man/nvme_virtual_mgmt.2 b/doc/man/nvme_virtual_mgmt.2 index ca7d4ee..ae1c691 100644 --- a/doc/man/nvme_virtual_mgmt.2 +++ b/doc/man/nvme_virtual_mgmt.2 @@ -1,4 +1,4 @@ -.TH "nvme_virtual_mgmt" 9 "nvme_virtual_mgmt" "May 2024" "libnvme API manual" LINUX +.TH "nvme_virtual_mgmt" 9 "nvme_virtual_mgmt" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_virtual_mgmt \- Virtualization resource management .SH SYNOPSIS diff --git a/doc/man/nvme_vs.2 b/doc/man/nvme_vs.2 index c1e221f..27750d4 100644 --- a/doc/man/nvme_vs.2 +++ b/doc/man/nvme_vs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_vs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_vs" "August 2024" "API Manual" LINUX .SH NAME enum nvme_vs \- This field indicates the version .SH SYNOPSIS diff --git a/doc/man/nvme_write.2 b/doc/man/nvme_write.2 index 00f727d..f730556 100644 --- a/doc/man/nvme_write.2 +++ b/doc/man/nvme_write.2 @@ -1,4 +1,4 @@ -.TH "nvme_write" 9 "nvme_write" "May 2024" "libnvme API manual" LINUX +.TH "nvme_write" 9 "nvme_write" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_write \- Submit an nvme user write command .SH SYNOPSIS diff --git a/doc/man/nvme_write_uncorrectable.2 b/doc/man/nvme_write_uncorrectable.2 index 0ea67a1..30f9bb3 100644 --- a/doc/man/nvme_write_uncorrectable.2 +++ b/doc/man/nvme_write_uncorrectable.2 @@ -1,4 +1,4 @@ -.TH "nvme_write_uncorrectable" 9 "nvme_write_uncorrectable" "May 2024" "libnvme API manual" LINUX +.TH "nvme_write_uncorrectable" 9 "nvme_write_uncorrectable" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_write_uncorrectable \- Submit an nvme write uncorrectable command .SH SYNOPSIS diff --git a/doc/man/nvme_write_zeros.2 b/doc/man/nvme_write_zeros.2 index bb07e54..a9a5388 100644 --- a/doc/man/nvme_write_zeros.2 +++ b/doc/man/nvme_write_zeros.2 @@ -1,4 +1,4 @@ -.TH "nvme_write_zeros" 9 "nvme_write_zeros" "May 2024" "libnvme API manual" LINUX +.TH "nvme_write_zeros" 9 "nvme_write_zeros" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_write_zeros \- Submit an nvme write zeroes command .SH SYNOPSIS diff --git a/doc/man/nvme_zns_append.2 b/doc/man/nvme_zns_append.2 index 16032de..132ed5a 100644 --- a/doc/man/nvme_zns_append.2 +++ b/doc/man/nvme_zns_append.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_append" 9 "nvme_zns_append" "May 2024" "libnvme API manual" LINUX +.TH "nvme_zns_append" 9 "nvme_zns_append" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_append \- Append data to a zone .SH SYNOPSIS diff --git a/doc/man/nvme_zns_changed_zone_log.2 b/doc/man/nvme_zns_changed_zone_log.2 index 0f92e84..f817b11 100644 --- a/doc/man/nvme_zns_changed_zone_log.2 +++ b/doc/man/nvme_zns_changed_zone_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zns_changed_zone_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_changed_zone_log" "August 2024" "API Manual" LINUX .SH NAME struct nvme_zns_changed_zone_log \- ZNS Changed Zone List log .SH SYNOPSIS diff --git a/doc/man/nvme_zns_desc.2 b/doc/man/nvme_zns_desc.2 index 16c1422..f77441b 100644 --- a/doc/man/nvme_zns_desc.2 +++ b/doc/man/nvme_zns_desc.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zns_desc" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_desc" "August 2024" "API Manual" LINUX .SH NAME struct nvme_zns_desc \- Zone Descriptor Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_zns_id_ctrl.2 b/doc/man/nvme_zns_id_ctrl.2 index 0972b25..f1ff4d5 100644 --- a/doc/man/nvme_zns_id_ctrl.2 +++ b/doc/man/nvme_zns_id_ctrl.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zns_id_ctrl" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_id_ctrl" "August 2024" "API Manual" LINUX .SH NAME struct nvme_zns_id_ctrl \- I/O Command Set Specific Identify Controller Data Structure for the Zoned Namespace Command Set .SH SYNOPSIS diff --git a/doc/man/nvme_zns_id_ns.2 b/doc/man/nvme_zns_id_ns.2 index 123e22b..57eaa5d 100644 --- a/doc/man/nvme_zns_id_ns.2 +++ b/doc/man/nvme_zns_id_ns.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zns_id_ns" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_id_ns" "August 2024" "API Manual" LINUX .SH NAME struct nvme_zns_id_ns \- Zoned Namespace Command Set Specific Identify Namespace Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_zns_identify_ctrl.2 b/doc/man/nvme_zns_identify_ctrl.2 index 393fb10..b3ae323 100644 --- a/doc/man/nvme_zns_identify_ctrl.2 +++ b/doc/man/nvme_zns_identify_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_identify_ctrl" 9 "nvme_zns_identify_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvme_zns_identify_ctrl" 9 "nvme_zns_identify_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_identify_ctrl \- ZNS identify controller data .SH SYNOPSIS diff --git a/doc/man/nvme_zns_identify_ns.2 b/doc/man/nvme_zns_identify_ns.2 index efc0018..366f676 100644 --- a/doc/man/nvme_zns_identify_ns.2 +++ b/doc/man/nvme_zns_identify_ns.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_identify_ns" 9 "nvme_zns_identify_ns" "May 2024" "libnvme API manual" LINUX +.TH "nvme_zns_identify_ns" 9 "nvme_zns_identify_ns" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_identify_ns \- ZNS identify namespace data .SH SYNOPSIS diff --git a/doc/man/nvme_zns_lbafe.2 b/doc/man/nvme_zns_lbafe.2 index 5a6ad65..84c9001 100644 --- a/doc/man/nvme_zns_lbafe.2 +++ b/doc/man/nvme_zns_lbafe.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zns_lbafe" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zns_lbafe" "August 2024" "API Manual" LINUX .SH NAME struct nvme_zns_lbafe \- LBA Format Extension Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_zns_mgmt_recv.2 b/doc/man/nvme_zns_mgmt_recv.2 index 425bc48..d851205 100644 --- a/doc/man/nvme_zns_mgmt_recv.2 +++ b/doc/man/nvme_zns_mgmt_recv.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_mgmt_recv" 9 "nvme_zns_mgmt_recv" "May 2024" "libnvme API manual" LINUX +.TH "nvme_zns_mgmt_recv" 9 "nvme_zns_mgmt_recv" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_mgmt_recv \- ZNS management receive command .SH SYNOPSIS diff --git a/doc/man/nvme_zns_mgmt_send.2 b/doc/man/nvme_zns_mgmt_send.2 index 4aa8c15..8742bc7 100644 --- a/doc/man/nvme_zns_mgmt_send.2 +++ b/doc/man/nvme_zns_mgmt_send.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_mgmt_send" 9 "nvme_zns_mgmt_send" "May 2024" "libnvme API manual" LINUX +.TH "nvme_zns_mgmt_send" 9 "nvme_zns_mgmt_send" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_mgmt_send \- ZNS management send command .SH SYNOPSIS diff --git a/doc/man/nvme_zns_recv_action.2 b/doc/man/nvme_zns_recv_action.2 index fad5733..fb257ea 100644 --- a/doc/man/nvme_zns_recv_action.2 +++ b/doc/man/nvme_zns_recv_action.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_recv_action" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_recv_action" "August 2024" "API Manual" LINUX .SH NAME enum nvme_zns_recv_action \- Zone Management Receive - Zone Receive Action Specific Features .SH SYNOPSIS diff --git a/doc/man/nvme_zns_report_options.2 b/doc/man/nvme_zns_report_options.2 index 38bf3a8..24beddd 100644 --- a/doc/man/nvme_zns_report_options.2 +++ b/doc/man/nvme_zns_report_options.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_report_options" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_report_options" "August 2024" "API Manual" LINUX .SH NAME enum nvme_zns_report_options \- Zone Management Receive - Zone Receive Action Specific Field .SH SYNOPSIS diff --git a/doc/man/nvme_zns_report_zones.2 b/doc/man/nvme_zns_report_zones.2 index eeb8327..ee07927 100644 --- a/doc/man/nvme_zns_report_zones.2 +++ b/doc/man/nvme_zns_report_zones.2 @@ -1,4 +1,4 @@ -.TH "nvme_zns_report_zones" 9 "nvme_zns_report_zones" "May 2024" "libnvme API manual" LINUX +.TH "nvme_zns_report_zones" 9 "nvme_zns_report_zones" "August 2024" "libnvme API manual" LINUX .SH NAME nvme_zns_report_zones \- Return the list of zones .SH SYNOPSIS diff --git a/doc/man/nvme_zns_send_action.2 b/doc/man/nvme_zns_send_action.2 index 82ef76b..f1fb0d4 100644 --- a/doc/man/nvme_zns_send_action.2 +++ b/doc/man/nvme_zns_send_action.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_send_action" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_send_action" "August 2024" "API Manual" LINUX .SH NAME enum nvme_zns_send_action \- Zone Management Send - Zone Send Action .SH SYNOPSIS diff --git a/doc/man/nvme_zns_za.2 b/doc/man/nvme_zns_za.2 index 7e58140..cdb1d54 100644 --- a/doc/man/nvme_zns_za.2 +++ b/doc/man/nvme_zns_za.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_za" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_za" "August 2024" "API Manual" LINUX .SH NAME enum nvme_zns_za \- Zone Descriptor Data Structure .SH SYNOPSIS diff --git a/doc/man/nvme_zns_zs.2 b/doc/man/nvme_zns_zs.2 index 94dfb20..bab82c3 100644 --- a/doc/man/nvme_zns_zs.2 +++ b/doc/man/nvme_zns_zs.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_zs" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_zs" "August 2024" "API Manual" LINUX .SH NAME enum nvme_zns_zs \- Zone Descriptor Data Structure - Zone State .SH SYNOPSIS diff --git a/doc/man/nvme_zns_zt.2 b/doc/man/nvme_zns_zt.2 index 42e9025..bd85832 100644 --- a/doc/man/nvme_zns_zt.2 +++ b/doc/man/nvme_zns_zt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvme_zns_zt" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvme_zns_zt" "August 2024" "API Manual" LINUX .SH NAME enum nvme_zns_zt \- Zone Descriptor Data Structure - Zone Type .SH SYNOPSIS diff --git a/doc/man/nvme_zone_report.2 b/doc/man/nvme_zone_report.2 index e6398af..166763a 100644 --- a/doc/man/nvme_zone_report.2 +++ b/doc/man/nvme_zone_report.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvme_zone_report" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvme_zone_report" "August 2024" "API Manual" LINUX .SH NAME struct nvme_zone_report \- Report Zones Data Structure .SH SYNOPSIS diff --git a/doc/man/nvmf_add_ctrl.2 b/doc/man/nvmf_add_ctrl.2 index 5178605..dff98ce 100644 --- a/doc/man/nvmf_add_ctrl.2 +++ b/doc/man/nvmf_add_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvmf_add_ctrl" 9 "nvmf_add_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_add_ctrl" 9 "nvmf_add_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_add_ctrl \- Connect a controller and update topology .SH SYNOPSIS diff --git a/doc/man/nvmf_addr_family.2 b/doc/man/nvmf_addr_family.2 index 2f92f49..461aca8 100644 --- a/doc/man/nvmf_addr_family.2 +++ b/doc/man/nvmf_addr_family.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_addr_family" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_addr_family" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_addr_family \- Address Family codes for Discovery Log Page entry ADRFAM field .SH SYNOPSIS diff --git a/doc/man/nvmf_adrfam_str.2 b/doc/man/nvmf_adrfam_str.2 index b051ecf..c0b00d9 100644 --- a/doc/man/nvmf_adrfam_str.2 +++ b/doc/man/nvmf_adrfam_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_adrfam_str" 9 "nvmf_adrfam_str" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_adrfam_str" 9 "nvmf_adrfam_str" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_adrfam_str \- Decode ADRFAM field .SH SYNOPSIS diff --git a/doc/man/nvmf_cms_str.2 b/doc/man/nvmf_cms_str.2 index 31f5410..905be1e 100644 --- a/doc/man/nvmf_cms_str.2 +++ b/doc/man/nvmf_cms_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_cms_str" 9 "nvmf_cms_str" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_cms_str" 9 "nvmf_cms_str" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_cms_str \- Decode RDMA connection management service field .SH SYNOPSIS diff --git a/doc/man/nvmf_connect_data.2 b/doc/man/nvmf_connect_data.2 index 7dead3b..bf53acd 100644 --- a/doc/man/nvmf_connect_data.2 +++ b/doc/man/nvmf_connect_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_connect_data" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_connect_data" "August 2024" "API Manual" LINUX .SH NAME struct nvmf_connect_data \- Data payload for the 'connect' command .SH SYNOPSIS diff --git a/doc/man/nvmf_connect_disc_entry.2 b/doc/man/nvmf_connect_disc_entry.2 index 917c3d8..8a46178 100644 --- a/doc/man/nvmf_connect_disc_entry.2 +++ b/doc/man/nvmf_connect_disc_entry.2 @@ -1,4 +1,4 @@ -.TH "nvmf_connect_disc_entry" 9 "nvmf_connect_disc_entry" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_connect_disc_entry" 9 "nvmf_connect_disc_entry" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_connect_disc_entry \- Connect controller based on the discovery log page entry .SH SYNOPSIS diff --git a/doc/man/nvmf_default_config.2 b/doc/man/nvmf_default_config.2 index bcbfd1f..861b713 100644 --- a/doc/man/nvmf_default_config.2 +++ b/doc/man/nvmf_default_config.2 @@ -1,4 +1,4 @@ -.TH "nvmf_default_config" 9 "nvmf_default_config" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_default_config" 9 "nvmf_default_config" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_default_config \- Default values for fabrics configuration .SH SYNOPSIS diff --git a/doc/man/nvmf_dim_data.2 b/doc/man/nvmf_dim_data.2 index 8537794..8274610 100644 --- a/doc/man/nvmf_dim_data.2 +++ b/doc/man/nvmf_dim_data.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_dim_data" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_dim_data" "August 2024" "API Manual" LINUX .SH NAME struct nvmf_dim_data \- Discovery Information Management (DIM) - Data .SH SYNOPSIS diff --git a/doc/man/nvmf_dim_entfmt.2 b/doc/man/nvmf_dim_entfmt.2 index d5a6ed8..f775bf8 100644 --- a/doc/man/nvmf_dim_entfmt.2 +++ b/doc/man/nvmf_dim_entfmt.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_dim_entfmt" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_entfmt" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_dim_entfmt \- Discovery Information Management Entry Format .SH SYNOPSIS diff --git a/doc/man/nvmf_dim_etype.2 b/doc/man/nvmf_dim_etype.2 index f26a4ee..f942bb7 100644 --- a/doc/man/nvmf_dim_etype.2 +++ b/doc/man/nvmf_dim_etype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_dim_etype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_etype" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_dim_etype \- Discovery Information Management Entity Type .SH SYNOPSIS diff --git a/doc/man/nvmf_dim_tas.2 b/doc/man/nvmf_dim_tas.2 index b955da7..fea1e11 100644 --- a/doc/man/nvmf_dim_tas.2 +++ b/doc/man/nvmf_dim_tas.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_dim_tas" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_dim_tas" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_dim_tas \- Discovery Information Management Task .SH SYNOPSIS diff --git a/doc/man/nvmf_disc_eflags.2 b/doc/man/nvmf_disc_eflags.2 index de22768..1b6f5fc 100644 --- a/doc/man/nvmf_disc_eflags.2 +++ b/doc/man/nvmf_disc_eflags.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_disc_eflags" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_disc_eflags" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_disc_eflags \- Discovery Log Page entry flags. .SH SYNOPSIS diff --git a/doc/man/nvmf_disc_log_entry.2 b/doc/man/nvmf_disc_log_entry.2 index 14d1b0d..de3d938 100644 --- a/doc/man/nvmf_disc_log_entry.2 +++ b/doc/man/nvmf_disc_log_entry.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_disc_log_entry" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_disc_log_entry" "August 2024" "API Manual" LINUX .SH NAME struct nvmf_disc_log_entry \- Discovery Log Page entry .SH SYNOPSIS diff --git a/doc/man/nvmf_discovery_log.2 b/doc/man/nvmf_discovery_log.2 index e333dc7..9307bcb 100644 --- a/doc/man/nvmf_discovery_log.2 +++ b/doc/man/nvmf_discovery_log.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_discovery_log" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_discovery_log" "August 2024" "API Manual" LINUX .SH NAME struct nvmf_discovery_log \- Discovery Log Page (Log Identifier 70h) .SH SYNOPSIS diff --git a/doc/man/nvmf_eflags_str.2 b/doc/man/nvmf_eflags_str.2 index 70848cc..b2ce601 100644 --- a/doc/man/nvmf_eflags_str.2 +++ b/doc/man/nvmf_eflags_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_eflags_str" 9 "nvmf_eflags_str" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_eflags_str" 9 "nvmf_eflags_str" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_eflags_str \- Decode EFLAGS field .SH SYNOPSIS diff --git a/doc/man/nvmf_exat_len.2 b/doc/man/nvmf_exat_len.2 index 4902a9e..d2aa3ea 100644 --- a/doc/man/nvmf_exat_len.2 +++ b/doc/man/nvmf_exat_len.2 @@ -1,4 +1,4 @@ -.TH "nvmf_exat_len" 9 "nvmf_exat_len" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_exat_len" 9 "nvmf_exat_len" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_exat_len \- Return length rounded up by 4 .SH SYNOPSIS diff --git a/doc/man/nvmf_exattype.2 b/doc/man/nvmf_exattype.2 index fd44507..a0bcfbf 100644 --- a/doc/man/nvmf_exattype.2 +++ b/doc/man/nvmf_exattype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_exattype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_exattype" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_exattype \- Extended Attribute Type .SH SYNOPSIS diff --git a/doc/man/nvmf_ext_attr.2 b/doc/man/nvmf_ext_attr.2 index a6a6d54..4689e94 100644 --- a/doc/man/nvmf_ext_attr.2 +++ b/doc/man/nvmf_ext_attr.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_ext_attr" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_ext_attr" "August 2024" "API Manual" LINUX .SH NAME struct nvmf_ext_attr \- Extended Attribute (EXAT) .SH SYNOPSIS diff --git a/doc/man/nvmf_ext_die.2 b/doc/man/nvmf_ext_die.2 index 488b08f..ea3d9d8 100644 --- a/doc/man/nvmf_ext_die.2 +++ b/doc/man/nvmf_ext_die.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "struct nvmf_ext_die" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "struct nvmf_ext_die" "August 2024" "API Manual" LINUX .SH NAME struct nvmf_ext_die \- Extended Discovery Information Entry (DIE) .SH SYNOPSIS diff --git a/doc/man/nvmf_get_discovery_log.2 b/doc/man/nvmf_get_discovery_log.2 index 7463834..320cc61 100644 --- a/doc/man/nvmf_get_discovery_log.2 +++ b/doc/man/nvmf_get_discovery_log.2 @@ -1,4 +1,4 @@ -.TH "nvmf_get_discovery_log" 9 "nvmf_get_discovery_log" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_get_discovery_log" 9 "nvmf_get_discovery_log" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_get_discovery_log \- Return the discovery log page .SH SYNOPSIS diff --git a/doc/man/nvmf_get_discovery_wargs.2 b/doc/man/nvmf_get_discovery_wargs.2 index 960ba2b..818e162 100644 --- a/doc/man/nvmf_get_discovery_wargs.2 +++ b/doc/man/nvmf_get_discovery_wargs.2 @@ -1,4 +1,4 @@ -.TH "nvmf_get_discovery_wargs" 9 "nvmf_get_discovery_wargs" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_get_discovery_wargs" 9 "nvmf_get_discovery_wargs" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_get_discovery_wargs \- Get the discovery log page with args .SH SYNOPSIS diff --git a/doc/man/nvmf_hostid_from_file.2 b/doc/man/nvmf_hostid_from_file.2 index fa0d20e..415f727 100644 --- a/doc/man/nvmf_hostid_from_file.2 +++ b/doc/man/nvmf_hostid_from_file.2 @@ -1,4 +1,4 @@ -.TH "nvmf_hostid_from_file" 9 "nvmf_hostid_from_file" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_hostid_from_file" 9 "nvmf_hostid_from_file" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_hostid_from_file \- Reads the host identifier from the config default location .SH SYNOPSIS diff --git a/doc/man/nvmf_hostid_generate.2 b/doc/man/nvmf_hostid_generate.2 new file mode 100644 index 0000000..39ddba1 --- /dev/null +++ b/doc/man/nvmf_hostid_generate.2 @@ -0,0 +1,9 @@ +.TH "nvmf_hostid_generate" 9 "nvmf_hostid_generate" "August 2024" "libnvme API manual" LINUX +.SH NAME +nvmf_hostid_generate \- Generate a machine specific host identifier +.SH SYNOPSIS +.B "char *" nvmf_hostid_generate +.SH ARGUMENTS +.SH "RETURN" +On success, an identifier string based on the machine identifier to +be used as NVMe Host Identifier, or NULL on failure. diff --git a/doc/man/nvmf_hostnqn_from_file.2 b/doc/man/nvmf_hostnqn_from_file.2 index a0e76d6..a9226ca 100644 --- a/doc/man/nvmf_hostnqn_from_file.2 +++ b/doc/man/nvmf_hostnqn_from_file.2 @@ -1,4 +1,4 @@ -.TH "nvmf_hostnqn_from_file" 9 "nvmf_hostnqn_from_file" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_hostnqn_from_file" 9 "nvmf_hostnqn_from_file" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_hostnqn_from_file \- Reads the host nvm qualified name from the config default location .SH SYNOPSIS diff --git a/doc/man/nvmf_hostnqn_generate.2 b/doc/man/nvmf_hostnqn_generate.2 index 868fc97..04d9ba9 100644 --- a/doc/man/nvmf_hostnqn_generate.2 +++ b/doc/man/nvmf_hostnqn_generate.2 @@ -1,4 +1,4 @@ -.TH "nvmf_hostnqn_generate" 9 "nvmf_hostnqn_generate" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_hostnqn_generate" 9 "nvmf_hostnqn_generate" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_hostnqn_generate \- Generate a machine specific host nqn .SH SYNOPSIS diff --git a/doc/man/nvmf_hostnqn_generate_from_hostid.2 b/doc/man/nvmf_hostnqn_generate_from_hostid.2 new file mode 100644 index 0000000..54e9bf2 --- /dev/null +++ b/doc/man/nvmf_hostnqn_generate_from_hostid.2 @@ -0,0 +1,15 @@ +.TH "nvmf_hostnqn_generate_from_hostid" 9 "nvmf_hostnqn_generate_from_hostid" "August 2024" "libnvme API manual" LINUX +.SH NAME +nvmf_hostnqn_generate_from_hostid \- Generate a host nqn from host identifier +.SH SYNOPSIS +.B "char *" nvmf_hostnqn_generate_from_hostid +.BI "(char *hostid " ");" +.SH ARGUMENTS +.IP "hostid" 12 +Host identifier +.SH "DESCRIPTION" +If \fIhostid\fP is NULL, the function generates it based on the machine +identifier. +.SH "RETURN" +On success, an NVMe Qualified Name for host identification. This +name is based on the given host identifier. On failure, NULL. diff --git a/doc/man/nvmf_log_discovery_lid_support.2 b/doc/man/nvmf_log_discovery_lid_support.2 index 4ff541d..88b28d5 100644 --- a/doc/man/nvmf_log_discovery_lid_support.2 +++ b/doc/man/nvmf_log_discovery_lid_support.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_log_discovery_lid_support" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_log_discovery_lid_support" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_log_discovery_lid_support \- Discovery log specific support .SH SYNOPSIS diff --git a/doc/man/nvmf_log_discovery_lsp.2 b/doc/man/nvmf_log_discovery_lsp.2 index 3313ad4..12a490a 100644 --- a/doc/man/nvmf_log_discovery_lsp.2 +++ b/doc/man/nvmf_log_discovery_lsp.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_log_discovery_lsp" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_log_discovery_lsp" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_log_discovery_lsp \- Discovery log specific field .SH SYNOPSIS diff --git a/doc/man/nvmf_prtype_str.2 b/doc/man/nvmf_prtype_str.2 index f7f6475..7b42ed3 100644 --- a/doc/man/nvmf_prtype_str.2 +++ b/doc/man/nvmf_prtype_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_prtype_str" 9 "nvmf_prtype_str" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_prtype_str" 9 "nvmf_prtype_str" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_prtype_str \- Decode RDMA Provider type field .SH SYNOPSIS diff --git a/doc/man/nvmf_qptype_str.2 b/doc/man/nvmf_qptype_str.2 index 8440f6d..37305b0 100644 --- a/doc/man/nvmf_qptype_str.2 +++ b/doc/man/nvmf_qptype_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_qptype_str" 9 "nvmf_qptype_str" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_qptype_str" 9 "nvmf_qptype_str" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_qptype_str \- Decode RDMA QP Service type field .SH SYNOPSIS diff --git a/doc/man/nvmf_rdma_cms.2 b/doc/man/nvmf_rdma_cms.2 index 501d1d9..a47fc47 100644 --- a/doc/man/nvmf_rdma_cms.2 +++ b/doc/man/nvmf_rdma_cms.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_rdma_cms" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_cms" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_rdma_cms \- RDMA Connection Management Service Type codes for Discovery Log Page entry TSAS RDMA_CMS field .SH SYNOPSIS diff --git a/doc/man/nvmf_rdma_prtype.2 b/doc/man/nvmf_rdma_prtype.2 index c7b0207..11b2b61 100644 --- a/doc/man/nvmf_rdma_prtype.2 +++ b/doc/man/nvmf_rdma_prtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_rdma_prtype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_prtype" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_rdma_prtype \- RDMA Provider Type codes for Discovery Log Page entry TSAS RDMA_PRTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_rdma_qptype.2 b/doc/man/nvmf_rdma_qptype.2 index 20af094..a5b7682 100644 --- a/doc/man/nvmf_rdma_qptype.2 +++ b/doc/man/nvmf_rdma_qptype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_rdma_qptype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_rdma_qptype" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_rdma_qptype \- RDMA QP Service Type codes for Discovery Log Page entry TSAS RDMA_QPTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_register_ctrl.2 b/doc/man/nvmf_register_ctrl.2 index 3adbf57..3f67214 100644 --- a/doc/man/nvmf_register_ctrl.2 +++ b/doc/man/nvmf_register_ctrl.2 @@ -1,4 +1,4 @@ -.TH "nvmf_register_ctrl" 9 "nvmf_register_ctrl" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_register_ctrl" 9 "nvmf_register_ctrl" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_register_ctrl \- Perform registration task with a DC .SH SYNOPSIS diff --git a/doc/man/nvmf_sectype_str.2 b/doc/man/nvmf_sectype_str.2 index 498ce42..1a61d3f 100644 --- a/doc/man/nvmf_sectype_str.2 +++ b/doc/man/nvmf_sectype_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_sectype_str" 9 "nvmf_sectype_str" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_sectype_str" 9 "nvmf_sectype_str" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_sectype_str \- Decode SECTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_subtype_str.2 b/doc/man/nvmf_subtype_str.2 index f0ef62a..58d7641 100644 --- a/doc/man/nvmf_subtype_str.2 +++ b/doc/man/nvmf_subtype_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_subtype_str" 9 "nvmf_subtype_str" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_subtype_str" 9 "nvmf_subtype_str" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_subtype_str \- Decode SUBTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_tcp_sectype.2 b/doc/man/nvmf_tcp_sectype.2 index bcd3c6b..0b5d994 100644 --- a/doc/man/nvmf_tcp_sectype.2 +++ b/doc/man/nvmf_tcp_sectype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_tcp_sectype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_tcp_sectype" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_tcp_sectype \- Transport Specific Address Subtype Definition for NVMe/TCP Transport .SH SYNOPSIS diff --git a/doc/man/nvmf_treq.2 b/doc/man/nvmf_treq.2 index 2930542..820cbce 100644 --- a/doc/man/nvmf_treq.2 +++ b/doc/man/nvmf_treq.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_treq" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_treq" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_treq \- Transport Requirements codes for Discovery Log Page entry TREQ field .SH SYNOPSIS diff --git a/doc/man/nvmf_treq_str.2 b/doc/man/nvmf_treq_str.2 index e0a376d..4a4a59b 100644 --- a/doc/man/nvmf_treq_str.2 +++ b/doc/man/nvmf_treq_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_treq_str" 9 "nvmf_treq_str" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_treq_str" 9 "nvmf_treq_str" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_treq_str \- Decode TREQ field .SH SYNOPSIS diff --git a/doc/man/nvmf_trtype.2 b/doc/man/nvmf_trtype.2 index ea07c3c..de7667a 100644 --- a/doc/man/nvmf_trtype.2 +++ b/doc/man/nvmf_trtype.2 @@ -1,4 +1,4 @@ -.TH "libnvme" 9 "enum nvmf_trtype" "May 2024" "API Manual" LINUX +.TH "libnvme" 9 "enum nvmf_trtype" "August 2024" "API Manual" LINUX .SH NAME enum nvmf_trtype \- Transport Type codes for Discovery Log Page entry TRTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_trtype_str.2 b/doc/man/nvmf_trtype_str.2 index 2c5aa6d..612084d 100644 --- a/doc/man/nvmf_trtype_str.2 +++ b/doc/man/nvmf_trtype_str.2 @@ -1,4 +1,4 @@ -.TH "nvmf_trtype_str" 9 "nvmf_trtype_str" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_trtype_str" 9 "nvmf_trtype_str" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_trtype_str \- Decode TRTYPE field .SH SYNOPSIS diff --git a/doc/man/nvmf_update_config.2 b/doc/man/nvmf_update_config.2 index dc3399f..7bb78d7 100644 --- a/doc/man/nvmf_update_config.2 +++ b/doc/man/nvmf_update_config.2 @@ -1,4 +1,4 @@ -.TH "nvmf_update_config" 9 "nvmf_update_config" "May 2024" "libnvme API manual" LINUX +.TH "nvmf_update_config" 9 "nvmf_update_config" "August 2024" "libnvme API manual" LINUX .SH NAME nvmf_update_config \- Update fabrics configuration values .SH SYNOPSIS diff --git a/doc/rst/fabrics.rst b/doc/rst/fabrics.rst index 141c486..218084c 100644 --- a/doc/rst/fabrics.rst +++ b/doc/rst/fabrics.rst @@ -98,6 +98,55 @@ Fabrics-specific definitions. + + +.. c:struct:: nvme_fabrics_uri + + Parsed URI structure + +**Definition** + +:: + + struct nvme_fabrics_uri { + char *scheme; + char *protocol; + char *userinfo; + char *host; + int port; + char **path_segments; + char *query; + char *fragment; + }; + +**Members** + +``scheme`` + Scheme name (typically 'nvme') + +``protocol`` + Optional protocol/transport (e.g. 'tcp') + +``userinfo`` + Optional user information component of the URI authority + +``host`` + Host transport address + +``port`` + The port subcomponent or 0 if not specified + +``path_segments`` + NULL-terminated array of path segments + +``query`` + Optional query string component (separated by '?') + +``fragment`` + Optional fragment identifier component (separated by '#') + + + .. c:function:: const char * nvmf_trtype_str (__u8 trtype) Decode TRTYPE field @@ -434,6 +483,38 @@ An nvm namespace qualified name string based on the machine identifier, or NULL if not successful. +.. c:function:: char * nvmf_hostnqn_generate_from_hostid (char *hostid) + + Generate a host nqn from host identifier + +**Parameters** + +``char *hostid`` + Host identifier + +**Description** + +If **hostid** is NULL, the function generates it based on the machine +identifier. + +**Return** + +On success, an NVMe Qualified Name for host identification. This +name is based on the given host identifier. On failure, NULL. + + +.. c:function:: char * nvmf_hostid_generate () + + Generate a machine specific host identifier + +**Parameters** + +**Return** + +On success, an identifier string based on the machine identifier to +be used as NVMe Host Identifier, or NULL on failure. + + .. c:function:: char * nvmf_hostnqn_from_file () Reads the host nvm qualified name from the config default location @@ -543,3 +624,39 @@ tasks are supported: register, deregister, and registration update. 0 on success; on failure -1 is returned and errno is set +.. c:function:: struct nvme_fabrics_uri * nvme_parse_uri (const char *str) + + Parse the URI string + +**Parameters** + +``const char *str`` + URI string + +**Description** + +Parse the URI string as defined in the NVM Express Boot Specification. +Supported URI elements looks as follows: + + nvme+tcp://user**host**:port/subsys_nqn/nid?query=val#fragment + +**Return** + +:c:type:`nvme_fabrics_uri` structure on success; NULL on failure with errno +set. + + +.. c:function:: void nvme_free_uri (struct nvme_fabrics_uri *uri) + + Free the URI structure + +**Parameters** + +``struct nvme_fabrics_uri *uri`` + :c:type:`nvme_fabrics_uri` structure + +**Description** + +Free an :c:type:`nvme_fabrics_uri` structure. + + diff --git a/doc/rst/ioctl.rst b/doc/rst/ioctl.rst index 7b2003d..050bf99 100644 --- a/doc/rst/ioctl.rst +++ b/doc/rst/ioctl.rst @@ -2022,7 +2022,7 @@ This log consists of a header describing the log and descriptors containing the asymmetric namespace access information for ANA Groups that contain namespaces that are attached to the controller processing the command. -See :c:type:`struct nvme_ana_rsp_hdr <nvme_ana_rsp_hdr>` for the definition of the returned structure. +See :c:type:`struct nvme_ana_log <nvme_ana_log>` for the definition of the returned structure. **Return** @@ -2030,7 +2030,7 @@ 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_ana_groups (int fd, bool rae, __u32 len, struct nvme_ana_group_desc *log) +.. c:function:: int nvme_get_log_ana_groups (int fd, bool rae, __u32 len, struct nvme_ana_log *log) Retrieve Asymmetric Namespace Access groups only log page @@ -2045,12 +2045,12 @@ The nvme command status if a response was received (see ``__u32 len`` The allocated length of the log page -``struct nvme_ana_group_desc *log`` +``struct nvme_ana_log *log`` User address to store the ana group log **Description** -See :c:type:`struct nvme_ana_group_desc <nvme_ana_group_desc>` for the definition of the returned structure. +See :c:type:`struct nvme_ana_log <nvme_ana_log>` for the definition of the returned structure. **Return** @@ -2058,6 +2058,46 @@ 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_atomic (int fd, bool rgo, bool rae, unsigned int retries, struct nvme_ana_log *log, __u32 *len) + + Retrieve Asymmetric Namespace Access log page atomically + +**Parameters** + +``int fd`` + File descriptor of nvme device + +``bool rgo`` + Whether to retrieve ANA groups only (no NSIDs) + +``bool rae`` + Whether to retain asynchronous events + +``unsigned int retries`` + The maximum number of times to retry on log page changes + +``struct nvme_ana_log *log`` + Pointer to a buffer to receive the ANA log page + +``__u32 *len`` + Input: the length of the log page buffer. + Output: the actual length of the ANA log page. + +**Description** + +See :c:type:`struct nvme_ana_log <nvme_ana_log>` for the definition of the returned structure. + +**Return** + +If successful, returns 0 and sets *len to the actual log page length. +If unsuccessful, returns 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. +Sets errno = EINVAL if retries == 0. +Sets errno = EAGAIN if unable to read the log page atomically +because chgcnt changed during each of the retries attempts. +Sets errno = ENOSPC if the full log page does not fit in the provided buffer. + + .. c:function:: int nvme_get_log_lba_status (int fd, bool rae, __u64 offset, __u32 len, void *log) Retrieve LBA Status diff --git a/doc/rst/linux.rst b/doc/rst/linux.rst index cf49851..05d1418 100644 --- a/doc/rst/linux.rst +++ b/doc/rst/linux.rst @@ -205,6 +205,23 @@ 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:: size_t nvme_get_ana_log_len_from_id_ctrl (const struct nvme_id_ctrl *id_ctrl, bool rgo) + + Retrieve maximum possible ANA log size + +**Parameters** + +``const struct nvme_id_ctrl *id_ctrl`` + Controller identify data + +``bool rgo`` + If true, return maximum log page size without NSIDs + +**Return** + +A byte limit on the size of the controller's ANA log page + + .. c:function:: int nvme_get_ana_log_len (int fd, size_t *analen) Retrieve size of the current ANA log @@ -699,6 +716,26 @@ The string containing the TLS identity. It is the responsibility of the caller to free the returned string. +.. c:function:: long nvme_revoke_tls_key (const char *keyring, const char *key_type, const char *identity) + + Revoke TLS key from keyring + +**Parameters** + +``const char *keyring`` + Keyring to use + +``const char *key_type`` + Type of the key to revoke + +``const char *identity`` + Key identity string + +**Return** + +0 on success or on failure -1 with errno set. + + .. c:function:: char * nvme_export_tls_key (const unsigned char *key_data, int key_len) Export a TLS key diff --git a/doc/rst/log.rst b/doc/rst/log.rst index edbb330..76e616f 100644 --- a/doc/rst/log.rst +++ b/doc/rst/log.rst @@ -28,6 +28,30 @@ logging functions Sets the default logging variables for the library. +.. c:function:: void nvme_init_default_logging (FILE *fp, int lvl, bool log_pid, bool log_tstamp) + + Initialize default (fallback) logging + +**Parameters** + +``FILE *fp`` + File descriptor for logging messages + +``int lvl`` + Logging level to set + +``bool log_pid`` + Boolean to enable logging of the PID + +``bool log_tstamp`` + Boolean to enable logging of the timestamp + +**Description** + +Sets the default logging settings for the library in case the root object +is absent. + + .. c:function:: int nvme_get_logging_level (nvme_root_t r, bool *log_pid, bool *log_tstamp) Get current logging level @@ -72,6 +96,9 @@ will be set as well. This means the global root object is always pointing to the latest created root object. Note the first **nvme_free_tree** call will reset the global root object. +This function is deprecated. Use nvme_init_default_logging or/and +nvme_init_logging instead. + .. c:function:: void nvme_set_debug (bool debug) @@ -84,7 +111,7 @@ the global root object. **Description** -Don't use it, it's debricated. +This function is deprecated. Use nvme_init_default_logging instead. .. c:function:: bool nvme_get_debug (void) @@ -99,7 +126,7 @@ Don't use it, it's debricated. **Description** -Don't use it, it's debricated. +This function is deprecated. Use nvme_get_logging_level instead. **Return** diff --git a/doc/rst/meson.build b/doc/rst/meson.build index e54c381..25d68ca 100644 --- a/doc/rst/meson.build +++ b/doc/rst/meson.build @@ -8,8 +8,8 @@ if want_docs != 'false' if want_docs_build kernel_doc = find_program(top_source_dir + 'scripts/kernel-doc') - conf = configuration_data() - conf.set('SYSCONFDIR', sysconfdir) + rst_conf = configuration_data() + rst_conf.set('SYSCONFDIR', sysconfdir) if want_docs == 'all' or want_docs == 'rst' or want_docs == 'html' foreach apif : api_files @@ -17,7 +17,7 @@ if want_docs != 'false' subst = configure_file( input: afile, output: '@BASENAME@.subst', - configuration: conf) + configuration: rst_conf) rst = custom_target( apif.underscorify() + '_rst', input: subst, diff --git a/doc/rst/mi.rst b/doc/rst/mi.rst index 2aa7438..e5c2bd1 100644 --- a/doc/rst/mi.rst +++ b/doc/rst/mi.rst @@ -2459,7 +2459,7 @@ This log consists of a header describing the log and descriptors containing the asymmetric namespace access information for ANA Groups that contain namespaces that are attached to the controller processing the command. -See :c:type:`struct nvme_ana_rsp_hdr <nvme_ana_rsp_hdr>` for the definition of the returned structure. +See :c:type:`struct nvme_ana_log <nvme_ana_log>` for the definition of the returned structure. **Return** @@ -2495,6 +2495,46 @@ 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_ana_log_atomic (nvme_mi_ctrl_t ctrl, bool rgo, bool rae, unsigned int retries, struct nvme_ana_log *log, __u32 *len) + + Retrieve Asymmetric Namespace Access log page atomically + +**Parameters** + +``nvme_mi_ctrl_t ctrl`` + Controller to query + +``bool rgo`` + Whether to retrieve ANA groups only (no NSIDs) + +``bool rae`` + Whether to retain asynchronous events + +``unsigned int retries`` + The maximum number of times to retry on log page changes + +``struct nvme_ana_log *log`` + Pointer to a buffer to receive the ANA log page + +``__u32 *len`` + Input: the length of the log page buffer. + Output: the actual length of the ANA log page. + +**Description** + +See :c:type:`struct nvme_ana_log <nvme_ana_log>` for the definition of the returned structure. + +**Return** + +If successful, returns 0 and sets *len to the actual log page length. +If unsuccessful, returns 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. +Sets errno = EINVAL if retries == 0. +Sets errno = EAGAIN if unable to read the log page atomically +because chgcnt changed during each of the retries attempts. +Sets errno = ENOSPC if the full log page does not fit in the provided buffer. + + .. c:function:: int nvme_mi_admin_get_log_lba_status (nvme_mi_ctrl_t ctrl, bool rae, __u64 offset, __u32 len, void *log) Retrieve LBA Status diff --git a/doc/rst/tree.rst b/doc/rst/tree.rst index 6f79703..ee46d11 100644 --- a/doc/rst/tree.rst +++ b/doc/rst/tree.rst @@ -53,6 +53,20 @@ Sets the managing application string for **r**. Returns the managing application string for **r** or NULL if not set. +.. c:function:: void nvme_root_skip_namespaces (nvme_root_t r) + + Skip namespace scanning + +**Parameters** + +``nvme_root_t r`` + :c:type:`nvme_root_t` object + +**Description** + +Sets a flag to skip namespaces during scanning. + + .. c:function:: void nvme_root_release_fds (nvme_root_t r) Close all opened file descriptors in the tree @@ -229,14 +243,62 @@ true if PDC is enabled for **h**, else false **Description** -Initializes the default host object based on the values in -/etc/nvme/hostnqn and /etc/nvme/hostid and attaches it to **r**. +Initializes the default host object based on the hostnqn/hostid +values returned by nvme_host_get_ids() and attaches it to **r**. **Return** :c:type:`nvme_host_t` object +.. c:function:: int nvme_host_get_ids (nvme_root_t r, char *hostnqn_arg, char *hostid_arg, char **hostnqn, char **hostid) + + Retrieve host ids from various sources + +**Parameters** + +``nvme_root_t r`` + :c:type:`nvme_root_t` object + +``char *hostnqn_arg`` + Input hostnqn (command line) argument + +``char *hostid_arg`` + Input hostid (command line) argument + +``char **hostnqn`` + Output hostnqn + +``char **hostid`` + Output hostid + +**Description** + +nvme_host_get_ids figures out which hostnqn/hostid is to be used. +There are several sources where this information can be retrieved. + +The order is: + + - Start with informartion from DMI or device-tree + - Override hostnqn and hostid from /etc/nvme files + - Override hostnqn or hostid with values from JSON + configuration file. The first host entry in the file is + considered the default host. + - Override hostnqn or hostid with values from the command line + (**hostnqn_arg**, **hostid_arg**). + + If the IDs are still NULL after the lookup algorithm, the function + will generate random IDs. + + The function also verifies that hostnqn and hostid matches. The Linux + NVMe implementation expects a 1:1 matching between the IDs. + +**Return** + +0 on success (**hostnqn** and **hostid** contain valid strings + which the caller needs to free), -1 otherwise and errno is set. + + .. c:function:: nvme_subsystem_t nvme_first_subsystem (nvme_host_t h) Start subsystem iterator diff --git a/doc/rst/types.rst b/doc/rst/types.rst index 1d6ad5a..7236642 100644 --- a/doc/rst/types.rst +++ b/doc/rst/types.rst @@ -2148,6 +2148,12 @@ power scale value ``NVME_CTRL_CTRATT_ELBAS`` Extended LBA Formats supported +``NVME_CTRL_CTRATT_MEM`` + MDTS and Size Limits Exclude Metadata supported + +``NVME_CTRL_CTRATT_HMBR`` + HMB Restrict Non-Operational Power State Access + ``NVME_CTRL_CTRATT_FDPS`` Flexible Data Placement supported @@ -3162,6 +3168,34 @@ power scale value Mask to get the protection information format for the extended LBA format. +``NVME_NVM_ELBAF_QPIF_MASK`` + Mask to get the Qualified Protection Information + Format. + + + + +.. c:enum:: nvme_nvm_id_ns_pif + + This field indicates the type of the Protection Information Format + +**Constants** + +``NVME_NVM_PIF_16B_GUARD`` + 16-bit Guard Protection Information Format + +``NVME_NVM_PIF_32B_GUARD`` + 32-bit Guard Protection Information Format + +``NVME_NVM_PIF_64B_GUARD`` + 64-bit Guard Protection Information Format + +``NVME_NVM_PIF_QTYPE`` + If Qualified Protection Information Format Supports + and Protection Information Format is set to 3, then + protection information format is taken from Qualified + Protection Information Format field. + @@ -3759,7 +3793,9 @@ power scale value __u8 dmrl; __le32 dmrsl; __le64 dmsl; - __u8 rsvd16[4080]; + __u8 rsvd16[2]; + __le16 aocs; + __u8 rsvd20[4076]; }; **Members** @@ -3783,7 +3819,13 @@ power scale value Dataset Management Size Limit ``rsvd16`` - reserved + Reserved + +``aocs`` + Admin Optional Command Support + +``rsvd20`` + Reserved @@ -3800,9 +3842,13 @@ power scale value struct nvme_nvm_id_ns { __le64 lbstm; __u8 pic; - __u8 rsvd9[3]; + __u8 pifa; + __u8 rsvd10[2]; __le32 elbaf[64]; - __u8 rsvd268[3828]; + __le32 npdgl; + __u8 rsvd272[20]; + __le32 tlbaag; + __u8 rsvd296[3800]; }; **Members** @@ -3813,13 +3859,25 @@ power scale value ``pic`` Protection Information Capabilities -``rsvd9`` +``pifa`` + Protection Information Format Attribute + +``rsvd10`` Reserved ``elbaf`` List of Extended LBA Format Support -``rsvd268`` +``npdgl`` + Namespace Preferred Deallocate Granularity Large + +``rsvd272`` + Reserved + +``tlbaag`` + Tracked LBA Allocation Granularity + +``rsvd296`` Reserved @@ -5821,6 +5879,12 @@ bytes, in size. This log captures the controller’s internal state. ``NVME_PEL_THERMAL_EXCURSION_EVENT`` Thermal Excursion Event +``NVME_PEL_VENDOR_SPECIFIC_EVENT`` + Vendor Specific Event + +``NVME_PEL_TCG_DEFINED_EVENT`` + TCG Defined Event + @@ -6395,16 +6459,21 @@ bytes, in size. This log captures the controller’s internal state. .. c:enum:: nvme_lba_status_atype - Potentially Unrecoverable LBAs + Action type the controller uses to return LBA status **Constants** +``NVME_LBA_STATUS_ATYPE_ALLOCATED`` + Return tracked allocated LBAs status + ``NVME_LBA_STATUS_ATYPE_SCAN_UNTRACKED`` - Potentially Unrecoverable LBAs + Perform scan and return Untracked and + Tracked Potentially Unrecoverable LBAs + status -``NVME_LBA_STATUS_ATYPE_SCAN_TRACKED`` - Potentially Unrecoverable LBAs - associated with physical storage +``NVME_LBA_STATUS_ATYPE_TRACKED`` + Return Tracked Potentially Unrecoverable + LBAs associated with physical storage @@ -13061,6 +13130,9 @@ true if **status** is of the specified type and value ``nvme_cmd_resv_release`` Reservation Release +``nvme_cmd_cancel`` + Cancel + ``nvme_cmd_copy`` Copy diff --git a/examples/telemetry-listen.c b/examples/telemetry-listen.c index ec5edb3..9aae8b0 100644 --- a/examples/telemetry-listen.c +++ b/examples/telemetry-listen.c @@ -19,6 +19,7 @@ #include <unistd.h> #include <time.h> #include <libnvme.h> +#include <sys/stat.h> #include <ccan/endian/endian.h> diff --git a/meson.build b/meson.build index f589423..bcdd896 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project( 'libnvme', ['c'], meson_version: '>= 0.50.0', - version: '1.9', + version: '1.10', license: 'LGPL-2.1-or-later', default_options: [ 'c_std=gnu99', @@ -46,7 +46,7 @@ conf = configuration_data() version_tag = get_option('version-tag') if version_tag != '' - conf.set('GIT_VERSION', '"@0@"'.format(version_tag)) + conf.set('GIT_VERSION', '"@0@"'.format(version_tag)) else r = run_command('scripts/meson-vcs-tag.sh', meson.current_source_dir(), @@ -306,4 +306,8 @@ if meson.version().version_compare('>=0.53.0') 'Python 3': py3_dep.found(), } summary(dep_dict, section: 'Dependencies') + conf_dict = { + 'git version': conf.get('GIT_VERSION'), + } + summary(conf_dict, section: 'Configuration') endif diff --git a/scripts/build.sh b/scripts/build.sh index 5a615ae..f820ade 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -21,6 +21,7 @@ usage() { echo " and build them as shared libaries" echo " cross use cross toolchain to build" echo " coverage build coverage report" + echo " docs build documentation" echo "" echo "configs with muon:" echo " [default] minimal static build" @@ -110,6 +111,13 @@ config_meson_coverage() { "${BUILDDIR}" } +config_meson_docs() { + CC="${CC}" "${MESON}" setup \ + -Ddocs=all \ + -Ddocs-build=true \ + "${BUILDDIR}" +} + build_meson() { "${MESON}" compile \ -C "${BUILDDIR}" diff --git a/scripts/release.sh b/scripts/release.sh index dad3f25..eb6eced 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -6,7 +6,8 @@ usage() { echo "The script does all necessary steps to create a new release." echo "" echo " -d: no documentation update" - echo " -n: dry run" + echo " -f: disable all sanity checks and just do the release" + echo " -l: do not update library dependency" echo "" echo "Note: The version number needs to be exactly" echo " '^v[\d]+.[\d]+(.[\d\]+(-rc[0-9]+)?$'" @@ -17,15 +18,19 @@ usage() { } build_doc=true -dry_run=false +update_lib_dep=true +force=false -while getopts "dn" o; do +while getopts "dfl" o; do case "${o}" in d) build_doc=false ;; - n) - dry_run=true + f) + force=true + ;; + l) + update_lib_dep=false ;; *) usage @@ -41,6 +46,26 @@ if [ -z "$VERSION" ] ; then exit 1 fi +cleanup() { + if [ -z "${OLD_HEAD}" ] ; then + exit + fi + git tag -d "Release $VERSION" "$VERSION" + git reset --hard "${OLD_HEAD}" +} + +register_cleanup() { + OLD_HEAD="$(git rev-parse HEAD)" +} + +unregister_cleanup() { + OLD_HEAD="" +} + +trap cleanup EXIT + +register_cleanup + # expected version regex re='^v([0-9]+\.[0-9]+(\.[0-9]+)?)(-rc[0-9]+)?$' @@ -57,10 +82,10 @@ fi cd "$(git rev-parse --show-toplevel)" || exit 1 -if [[ -f subprojects/libnvme.wrap ]]; then +if [ "$update_lib_dep" = true ] && [[ -f subprojects/libnvme.wrap ]]; then git -C subprojects/libnvme fetch --all - # extract the vesion string from libnvme by using the ref + # extract the version string from libnvme by using the ref # defined in libnvme.wrap. libnvme_ref=$(sed -n "s/revision = \([0-9a-z]\+\)/\1/p" subprojects/libnvme.wrap) libnvme_VERSION=$(git -C subprojects/libnvme describe "${libnvme_ref}") @@ -75,16 +100,18 @@ if [[ -f subprojects/libnvme.wrap ]]; then fi fi -if [[ -n $(git status -s) ]]; then - echo "tree is dirty." - if [[ "${dry_run}" = false ]]; then - exit 1 +if [ "$force" = false ] ; then + if [[ -n $(git status -s) ]]; then + echo "tree is dirty." + if [[ "${dry_run}" = false ]]; then + exit 1 + fi fi -fi -if [ "$(git rev-parse --abbrev-ref HEAD)" != "master" ] ; then - echo "currently not on master branch. abort." - exit 1 + if [ "$(git rev-parse --abbrev-ref HEAD)" != "master" ] ; then + echo "currently not on master branch. abort." + exit 1 + fi fi # update all docs @@ -94,34 +121,26 @@ if [ -d "Documentation" ]; then elif [ -d "doc" ]; then doc_dir="doc" else - echo "documenation directory not found" + echo "documentation directory not found" exit 1 fi -# update meson.build -sed -i -e "0,/[ \t]version: /s/\([ \t]version: \).*/\1\'$ver\',/" meson.build -if [[ -f subprojects/libnvme.wrap ]]; then - sed -i -e "s/\(dependency('libnvme', version: '>=\)\([\.1-9]\+\)/\1$libnvme_ver/" meson.build -fi - -if [[ "${dry_run}" = false ]]; then - git add meson.build - git commit -s -m "build: Update version to $VERSION" -fi - if [ "$build_doc" = true ]; then # update documentation ./scripts/update-docs.sh - if [[ "${dry_run}" = false ]]; then - git add $doc_dir - git commit -s -m "doc: Regenerate all docs for $VERSION" - fi + git add $doc_dir + git commit -s -m "doc: Regenerate all docs for $VERSION" fi -if [[ "${dry_run}" = true ]]; then - exit 0 +# update meson.build +sed -i -e "0,/[ \t]version: /s/\([ \t]version: \).*/\1\'$ver\',/" meson.build +if [[ -n "$libnvme_VERSION" ]] && [[ -f subprojects/libnvme.wrap ]]; then + sed -i -e "s/\(dependency('libnvme', version: '>=\)\([\.1-9]\+\)/\1$libnvme_ver/" meson.build fi +git add meson.build +git commit -s -m "Release $VERSION" + git tag -s -m "Release $VERSION" "$VERSION" git push --dry-run origin "$VERSION"^{}:master tag "$VERSION" @@ -129,4 +148,5 @@ read -p "All good? Ready to push changes to remote? [Yy]" -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then git push origin "$VERSION"^{}:master tag "$VERSION" + unregister_cleanup fi diff --git a/src/libnvme-mi.map b/src/libnvme-mi.map index 41e8110..1fa3cd8 100644 --- a/src/libnvme-mi.map +++ b/src/libnvme-mi.map @@ -1,3 +1,8 @@ +LIBNVME_MI_1_10 { + global: + nvme_mi_admin_get_ana_log_atomic; +}; + LIBNVME_MI_1_5 { global: nvme_mi_ctrl_id; diff --git a/src/libnvme.map b/src/libnvme.map index 8710c41..fbdc6c7 100644 --- a/src/libnvme.map +++ b/src/libnvme.map @@ -1,15 +1,29 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +LIBNVME_1.10 { + global: + nvme_free_uri; + nvme_get_ana_log_atomic; + nvme_get_ana_log_len_from_id_ctrl; + nvme_host_get_ids; + nvme_init_default_logging; + nvme_parse_uri; + nvme_revoke_tls_key; + nvme_root_skip_namespaces; + nvmf_hostid_generate; + nvmf_hostnqn_generate_from_hostid; +}; + LIBNVME_1.9 { global: + nvme_ctrl_get_cntlid; nvme_export_tls_key; nvme_get_logging_level; nvme_import_tls_key; nvme_read_key; nvme_scan_tls_keys; - nvme_submit_passthru; nvme_submit_passthru64; + nvme_submit_passthru; nvme_update_key; - nvme_ctrl_get_cntlid; }; LIBNVME_1_8 { diff --git a/src/nvme/base64.c b/src/nvme/base64.c index 5fae829..0163fa1 100644 --- a/src/nvme/base64.c +++ b/src/nvme/base64.c @@ -7,6 +7,7 @@ * Author: Hannes Reinecke <hare@suse.de> */ +#include <stdint.h> #include <stdlib.h> #include <string.h> #include <errno.h> @@ -29,7 +30,7 @@ static const char base64_table[65] = int base64_encode(const unsigned char *src, int srclen, char *dst) { int i, bits = 0; - u_int32_t ac = 0; + uint32_t ac = 0; char *cp = dst; for (i = 0; i < srclen; i++) { @@ -64,7 +65,7 @@ int base64_encode(const unsigned char *src, int srclen, char *dst) */ int base64_decode(const char *src, int srclen, unsigned char *dst) { - u_int32_t ac = 0; + uint32_t ac = 0; int i, bits = 0; unsigned char *bp = dst; diff --git a/src/nvme/fabrics.c b/src/nvme/fabrics.c index 6738e9d..acf12bc 100644 --- a/src/nvme/fabrics.c +++ b/src/nvme/fabrics.c @@ -1342,27 +1342,42 @@ static int uuid_from_dmi(char *system_uuid) return ret; } -char *nvmf_hostnqn_generate() +char *nvmf_hostid_generate() { - char *hostnqn; int ret; char uuid_str[NVME_UUID_LEN_STRING]; unsigned char uuid[NVME_UUID_LEN]; ret = uuid_from_dmi(uuid_str); - if (ret < 0) { + if (ret < 0) ret = uuid_from_device_tree(uuid_str); - } if (ret < 0) { if (nvme_uuid_random(uuid) < 0) memset(uuid, 0, NVME_UUID_LEN); nvme_uuid_to_string(uuid, uuid_str); } - if (asprintf(&hostnqn, "nqn.2014-08.org.nvmexpress:uuid:%s", uuid_str) < 0) - return NULL; + return strdup(uuid_str); +} - return hostnqn; +char *nvmf_hostnqn_generate_from_hostid(char *hostid) +{ + char *hid = NULL; + char *hostnqn; + int ret; + + if (!hostid) + hostid = hid = nvmf_hostid_generate(); + + ret = asprintf(&hostnqn, "nqn.2014-08.org.nvmexpress:uuid:%s", hostid); + free(hid); + + return (ret < 0) ? NULL : hostnqn; +} + +char *nvmf_hostnqn_generate() +{ + return nvmf_hostnqn_generate_from_hostid(NULL); } static char *nvmf_read_file(const char *f, int len) @@ -1387,8 +1402,11 @@ char *nvmf_hostnqn_from_file() { char *hostnqn = getenv("LIBNVME_HOSTNQN"); - if (hostnqn) + if (hostnqn) { + if (!strcmp(hostnqn, "")) + return NULL; return strdup(hostnqn); + } return nvmf_read_file(NVMF_HOSTNQN_FILE, NVMF_NQN_SIZE); } @@ -1397,8 +1415,11 @@ char *nvmf_hostid_from_file() { char *hostid = getenv("LIBNVME_HOSTID"); - if (hostid) + if (hostid) { + if (!strcmp(hostid, "")) + return NULL; return strdup(hostid); + } return nvmf_read_file(NVMF_HOSTID_FILE, NVMF_HOSTID_SIZE); } @@ -1703,3 +1724,148 @@ int nvmf_register_ctrl(nvme_ctrl_t c, enum nvmf_dim_tas tas, __u32 *result) */ return nvmf_dim(c, tas, NVMF_TRTYPE_TCP, nvme_get_adrfam(c), "", NULL, result); } + +#define IS_XDIGIT(c) ((c >= '0' && c <= '9') || \ + (c >= 'A' && c <= 'F') || \ + (c >= 'a' && c <= 'f')) +#define XDIGIT_VAL(c) ((c >= '0' && c <= '9') ? c - '0' : ( \ + (c >= 'A' && c <= 'F') ? c - 'A' + 10 : c - 'a' + 10)) + +/* returns newly allocated string */ +static char *unescape_uri(const char *str, int len) +{ + char *dst; + int l; + int i, j; + + l = len > 0 ? len : strlen(str); + dst = malloc(l + 1); + for (i = 0, j = 0; i < l; i++, j++) { + if (str[i] == '%' && i + 2 < l && + IS_XDIGIT(str[i + 1]) && IS_XDIGIT(str[i + 2])) { + dst[j] = (XDIGIT_VAL(str[i + 1]) << 4) + + XDIGIT_VAL(str[i + 2]); + i += 2; + } else + dst[j] = str[i]; + } + dst[j] = '\0'; + return dst; +} + +struct nvme_fabrics_uri *nvme_parse_uri(const char *str) +{ + struct nvme_fabrics_uri *uri; + _cleanup_free_ char *scheme = NULL; + _cleanup_free_ char *authority = NULL; + _cleanup_free_ char *path = NULL; + _cleanup_free_ char *h = NULL; + const char *host; + int i; + + /* As defined in Boot Specification rev. 1.0: + * + * section 1.5.7: NVMe-oF URI Format + * nvme+tcp://192.168.1.1:4420/ + * nvme+tcp://[FE80::1010]:4420/ + * + * section 3.1.2.5.3: DHCP Root-Path - a hierarchical NVMe-oF URI Format + * NVME<+PROTOCOL>://<SERVERNAME/IP>[:TRANSPORT PORT]/<SUBSYS NQN>/<NID> + * or + * NVME<+PROTOCOL>://<DISCOVERY CONTROLLER ADDRESS>[:DISCOVERY- + * -CONTROLLER PORT]/NQN.2014-08.ORG.NVMEXPRESS.DISCOVERY/<NID> + */ + + uri = calloc(1, sizeof(struct nvme_fabrics_uri)); + if (!uri) + return NULL; + + if (sscanf(str, "%m[^:/]://%m[^/?#]%ms", + &scheme, &authority, &path) < 2) { + nvme_free_uri(uri); + errno = EINVAL; + return NULL; + } + + if (sscanf(scheme, "%m[^+]+%ms", + &uri->scheme, &uri->protocol) < 1) { + nvme_free_uri(uri); + errno = EINVAL; + return NULL; + } + + /* split userinfo */ + host = strrchr(authority, '@'); + if (host) { + host++; + uri->userinfo = unescape_uri(authority, host - authority); + } else + host = authority; + + /* try matching IPv6 address first */ + if (sscanf(host, "[%m[^]]]:%d", + &uri->host, &uri->port) < 1) { + /* treat it as IPv4/hostname */ + if (sscanf(host, "%m[^:]:%d", + &h, &uri->port) < 1) { + nvme_free_uri(uri); + errno = EINVAL; + return NULL; + } + uri->host = unescape_uri(h, 0); + } + + /* split path into elements */ + if (path) { + char *e, *elem; + + /* separate the fragment */ + e = strrchr(path, '#'); + if (e) { + uri->fragment = unescape_uri(e + 1, 0); + *e = '\0'; + } + /* separate the query string */ + e = strrchr(path, '?'); + if (e) { + uri->query = unescape_uri(e + 1, 0); + *e = '\0'; + } + + /* count elements first */ + for (i = 0, e = path; *e; e++) + if (*e == '/' && *(e + 1) != '/') + i++; + uri->path_segments = calloc(i + 2, sizeof(char *)); + + i = 0; + elem = strtok_r(path, "/", &e); + if (elem) + uri->path_segments[i++] = unescape_uri(elem, 0); + while (elem && strlen(elem)) { + elem = strtok_r(NULL, "/", &e); + if (elem) + uri->path_segments[i++] = unescape_uri(elem, 0); + } + } + + return uri; +} + +void nvme_free_uri(struct nvme_fabrics_uri *uri) +{ + char **s; + + if (!uri) + return; + free(uri->scheme); + free(uri->protocol); + free(uri->userinfo); + free(uri->host); + for (s = uri->path_segments; s && *s; s++) + free(*s); + free(uri->path_segments); + free(uri->query); + free(uri->fragment); + free(uri); +} diff --git a/src/nvme/fabrics.h b/src/nvme/fabrics.h index 4ebeb35..8e26e9f 100644 --- a/src/nvme/fabrics.h +++ b/src/nvme/fabrics.h @@ -68,6 +68,28 @@ struct nvme_fabrics_config { }; /** + * struct nvme_fabrics_uri - Parsed URI structure + * @scheme: Scheme name (typically 'nvme') + * @protocol: Optional protocol/transport (e.g. 'tcp') + * @userinfo: Optional user information component of the URI authority + * @host: Host transport address + * @port: The port subcomponent or 0 if not specified + * @path_segments: NULL-terminated array of path segments + * @query: Optional query string component (separated by '?') + * @fragment: Optional fragment identifier component (separated by '#') + */ +struct nvme_fabrics_uri { + char *scheme; + char *protocol; + char *userinfo; + char *host; + int port; + char **path_segments; + char *query; + char *fragment; +}; + +/** * nvmf_trtype_str() - Decode TRTYPE field * @trtype: value to be decoded * @@ -258,6 +280,26 @@ struct nvmf_discovery_log *nvmf_get_discovery_wargs(struct nvme_get_discovery_ar char *nvmf_hostnqn_generate(); /** + * nvmf_hostnqn_generate_from_hostid() - Generate a host nqn from host identifier + * @hostid: Host identifier + * + * If @hostid is NULL, the function generates it based on the machine + * identifier. + * + * Return: On success, an NVMe Qualified Name for host identification. This + * name is based on the given host identifier. On failure, NULL. + */ +char *nvmf_hostnqn_generate_from_hostid(char *hostid); + +/** + * nvmf_hostid_generate() - Generate a machine specific host identifier + * + * Return: On success, an identifier string based on the machine identifier to + * be used as NVMe Host Identifier, or NULL on failure. + */ +char *nvmf_hostid_generate(); + +/** * nvmf_hostnqn_from_file() - Reads the host nvm qualified name from the config * default location * @@ -324,4 +366,26 @@ bool nvmf_is_registration_supported(nvme_ctrl_t c); */ int nvmf_register_ctrl(nvme_ctrl_t c, enum nvmf_dim_tas tas, __u32 *result); +/** + * nvme_parse_uri() - Parse the URI string + * @str: URI string + * + * Parse the URI string as defined in the NVM Express Boot Specification. + * Supported URI elements looks as follows: + * + * nvme+tcp://user@host:port/subsys_nqn/nid?query=val#fragment + * + * Return: &nvme_fabrics_uri structure on success; NULL on failure with errno + * set. + */ +struct nvme_fabrics_uri *nvme_parse_uri(const char *str); + +/** + * nvme_free_uri() - Free the URI structure + * @uri: &nvme_fabrics_uri structure + * + * Free an &nvme_fabrics_uri structure. + */ +void nvme_free_uri(struct nvme_fabrics_uri *uri); + #endif /* _LIBNVME_FABRICS_H */ diff --git a/src/nvme/ioctl.c b/src/nvme/ioctl.c index ce5a911..9707829 100644 --- a/src/nvme/ioctl.c +++ b/src/nvme/ioctl.c @@ -355,6 +355,131 @@ int nvme_get_log_page(int fd, __u32 xfer_len, struct nvme_get_log_args *args) return 0; } +static int read_ana_chunk(int fd, enum nvme_log_ana_lsp lsp, bool rae, + __u8 *log, __u8 **read, __u8 *to_read, __u8 *log_end) +{ + if (to_read > log_end) { + errno = ENOSPC; + return -1; + } + + while (*read < to_read) { + __u32 len = min(log_end - *read, NVME_LOG_PAGE_PDU_SIZE); + int ret; + + ret = nvme_get_log_ana(fd, lsp, rae, *read - log, len, *read); + if (ret) + return ret; + + *read += len; + } + return 0; +} + +static int try_read_ana(int fd, enum nvme_log_ana_lsp lsp, bool rae, + struct nvme_ana_log *log, __u8 *log_end, + __u8 *read, __u8 **to_read, bool *may_retry) +{ + __u16 ngrps = le16_to_cpu(log->ngrps); + + while (ngrps--) { + __u8 *group = *to_read; + int ret; + __le32 nnsids; + + *to_read += sizeof(*log->descs); + ret = read_ana_chunk(fd, lsp, rae, + (__u8 *)log, &read, *to_read, log_end); + if (ret) { + /* + * If the provided buffer isn't long enough, + * the log page may have changed while reading it + * and the computed length was inaccurate. + * Have the caller check chgcnt and retry. + */ + *may_retry = errno == ENOSPC; + return ret; + } + + /* + * struct nvme_ana_group_desc has 8-byte alignment + * but the group pointer is only 4-byte aligned. + * Don't dereference the misaligned pointer. + */ + memcpy(&nnsids, + group + offsetof(struct nvme_ana_group_desc, nnsids), + sizeof(nnsids)); + *to_read += le32_to_cpu(nnsids) * sizeof(__le32); + ret = read_ana_chunk(fd, lsp, rae, + (__u8 *)log, &read, *to_read, log_end); + if (ret) { + *may_retry = errno == ENOSPC; + return ret; + } + } + + *may_retry = true; + return 0; +} + +int nvme_get_ana_log_atomic(int fd, bool rgo, bool rae, unsigned int retries, + struct nvme_ana_log *log, __u32 *len) +{ + const enum nvme_log_ana_lsp lsp = + rgo ? NVME_LOG_ANA_LSP_RGO_GROUPS_ONLY : 0; + /* Get Log Page can only fetch multiples of dwords */ + __u8 * const log_end = (__u8 *)log + (*len & -4); + __u8 *read = (__u8 *)log; + __u8 *to_read; + int ret; + + if (!retries) { + errno = EINVAL; + return -1; + } + + to_read = (__u8 *)log->descs; + ret = read_ana_chunk(fd, lsp, rae, + (__u8 *)log, &read, to_read, log_end); + if (ret) + return ret; + + do { + bool may_retry = false; + int saved_ret; + int saved_errno; + __le64 chgcnt; + + saved_ret = try_read_ana(fd, lsp, rae, log, log_end, + read, &to_read, &may_retry); + /* + * If the log page was read with multiple Get Log Page commands, + * chgcnt must be checked afterwards to ensure atomicity + */ + *len = to_read - (__u8 *)log; + if (*len <= NVME_LOG_PAGE_PDU_SIZE || !may_retry) + return saved_ret; + + saved_errno = errno; + chgcnt = log->chgcnt; + read = (__u8 *)log; + to_read = (__u8 *)log->descs; + ret = read_ana_chunk(fd, lsp, rae, + (__u8 *)log, &read, to_read, log_end); + if (ret) + return ret; + + if (log->chgcnt == chgcnt) { + /* Log hasn't changed; return try_read_ana() result */ + errno = saved_errno; + return saved_ret; + } + } while (--retries); + + errno = EAGAIN; + return -1; +} + int nvme_set_features(struct nvme_set_features_args *args) { __u32 cdw10 = NVME_SET(args->fid, FEATURES_CDW10_FID) | @@ -1670,35 +1795,30 @@ static int nvme_set_var_size_tags(__u32 *cmd_dw2, __u32 *cmd_dw3, __u32 *cmd_dw1 __u8 pif, __u8 sts, __u64 reftag, __u64 storage_tag) { __u32 cdw2 = 0, cdw3 = 0, cdw14; - beint64_t be_reftag = cpu_to_be64(reftag); - beint64_t be_storage_tag = cpu_to_be64(storage_tag); switch (pif) { - /* 16b Protection Information */ - case 0: - cdw14 = be_reftag & 0xffffffff; - cdw14 |= ((be_storage_tag << (32 - sts)) & 0xffffffff); + case NVME_NVM_PIF_16B_GUARD: + cdw14 = reftag & 0xffffffff; + cdw14 |= ((storage_tag << (32 - sts)) & 0xffffffff); break; - /* 32b Protection Information */ - case 1: - cdw14 = be_reftag & 0xffffffff; - cdw3 = be_reftag >> 32; - cdw14 |= ((be_storage_tag << (80 - sts)) & 0xffff0000); + case NVME_NVM_PIF_32B_GUARD: + cdw14 = reftag & 0xffffffff; + cdw3 = reftag >> 32; + cdw14 |= ((storage_tag << (80 - sts)) & 0xffff0000); if (sts >= 48) - cdw3 |= ((be_storage_tag >> (sts - 48)) & 0xffffffff); + cdw3 |= ((storage_tag >> (sts - 48)) & 0xffffffff); else - cdw3 |= ((be_storage_tag << (48 - sts)) & 0xffffffff); - cdw2 = (be_storage_tag >> (sts - 16)) & 0xffff; + cdw3 |= ((storage_tag << (48 - sts)) & 0xffffffff); + cdw2 = (storage_tag >> (sts - 16)) & 0xffff; break; - /* 64b Protection Information */ - case 2: - cdw14 = be_reftag & 0xffffffff; - cdw3 = (be_reftag >> 32) & 0xffff; - cdw14 |= ((be_storage_tag << (48 - sts)) & 0xffffffff); + case NVME_NVM_PIF_64B_GUARD: + cdw14 = reftag & 0xffffffff; + cdw3 = (reftag >> 32) & 0xffff; + cdw14 |= ((storage_tag << (48 - sts)) & 0xffffffff); if (sts >= 16) - cdw3 |= ((be_storage_tag >> (sts - 16)) & 0xffff); + cdw3 |= ((storage_tag >> (sts - 16)) & 0xffff); else - cdw3 |= ((be_storage_tag << (16 - sts)) & 0xffff); + cdw3 |= ((storage_tag << (16 - sts)) & 0xffff); break; default: perror("Unsupported Protection Information Format"); @@ -1706,9 +1826,9 @@ static int nvme_set_var_size_tags(__u32 *cmd_dw2, __u32 *cmd_dw3, __u32 *cmd_dw1 return -1; } - *cmd_dw2 = cdw2; - *cmd_dw3 = cdw3; - *cmd_dw14 = cdw14; + *cmd_dw2 = cpu_to_be32(cdw2); + *cmd_dw3 = cpu_to_be32(cdw3); + *cmd_dw14 = cpu_to_be32(cdw14); return 0; } diff --git a/src/nvme/ioctl.h b/src/nvme/ioctl.h index be4c1b7..2ebd39c 100644 --- a/src/nvme/ioctl.h +++ b/src/nvme/ioctl.h @@ -1865,7 +1865,7 @@ static inline int nvme_get_log_fdp_events(int fd, __u16 egid, bool host_events, * the asymmetric namespace access information for ANA Groups that contain * namespaces that are attached to the controller processing the command. * - * See &struct nvme_ana_rsp_hdr for the definition of the returned structure. + * See &struct nvme_ana_log for the definition of the returned structure. * * Return: The nvme command status if a response was received (see * &enum nvme_status_field) or -1 with errno set otherwise. @@ -1887,7 +1887,7 @@ static inline int nvme_get_log_ana(int fd, enum nvme_log_ana_lsp lsp, bool rae, .lsi = NVME_LOG_LSI_NONE, .lsp = (__u8)lsp, .uuidx = NVME_UUID_NONE, - .rae = false, + .rae = rae, .ot = false, }; return nvme_get_log_page(fd, NVME_LOG_PAGE_PDU_SIZE, &args); @@ -1900,19 +1900,42 @@ static inline int nvme_get_log_ana(int fd, enum nvme_log_ana_lsp lsp, bool rae, * @len: The allocated length of the log page * @log: User address to store the ana group log * - * See &struct nvme_ana_group_desc for the definition of the returned structure. + * See &struct nvme_ana_log for the definition of the returned structure. * * Return: The nvme command status if a response was received (see * &enum nvme_status_field) or -1 with errno set otherwise. */ static inline int nvme_get_log_ana_groups(int fd, bool rae, __u32 len, - struct nvme_ana_group_desc *log) + struct nvme_ana_log *log) { return nvme_get_log_ana(fd, NVME_LOG_ANA_LSP_RGO_GROUPS_ONLY, rae, 0, len, log); } /** + * nvme_get_ana_log_atomic() - Retrieve Asymmetric Namespace Access log page atomically + * @fd: File descriptor of nvme device + * @rgo: Whether to retrieve ANA groups only (no NSIDs) + * @rae: Whether to retain asynchronous events + * @retries: The maximum number of times to retry on log page changes + * @log: Pointer to a buffer to receive the ANA log page + * @len: Input: the length of the log page buffer. + * Output: the actual length of the ANA log page. + * + * See &struct nvme_ana_log for the definition of the returned structure. + * + * Return: If successful, returns 0 and sets *len to the actual log page length. + * If unsuccessful, returns the nvme command status if a response was received + * (see &enum nvme_status_field) or -1 with errno set otherwise. + * Sets errno = EINVAL if retries == 0. + * Sets errno = EAGAIN if unable to read the log page atomically + * because chgcnt changed during each of the retries attempts. + * Sets errno = ENOSPC if the full log page does not fit in the provided buffer. + */ +int nvme_get_ana_log_atomic(int fd, bool rgo, bool rae, unsigned int retries, + struct nvme_ana_log *log, __u32 *len); + +/** * nvme_get_log_lba_status() - Retrieve LBA Status * @fd: File descriptor of nvme device * @rae: Retain asynchronous events diff --git a/src/nvme/json.c b/src/nvme/json.c index a02bd2d..2c769f2 100644 --- a/src/nvme/json.c +++ b/src/nvme/json.c @@ -339,6 +339,9 @@ static void json_update_port(struct json_object *ctrl_array, nvme_ctrl_t c) const char *transport, *value; transport = nvme_ctrl_get_transport(c); + if (!strcmp(transport, "pcie")) + return; + json_object_object_add(port_obj, "transport", json_object_new_string(transport)); value = nvme_ctrl_get_traddr(c); @@ -432,11 +435,13 @@ static void json_update_subsys(struct json_object *subsys_array, nvme_subsystem_for_each_ctrl(s, c) { json_update_port(port_array, c); } - if (json_object_array_length(port_array)) + if (json_object_array_length(port_array)) { json_object_object_add(subsys_obj, "ports", port_array); - else + json_object_array_add(subsys_array, subsys_obj); + } else { json_object_put(port_array); - json_object_array_add(subsys_array, subsys_obj); + json_object_put(subsys_obj); + } } int json_update_config(nvme_root_t r, const char *config_file) @@ -476,12 +481,14 @@ int json_update_config(nvme_root_t r, const char *config_file) nvme_for_each_subsystem(h, s) { json_update_subsys(subsys_array, s); } - if (json_object_array_length(subsys_array)) + if (json_object_array_length(subsys_array)) { json_object_object_add(host_obj, "subsystems", - subsys_array); - else + subsys_array); + json_object_array_add(json_root, host_obj); + } else { json_object_put(subsys_array); - json_object_array_add(json_root, host_obj); + json_object_put(host_obj); + } } if (!config_file) { ret = json_object_to_fd(1, json_root, JSON_C_TO_STRING_PRETTY); @@ -633,7 +640,7 @@ int json_dump_tree(nvme_root_t r) } json_object_object_add(json_root, "hosts", host_array); - ret = json_object_to_fd(fileno(r->fp), json_root, JSON_C_TO_STRING_PRETTY); + ret = json_object_to_fd(r->log.fd, json_root, JSON_C_TO_STRING_PRETTY); if (ret < 0) { nvme_msg(r, LOG_ERR, "Failed to write, %s\n", json_util_get_last_err()); diff --git a/src/nvme/linux.c b/src/nvme/linux.c index 25196fd..aff0544 100644 --- a/src/nvme/linux.c +++ b/src/nvme/linux.c @@ -18,7 +18,6 @@ #include <unistd.h> #ifdef CONFIG_OPENSSL -#include <openssl/engine.h> #include <openssl/evp.h> #include <openssl/hmac.h> #include <openssl/kdf.h> @@ -166,7 +165,7 @@ int nvme_get_telemetry_log(int fd, bool create, bool ctrl, bool rae, size_t max_ struct nvme_telemetry_log *telem; enum nvme_cmd_get_log_lid lid; - _cleanup_free_ void *log; + _cleanup_free_ void *log = NULL; void *tmp; int err; size_t dalb; @@ -296,8 +295,8 @@ int nvme_get_new_host_telemetry(int fd, struct nvme_telemetry_log **log, int nvme_get_lba_status_log(int fd, bool rae, struct nvme_lba_status_log **log) { + _cleanup_free_ struct nvme_lba_status_log *buf = NULL; __u32 size; - _cleanup_free_ struct nvme_lba_status_log *buf; void *tmp; int err; struct nvme_get_log_args args = { @@ -386,6 +385,16 @@ int nvme_namespace_detach_ctrls(int fd, __u32 nsid, __u16 num_ctrls, NVME_DEFAULT_IOCTL_TIMEOUT); } +size_t nvme_get_ana_log_len_from_id_ctrl(const struct nvme_id_ctrl *id_ctrl, + bool rgo) +{ + __u32 nanagrpid = le32_to_cpu(id_ctrl->nanagrpid); + size_t size = sizeof(struct nvme_ana_log) + + nanagrpid * sizeof(struct nvme_ana_group_desc); + + return rgo ? size : size + le32_to_cpu(id_ctrl->mnan) * sizeof(__le32); +} + int nvme_get_ana_log_len(int fd, size_t *analen) { _cleanup_free_ struct nvme_id_ctrl *ctrl = NULL; @@ -400,9 +409,7 @@ int nvme_get_ana_log_len(int fd, size_t *analen) if (ret) return ret; - *analen = sizeof(struct nvme_ana_log) + - le32_to_cpu(ctrl->nanagrpid) * sizeof(struct nvme_ana_group_desc) + - le32_to_cpu(ctrl->mnan) * sizeof(__le32); + *analen = nvme_get_ana_log_len_from_id_ctrl(ctrl, false); return 0; } @@ -544,22 +551,18 @@ static int derive_retained_key(int hmac, const char *hostnqn, return -1; } -static int gen_tls_identity(const char *hostnqn, const char *subsysnqn, - int version, int hmac, char *identity, - unsigned char *retained, size_t key_len) +static int derive_psk_digest(const char *hostnqn, const char *subsysnqn, + int version, int hmac, + unsigned char *retained, size_t key_len, + char *digest, size_t digest_len) { - if (version != 0) { - nvme_msg(NULL, LOG_ERR, "NVMe TLS 2.0 is not supported; " - "recompile with OpenSSL support.\n"); - errno = ENOTSUP; - return -1; - } - sprintf(identity, "NVMe0R%02d %s %s", - hmac, hostnqn, subsysnqn); - return strlen(identity); + nvme_msg(NULL, LOG_ERR, "NVMe TLS 2.0 is not supported; " + "recompile with OpenSSL support.\n"); + errno = ENOTSUP; + return -1; } -static int derive_tls_key(int hmac, const char *identity, +static int derive_tls_key(int version, int hmac, const char *context, unsigned char *retained, unsigned char *psk, size_t key_len) { @@ -655,7 +658,7 @@ static int derive_retained_key(int hmac, const char *hostnqn, return key_len; } -static int derive_tls_key(int hmac, const char *identity, +static int derive_tls_key(int version, int hmac, const char *context, unsigned char *retained, unsigned char *psk, size_t key_len) { @@ -703,9 +706,20 @@ static int derive_tls_key(int hmac, const char *identity, errno = ENOKEY; return -1; } + if (version == 1) { + char hash_str[4]; + + sprintf(hash_str, "%02d ", hmac); + if (EVP_PKEY_CTX_add1_hkdf_info(ctx, + (const unsigned char *)hash_str, + strlen(hash_str)) <= 0) { + errno = ENOKEY; + return -1; + } + } if (EVP_PKEY_CTX_add1_hkdf_info(ctx, - (const unsigned char *)identity, - strlen(identity)) <= 0) { + (const unsigned char *)context, + strlen(context)) <= 0) { errno = ENOKEY; return -1; } @@ -731,9 +745,6 @@ int nvme_gen_dhchap_key(char *hostnqn, enum nvme_hmac_alg hmac, _cleanup_hmac_ctx_ HMAC_CTX *hmac_ctx = NULL; const EVP_MD *md; - ENGINE_load_builtin_engines(); - ENGINE_register_all_complete(); - hmac_ctx = HMAC_CTX_new(); if (!hmac_ctx) { errno = ENOMEM; @@ -788,28 +799,18 @@ int nvme_gen_dhchap_key(char *hostnqn, enum nvme_hmac_alg hmac, return 0; } -static int gen_tls_identity(const char *hostnqn, const char *subsysnqn, - int version, int hmac, char *identity, - unsigned char *retained, size_t key_len) +static int derive_psk_digest(const char *hostnqn, const char *subsysnqn, + int version, int hmac, + unsigned char *retained, size_t key_len, + char *digest, size_t digest_len) { static const char hmac_seed[] = "NVMe-over-Fabrics"; size_t hmac_len; const EVP_MD *md = select_hmac(hmac, &hmac_len); _cleanup_hmac_ctx_ HMAC_CTX *hmac_ctx = NULL; _cleanup_free_ unsigned char *psk_ctx = NULL; - _cleanup_free_ char *enc_ctx = NULL; size_t len; - if (version == 0) { - sprintf(identity, "NVMe%01dR%02d %s %s", - version, hmac, hostnqn, subsysnqn); - return strlen(identity); - } - if (version > 1) { - errno = EINVAL; - return -1; - } - hmac_ctx = HMAC_CTX_new(); if (!hmac_ctx) { errno = ENOMEM; @@ -856,17 +857,19 @@ static int gen_tls_identity(const char *hostnqn, const char *subsysnqn, errno = ENOKEY; return -1; } - enc_ctx = malloc(key_len * 2); - memset(enc_ctx, 0, key_len * 2); - len = base64_encode(psk_ctx, key_len, enc_ctx); + if (key_len * 2 > digest_len) { + errno = EINVAL; + return -1; + } + memset(digest, 0, digest_len); + len = base64_encode(psk_ctx, key_len, digest); if (len < 0) { errno = ENOKEY; return len; } - sprintf(identity, "NVMe%01dR%02d %s %s %s", - version, hmac, hostnqn, subsysnqn, enc_ctx); - return strlen(identity); + return strlen(digest); } + #endif /* !CONFIG_OPENSSL_1 */ #ifdef CONFIG_OPENSSL_3 @@ -961,9 +964,10 @@ int nvme_gen_dhchap_key(char *hostnqn, enum nvme_hmac_alg hmac, return 0; } -static int gen_tls_identity(const char *hostnqn, const char *subsysnqn, - int version, int hmac, char *identity, - unsigned char *retained, size_t key_len) +static int derive_psk_digest(const char *hostnqn, const char *subsysnqn, + int version, int hmac, + unsigned char *retained, size_t key_len, + char *digest, size_t digest_len) { static const char hmac_seed[] = "NVMe-over-Fabrics"; size_t hmac_len; @@ -972,21 +976,10 @@ static int gen_tls_identity(const char *hostnqn, const char *subsysnqn, _cleanup_evp_mac_ctx_ EVP_MAC_CTX *mac_ctx = NULL; _cleanup_evp_mac_ EVP_MAC *mac = NULL; char *progq = NULL; - char *digest = NULL; + char *dig = NULL; _cleanup_free_ unsigned char *psk_ctx = NULL; - _cleanup_free_ char *enc_ctx = NULL; size_t len; - if (version == 0) { - sprintf(identity, "NVMe%01dR%02d %s %s", - version, hmac, hostnqn, subsysnqn); - return strlen(identity); - } - if (version > 1) { - errno = EINVAL; - return -1; - } - lib_ctx = OSSL_LIB_CTX_new(); if (!lib_ctx) { errno = ENOMEM; @@ -1005,19 +998,19 @@ static int gen_tls_identity(const char *hostnqn, const char *subsysnqn, } switch (hmac) { case NVME_HMAC_ALG_SHA2_256: - digest = OSSL_DIGEST_NAME_SHA2_256; + dig = OSSL_DIGEST_NAME_SHA2_256; break; case NVME_HMAC_ALG_SHA2_384: - digest = OSSL_DIGEST_NAME_SHA2_384; + dig = OSSL_DIGEST_NAME_SHA2_384; break; default: errno = EINVAL; break; } - if (!digest) + if (!dig) return -1; *p++ = OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, - digest, 0); + dig, 0); *p = OSSL_PARAM_construct_end(); psk_ctx = malloc(key_len); @@ -1061,18 +1054,38 @@ static int gen_tls_identity(const char *hostnqn, const char *subsysnqn, errno = EMSGSIZE; return -1; } - enc_ctx = malloc(hmac_len * 2); - memset(enc_ctx, 0, hmac_len * 2); - len = base64_encode(psk_ctx, hmac_len, enc_ctx); + if (hmac_len * 2 > digest_len) { + errno = EINVAL; + return -1; + } + memset(digest, 0, digest_len); + len = base64_encode(psk_ctx, hmac_len, digest); if (len < 0) { errno = ENOKEY; return len; } + return strlen(digest); +} +#endif /* !CONFIG_OPENSSL_3 */ + +static int gen_tls_identity(const char *hostnqn, const char *subsysnqn, + int version, int hmac, char *digest, + char *identity) +{ + if (version == 0) { + sprintf(identity, "NVMe%01dR%02d %s %s", + version, hmac, hostnqn, subsysnqn); + return strlen(identity); + } + if (version > 1) { + errno = EINVAL; + return -1; + } + sprintf(identity, "NVMe%01dR%02d %s %s %s", - version, hmac, hostnqn, subsysnqn, enc_ctx); + version, hmac, hostnqn, subsysnqn, digest); return strlen(identity); } -#endif /* !CONFIG_OPENSSL_3 */ static int derive_nvme_keys(const char *hostnqn, const char *subsysnqn, char *identity, int version, @@ -1080,6 +1093,8 @@ static int derive_nvme_keys(const char *hostnqn, const char *subsysnqn, unsigned char *psk, int key_len) { _cleanup_free_ unsigned char *retained = NULL; + _cleanup_free_ char *digest = NULL; + char *context = identity; int ret = -1; if (!hostnqn || !subsysnqn || !identity || !psk) { @@ -1095,11 +1110,28 @@ static int derive_nvme_keys(const char *hostnqn, const char *subsysnqn, ret = derive_retained_key(hmac, hostnqn, configured, retained, key_len); if (ret < 0) return ret; + + if (version == 1) { + size_t digest_len = 2 * key_len; + + digest = malloc(digest_len); + if (!digest) { + errno = ENOMEM; + return -1; + } + ret = derive_psk_digest(hostnqn, subsysnqn, version, hmac, + retained, key_len, + digest, digest_len); + if (ret) + return ret; + context = digest; + } ret = gen_tls_identity(hostnqn, subsysnqn, version, hmac, - identity, retained, key_len); + digest, identity); if (ret < 0) return ret; - return derive_tls_key(hmac, identity, retained, psk, key_len); + return derive_tls_key(version, hmac, context, retained, + psk, key_len); } static size_t nvme_identity_len(int hmac, int version, const char *hostnqn, @@ -1355,6 +1387,24 @@ long nvme_insert_tls_key_versioned(const char *keyring, const char *key_type, return key; } +long nvme_revoke_tls_key(const char *keyring, const char *key_type, + const char *identity) +{ + key_serial_t keyring_id; + long key; + + keyring_id = nvme_lookup_keyring(keyring); + if (keyring_id == 0) { + errno = ENOKEY; + return 0; + } + + key = keyctl_search(keyring_id, key_type, identity, 0); + if (key < 0) + return -1; + + return keyctl_revoke(key); +} #else long nvme_lookup_keyring(const char *keyring) { @@ -1419,6 +1469,15 @@ long nvme_insert_tls_key_versioned(const char *keyring, const char *key_type, errno = ENOTSUP; return -1; } + +long nvme_revoke_tls_key(const char *keyring, const char *key_type, + const char *identity) +{ + nvme_msg(NULL, LOG_ERR, "key operations not supported; " + "recompile with keyutils support.\n"); + errno = ENOTSUP; + return -1; +} #endif long nvme_insert_tls_key(const char *keyring, const char *key_type, @@ -1513,10 +1572,10 @@ unsigned char *nvme_import_tls_key(const char *encoded_key, int *key_len, return NULL; } crc = crc32(crc, decoded_key, decoded_len); - key_crc = ((u_int32_t)decoded_key[decoded_len]) | - ((u_int32_t)decoded_key[decoded_len + 1] << 8) | - ((u_int32_t)decoded_key[decoded_len + 2] << 16) | - ((u_int32_t)decoded_key[decoded_len + 3] << 24); + key_crc = ((uint32_t)decoded_key[decoded_len]) | + ((uint32_t)decoded_key[decoded_len + 1] << 8) | + ((uint32_t)decoded_key[decoded_len + 2] << 16) | + ((uint32_t)decoded_key[decoded_len + 3] << 24); if (key_crc != crc) { nvme_msg(NULL, LOG_ERR, "CRC mismatch (key %08x, crc %08x)", key_crc, crc); diff --git a/src/nvme/linux.h b/src/nvme/linux.h index bd74262..8e5e8ad 100644 --- a/src/nvme/linux.h +++ b/src/nvme/linux.h @@ -129,6 +129,16 @@ int nvme_get_new_host_telemetry(int fd, struct nvme_telemetry_log **log, enum nvme_telemetry_da da, size_t *size); /** + * nvme_get_ana_log_len_from_id_ctrl() - Retrieve maximum possible ANA log size + * @id_ctrl: Controller identify data + * @rgo: If true, return maximum log page size without NSIDs + * + * Return: A byte limit on the size of the controller's ANA log page + */ +size_t nvme_get_ana_log_len_from_id_ctrl(const struct nvme_id_ctrl *id_ctrl, + bool rgo); + +/** * nvme_get_ana_log_len() - Retrieve size of the current ANA log * @fd: File descriptor of nvme device * @analen: Pointer to where the length will be set on success @@ -402,6 +412,17 @@ char *nvme_generate_tls_key_identity(const char *hostnqn, const char *subsysnqn, unsigned char *configured_key, int key_len); /** + * nvme_revoke_tls_key() - Revoke TLS key from keyring + * @keyring: Keyring to use + * @key_type: Type of the key to revoke + * @identity: Key identity string + * + * Return: 0 on success or on failure -1 with errno set. + */ +long nvme_revoke_tls_key(const char *keyring, const char *key_type, + const char *identity); + +/** * nvme_export_tls_key() - Export a TLS key * @key_data: Raw data of the key * @key_len: Length of @key_data diff --git a/src/nvme/log.c b/src/nvme/log.c index c98d213..eaf74e1 100644 --- a/src/nvme/log.c +++ b/src/nvme/log.c @@ -26,13 +26,18 @@ #define LOG_CLOCK CLOCK_MONOTONIC #endif -static nvme_root_t root; +static struct nvme_log def_log = { + .fd = STDERR_FILENO, + .level = DEFAULT_LOGLEVEL, + .pid = false, + .timestamp = false, +}; void __attribute__((format(printf, 4, 5))) -__nvme_msg(nvme_root_t r, int lvl, +__nvme_msg(nvme_root_t r, int level, const char *func, const char *format, ...) { - FILE *fp = stderr; + struct nvme_log *l; va_list ap; char pidbuf[16]; char timebuf[32]; @@ -50,18 +55,15 @@ __nvme_msg(nvme_root_t r, int lvl, _cleanup_free_ char *message = NULL; int idx = 0; - if (!r) - r = root; - if (r) - fp = r->fp; + l = &r->log; + else + l = &def_log; - if (r && lvl > r->log_level) - return; - if (!r && lvl > DEFAULT_LOGLEVEL) + if (level > l->level) return; - if (r && r->log_timestamp) { + if (l->timestamp) { struct timespec now; clock_gettime(LOG_CLOCK, &now); @@ -71,7 +73,7 @@ __nvme_msg(nvme_root_t r, int lvl, } else *timebuf = '\0'; - if (r && r->log_pid) { + if (l->pid) { snprintf(pidbuf, sizeof(pidbuf), "%ld", (long)getpid()); idx |= 1 << 1; } else @@ -89,42 +91,56 @@ __nvme_msg(nvme_root_t r, int lvl, message = NULL; va_end(ap); - fprintf(fp, "%s%s", + dprintf(l->fd, "%s%s", header ? header : "<error>", message ? message : "<error>"); } void nvme_init_logging(nvme_root_t r, int lvl, bool log_pid, bool log_tstamp) { - r->log_level = lvl; - r->log_pid = log_pid; - r->log_timestamp = log_tstamp; + r->log.level = lvl; + r->log.pid = log_pid; + r->log.timestamp = log_tstamp; } int nvme_get_logging_level(nvme_root_t r, bool *log_pid, bool *log_tstamp) { - if (!r) - r = root; - if (!r) - return DEFAULT_LOGLEVEL; + struct nvme_log *l; + + if (r) + l = &r->log; + else + l = &def_log; + if (log_pid) - *log_pid = r->log_pid; + *log_pid = l->pid; if (log_tstamp) - *log_tstamp = r->log_timestamp; - return r->log_level; + *log_tstamp = l->timestamp; + return l->level; +} + +void nvme_init_default_logging(FILE *fp, int level, bool log_pid, bool log_tstamp) +{ + def_log.fd = fileno(fp); + def_log.level = level; + def_log.pid = log_pid; + def_log.timestamp = log_tstamp; } void nvme_set_root(nvme_root_t r) { - root = r; + def_log.fd = r->log.fd; + def_log.level = r->log.level; + def_log.pid = r->log.pid; + def_log.timestamp = r->log.timestamp; } void nvme_set_debug(bool debug) { - root->log_level = debug ? LOG_DEBUG : DEFAULT_LOGLEVEL; + def_log.level = debug ? LOG_DEBUG : DEFAULT_LOGLEVEL; } bool nvme_get_debug(void) { - return root->log_level == LOG_DEBUG; + return def_log.level == LOG_DEBUG; } diff --git a/src/nvme/log.h b/src/nvme/log.h index cd243ea..80c642a 100644 --- a/src/nvme/log.h +++ b/src/nvme/log.h @@ -36,6 +36,18 @@ void nvme_init_logging(nvme_root_t r, int lvl, bool log_pid, bool log_tstamp); /** + * nvme_init_default_logging() - Initialize default (fallback) logging + * @fp: File descriptor for logging messages + * @lvl: Logging level to set + * @log_pid: Boolean to enable logging of the PID + * @log_tstamp: Boolean to enable logging of the timestamp + * + * Sets the default logging settings for the library in case the root object + * is absent. + */ +void nvme_init_default_logging(FILE *fp, int lvl, bool log_pid, bool log_tstamp); + +/** * nvme_get_logging_level() - Get current logging level * @r: nvme_root_t context * @log_pid: Pointer to store a current value of logging of @@ -59,24 +71,27 @@ int nvme_get_logging_level(nvme_root_t r, bool *log_pid, bool *log_tstamp); * will be set as well. This means the global root object is always pointing to * the latest created root object. Note the first @nvme_free_tree call will reset * the global root object. + * + * This function is deprecated. Use nvme_init_default_logging or/and + * nvme_init_logging instead. */ -void nvme_set_root(nvme_root_t r); +void nvme_set_root(nvme_root_t r) __attribute__((deprecated)); /** * nvme_set_debug - Set NVMe command debugging output * @debug: true to enable or false to disable * - * Don't use it, it's debricated. + * This function is deprecated. Use nvme_init_default_logging instead. */ -void nvme_set_debug(bool debug); +void nvme_set_debug(bool debug) __attribute__((deprecated)); /** * nvme_get_debug - Get NVMe command debugging output * - * Don't use it, it's debricated. + * This function is deprecated. Use nvme_get_logging_level instead. * * Return: false if disabled or true if enabled. */ -bool nvme_get_debug(void); +bool nvme_get_debug(void) __attribute__((deprecated)); #endif /* _LOG_H */ diff --git a/src/nvme/mi-mctp.c b/src/nvme/mi-mctp.c index 86c4c29..2f1c02d 100644 --- a/src/nvme/mi-mctp.c +++ b/src/nvme/mi-mctp.c @@ -506,8 +506,6 @@ nvme_mi_ep_t nvme_mi_open_mctp(nvme_root_t root, unsigned int netid, __u8 eid) */ ep->timeout = 5000; - nvme_mi_ep_probe(ep); - return ep; err_free_rspbuf: @@ -595,7 +593,7 @@ static int handle_mctp_endpoint(nvme_root_t root, const char* objpath, bool have_eid = false, have_net = false, have_nvmemi = false; mctp_eid_t eid; int net; - int rc; + int rc = 0; /* for each property */ for (;;) { diff --git a/src/nvme/mi.c b/src/nvme/mi.c index 84d51b0..d98c74a 100644 --- a/src/nvme/mi.c +++ b/src/nvme/mi.c @@ -11,6 +11,7 @@ #include <stdlib.h> #include <stdio.h> #include <time.h> +#include <unistd.h> #include <ccan/array_size/array_size.h> #include <ccan/endian/endian.h> @@ -41,18 +42,32 @@ static bool nvme_mi_probe_enabled_default(void) */ nvme_root_t nvme_mi_create_root(FILE *fp, int log_level) { - struct nvme_root *r = calloc(1, sizeof(*r)); + struct nvme_root *r; + int fd; + r = calloc(1, sizeof(*r)); if (!r) { + errno = ENOMEM; return NULL; } - r->log_level = log_level; - r->fp = stderr; + + if (fp) { + fd = fileno(fp); + if (fd < 0) { + free(r); + return NULL; + } + } else + fd = STDERR_FILENO; + + r->log.fd = fd; + r->log.level = log_level; + r->mi_probe_enabled = nvme_mi_probe_enabled_default(); - if (fp) - r->fp = fp; + list_head_init(&r->hosts); list_head_init(&r->endpoints); + return r; } @@ -128,6 +143,20 @@ void nvme_mi_ep_probe(struct nvme_mi_ep *ep) struct nvme_mi_ctrl *ctrl; int rc; + /* Ensure the probe occurs at most once. This isn't just to mitigate doubling + * a linear stream of commands, it also terminates recursion via the + * nvme_mi_submit() call issued by nvme_mi_admin_identify_partial() below. + */ + if (ep->quirks_probed) + return; + + /* Mark ep->quirks as valid. Note that for the purpose of quirk probing, + * the quirk probe itself cannot rely on quirks, and so the fact that none are + * yet set is desirable. The request that triggered nvme_mi_submit() will have + * an initialised ep->quirks when we return from the root probe call. + */ + ep->quirks_probed = true; + if (!ep->root->mi_probe_enabled) return; @@ -250,6 +279,7 @@ struct nvme_mi_ep *nvme_mi_init_ep(nvme_root_t root) list_node_init(&ep->root_entry); ep->root = root; + ep->quirks_probed = false; ep->controllers_scanned = false; ep->timeout = default_timeout; ep->mprt_max = 0; @@ -327,7 +357,7 @@ int nvme_mi_scan_ep(nvme_mi_ep_t ep, bool force_rescan) rc = nvme_mi_mi_read_mi_data_ctrl_list(ep, 0, &list); if (rc) - return -1; + return rc; n_ctrl = le16_to_cpu(list.num); if (n_ctrl > NVME_ID_CTRL_LIST_MAX) { @@ -413,6 +443,8 @@ int nvme_mi_submit(nvme_mi_ep_t ep, struct nvme_mi_req *req, return -1; } + nvme_mi_ep_probe(ep); + if (ep->transport->mic_enabled) nvme_mi_calc_req_mic(req); @@ -639,6 +671,7 @@ int nvme_mi_admin_admin_passthru(nvme_mi_ctrl_t ctrl, __u8 opcode, __u8 flags, struct nvme_mi_admin_req_hdr req_hdr; struct nvme_mi_resp resp; struct nvme_mi_req req; + unsigned int timeout_save; int rc; int direction = opcode & 0x3; bool has_write_data = false; @@ -665,11 +698,6 @@ int nvme_mi_admin_admin_passthru(nvme_mi_ctrl_t ctrl, __u8 opcode, __u8 flags, has_read_data = true; } - if (timeout_ms > nvme_mi_ep_get_timeout(ctrl->ep)) { - /* Set timeout if user needs a bigger timeout */ - nvme_mi_ep_set_timeout(ctrl->ep, timeout_ms); - } - nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, opcode); req_hdr.cdw1 = cpu_to_le32(nsid); req_hdr.cdw2 = cpu_to_le32(cdw2); @@ -701,7 +729,17 @@ int nvme_mi_admin_admin_passthru(nvme_mi_ctrl_t ctrl, __u8 opcode, __u8 flags, resp.data_len = data_len; } + /* if the user has specified a custom timeout, save the current + * timeout and override + */ + if (timeout_ms != 0) { + timeout_save = nvme_mi_ep_get_timeout(ctrl->ep); + nvme_mi_ep_set_timeout(ctrl->ep, timeout_ms); + } rc = nvme_mi_submit(ctrl->ep, &req, &resp); + if (timeout_ms != 0) + nvme_mi_ep_set_timeout(ctrl->ep, timeout_save); + if (rc) return rc; @@ -896,6 +934,133 @@ int nvme_mi_admin_get_log(nvme_mi_ctrl_t ctrl, struct nvme_get_log_args *args) return nvme_mi_admin_get_log_page(ctrl, 4096, args); } +static int read_ana_chunk(nvme_mi_ctrl_t ctrl, enum nvme_log_ana_lsp lsp, bool rae, + __u8 *log, __u8 **read, __u8 *to_read, __u8 *log_end) +{ + if (to_read > log_end) { + errno = ENOSPC; + return -1; + } + + while (*read < to_read) { + __u32 len = min(log_end - *read, NVME_LOG_PAGE_PDU_SIZE); + int ret; + + ret = nvme_mi_admin_get_log_ana(ctrl, lsp, rae, + *read - log, len, *read); + if (ret) + return ret; + + *read += len; + } + return 0; +} + +static int try_read_ana(nvme_mi_ctrl_t ctrl, enum nvme_log_ana_lsp lsp, bool rae, + struct nvme_ana_log *log, __u8 *log_end, + __u8 *read, __u8 **to_read, bool *may_retry) +{ + __u16 ngrps = le16_to_cpu(log->ngrps); + + while (ngrps--) { + __u8 *group = *to_read; + int ret; + __le32 nnsids; + + *to_read += sizeof(*log->descs); + ret = read_ana_chunk(ctrl, lsp, rae, + (__u8 *)log, &read, *to_read, log_end); + if (ret) { + /* + * If the provided buffer isn't long enough, + * the log page may have changed while reading it + * and the computed length was inaccurate. + * Have the caller check chgcnt and retry. + */ + *may_retry = errno == ENOSPC; + return ret; + } + + /* + * struct nvme_ana_group_desc has 8-byte alignment + * but the group pointer is only 4-byte aligned. + * Don't dereference the misaligned pointer. + */ + memcpy(&nnsids, + group + offsetof(struct nvme_ana_group_desc, nnsids), + sizeof(nnsids)); + *to_read += le32_to_cpu(nnsids) * sizeof(__le32); + ret = read_ana_chunk(ctrl, lsp, rae, + (__u8 *)log, &read, *to_read, log_end); + if (ret) { + *may_retry = errno == ENOSPC; + return ret; + } + } + + *may_retry = true; + return 0; +} + +int nvme_mi_admin_get_ana_log_atomic(nvme_mi_ctrl_t ctrl, bool rgo, bool rae, + unsigned int retries, + struct nvme_ana_log *log, __u32 *len) +{ + const enum nvme_log_ana_lsp lsp = + rgo ? NVME_LOG_ANA_LSP_RGO_GROUPS_ONLY : 0; + /* Get Log Page can only fetch multiples of dwords */ + __u8 * const log_end = (__u8 *)log + (*len & -4); + __u8 *read = (__u8 *)log; + __u8 *to_read; + int ret; + + if (!retries) { + errno = EINVAL; + return -1; + } + + to_read = (__u8 *)log->descs; + ret = read_ana_chunk(ctrl, lsp, rae, + (__u8 *)log, &read, to_read, log_end); + if (ret) + return ret; + + do { + bool may_retry = false; + int saved_ret; + int saved_errno; + __le64 chgcnt; + + saved_ret = try_read_ana(ctrl, lsp, rae, log, log_end, + read, &to_read, &may_retry); + /* + * If the log page was read with multiple Get Log Page commands, + * chgcnt must be checked afterwards to ensure atomicity + */ + *len = to_read - (__u8 *)log; + if (*len <= NVME_LOG_PAGE_PDU_SIZE || !may_retry) + return saved_ret; + + saved_errno = errno; + chgcnt = log->chgcnt; + read = (__u8 *)log; + to_read = (__u8 *)log->descs; + ret = read_ana_chunk(ctrl, lsp, rae, + (__u8 *)log, &read, to_read, log_end); + if (ret) + return ret; + + if (log->chgcnt == chgcnt) { + /* Log hasn't changed; return try_read_ana() result */ + errno = saved_errno; + return saved_ret; + } + } while (--retries); + + errno = EAGAIN; + return -1; +} + int nvme_mi_admin_security_send(nvme_mi_ctrl_t ctrl, struct nvme_security_send_args *args) { @@ -1003,8 +1168,10 @@ int nvme_mi_admin_get_features(nvme_mi_ctrl_t ctrl, struct nvme_mi_req req; int rc; - if (args->args_size < sizeof(*args)) - return -EINVAL; + if (args->args_size < sizeof(*args)) { + errno = EINVAL; + return -1; + } nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, nvme_admin_get_features); @@ -1042,8 +1209,10 @@ int nvme_mi_admin_set_features(nvme_mi_ctrl_t ctrl, struct nvme_mi_req req; int rc; - if (args->args_size < sizeof(*args)) - return -EINVAL; + if (args->args_size < sizeof(*args)) { + errno = EINVAL; + return -1; + } nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, nvme_admin_set_features); @@ -1140,8 +1309,10 @@ int nvme_mi_admin_ns_attach(nvme_mi_ctrl_t ctrl, struct nvme_mi_req req; int rc; - if (args->args_size < sizeof(*args)) - return -EINVAL; + if (args->args_size < sizeof(*args)) { + errno = EINVAL; + return -1; + } nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, nvme_admin_ns_attach); @@ -1173,17 +1344,20 @@ int nvme_mi_admin_fw_download(nvme_mi_ctrl_t ctrl, struct nvme_mi_req req; int rc; - if (args->args_size < sizeof(*args)) - return -EINVAL; - - if (args->data_len & 0x3) - return -EINVAL; + if (args->args_size < sizeof(*args)) { + errno = EINVAL; + return -1; + } - if (args->offset & 0x3) - return -EINVAL; + if ((args->data_len & 0x3) || (!args->data_len)) { + errno = EINVAL; + return -1; + } - if (!args->data_len) - return -EINVAL; + if (args->offset & 0x3) { + errno = EINVAL; + return -1; + } nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, nvme_admin_fw_download); @@ -1215,8 +1389,10 @@ int nvme_mi_admin_fw_commit(nvme_mi_ctrl_t ctrl, struct nvme_mi_req req; int rc; - if (args->args_size < sizeof(*args)) - return -EINVAL; + if (args->args_size < sizeof(*args)) { + errno = EINVAL; + return -1; + } nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, nvme_admin_fw_commit); @@ -1245,8 +1421,10 @@ int nvme_mi_admin_format_nvm(nvme_mi_ctrl_t ctrl, struct nvme_mi_req req; int rc; - if (args->args_size < sizeof(*args)) - return -EINVAL; + if (args->args_size < sizeof(*args)) { + errno = EINVAL; + return -1; + } nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, nvme_admin_format_nvm); @@ -1279,8 +1457,10 @@ int nvme_mi_admin_sanitize_nvm(nvme_mi_ctrl_t ctrl, struct nvme_mi_req req; int rc; - if (args->args_size < sizeof(*args)) - return -EINVAL; + if (args->args_size < sizeof(*args)) { + errno = EINVAL; + return -1; + } nvme_mi_admin_init_req(&req, &req_hdr, ctrl->id, nvme_admin_sanitize_nvm); diff --git a/src/nvme/mi.h b/src/nvme/mi.h index bd26627..ae32a90 100644 --- a/src/nvme/mi.h +++ b/src/nvme/mi.h @@ -1917,7 +1917,7 @@ static inline int nvme_mi_admin_get_log_predictable_lat_event(nvme_mi_ctrl_t ctr * the asymmetric namespace access information for ANA Groups that contain * namespaces that are attached to the controller processing the command. * - * See &struct nvme_ana_rsp_hdr for the definition of the returned structure. + * See &struct nvme_ana_log for the definition of the returned structure. * * Return: The nvme command status if a response was received (see * &enum nvme_status_field) or -1 with errno set otherwise. @@ -1938,7 +1938,7 @@ static inline int nvme_mi_admin_get_log_ana(nvme_mi_ctrl_t ctrl, .lsi = NVME_LOG_LSI_NONE, .lsp = (__u8)lsp, .uuidx = NVME_UUID_NONE, - .rae = false, + .rae = rae, .ot = false, }; return nvme_mi_admin_get_log(ctrl, &args); @@ -1966,6 +1966,31 @@ static inline int nvme_mi_admin_get_log_ana_groups(nvme_mi_ctrl_t ctrl, } /** + * nvme_mi_admin_get_ana_log_atomic() - Retrieve Asymmetric Namespace Access + * log page atomically + * @ctrl: Controller to query + * @rgo: Whether to retrieve ANA groups only (no NSIDs) + * @rae: Whether to retain asynchronous events + * @retries: The maximum number of times to retry on log page changes + * @log: Pointer to a buffer to receive the ANA log page + * @len: Input: the length of the log page buffer. + * Output: the actual length of the ANA log page. + * + * See &struct nvme_ana_log for the definition of the returned structure. + * + * Return: If successful, returns 0 and sets *len to the actual log page length. + * If unsuccessful, returns the nvme command status if a response was received + * (see &enum nvme_status_field) or -1 with errno set otherwise. + * Sets errno = EINVAL if retries == 0. + * Sets errno = EAGAIN if unable to read the log page atomically + * because chgcnt changed during each of the retries attempts. + * Sets errno = ENOSPC if the full log page does not fit in the provided buffer. + */ +int nvme_mi_admin_get_ana_log_atomic(nvme_mi_ctrl_t ctrl, bool rgo, bool rae, + unsigned int retries, + struct nvme_ana_log *log, __u32 *len); + +/** * nvme_mi_admin_get_log_lba_status() - Retrieve LBA Status * @ctrl: Controller to query * @rae: Retain asynchronous events diff --git a/src/nvme/private.h b/src/nvme/private.h index dec3d85..3fa5aca 100644 --- a/src/nvme/private.h +++ b/src/nvme/private.h @@ -160,17 +160,22 @@ struct nvme_fabric_options { bool trsvcid; }; +struct nvme_log { + int fd; + int level; + bool pid; + bool timestamp; +}; + struct nvme_root { char *config_file; char *application; struct list_head hosts; struct list_head endpoints; /* MI endpoints */ - FILE *fp; - int log_level; - bool log_pid; - bool log_timestamp; + struct nvme_log log; bool modified; bool mi_probe_enabled; + bool create_only; struct nvme_fabric_options *options; }; @@ -198,14 +203,10 @@ void *__nvme_realloc(void *p, size_t len); #endif void __attribute__((format(printf, 4, 5))) -__nvme_msg(nvme_root_t r, int lvl, const char *func, const char *format, ...); +__nvme_msg(nvme_root_t r, int level, const char *func, const char *format, ...); -#define nvme_msg(r, lvl, format, ...) \ - do { \ - if ((lvl) <= MAX_LOGLEVEL) \ - __nvme_msg(r, lvl, __nvme_log_func, \ - format, ##__VA_ARGS__); \ - } while (0) +#define nvme_msg(r, level, format, ...) \ + __nvme_msg(r, level, __nvme_log_func, format, ##__VA_ARGS__) #define root_from_ctrl(c) ((c)->s && (c)->s->h ? (c)->s->h->r : NULL) #define root_from_ns(n) ((n)->s && (n)->s->h ? (n)->s->h->r : \ @@ -256,6 +257,7 @@ struct nvme_mi_ep { void *transport_data; struct list_node root_entry; struct list_head controllers; + bool quirks_probed; bool controllers_scanned; unsigned int timeout; unsigned int mprt_max; diff --git a/src/nvme/tree.c b/src/nvme/tree.c index eb9486d..3722461 100644 --- a/src/nvme/tree.c +++ b/src/nvme/tree.c @@ -117,16 +117,99 @@ static void cleanup_dirents(struct dirents *ents) #define _cleanup_dirents_ __cleanup__(cleanup_dirents) +static char *nvme_hostid_from_hostnqn(const char *hostnqn) +{ + const char *uuid; + + uuid = strstr(hostnqn, "uuid:"); + if (!uuid) + return NULL; + + return strdup(uuid + strlen("uuid:")); +} + +int nvme_host_get_ids(nvme_root_t r, + char *hostnqn_arg, char *hostid_arg, + char **hostnqn, char **hostid) +{ + _cleanup_free_ char *nqn = NULL; + _cleanup_free_ char *hid = NULL; + _cleanup_free_ char *hnqn = NULL; + nvme_host_t h; + + /* command line argumments */ + if (hostid_arg) + hid = strdup(hostid_arg); + if (hostnqn_arg) + hnqn = strdup(hostnqn_arg); + + /* JSON config: assume the first entry is the default host */ + h = nvme_first_host(r); + if (h) { + if (!hid) + hid = strdup(nvme_host_get_hostid(h)); + if (!hnqn) + hnqn = strdup(nvme_host_get_hostnqn(h)); + } + + /* /etc/nvme/hostid and/or /etc/nvme/hostnqn */ + if (!hid) + hid = nvmf_hostid_from_file(); + if (!hnqn) + hnqn = nvmf_hostnqn_from_file(); + + /* incomplete configuration, thus derive hostid from hostnqn */ + if (!hid && hnqn) + hid = nvme_hostid_from_hostnqn(hnqn); + + /* + * fallback to use either DMI information or device-tree. If all + * fails generate one + */ + if (!hid) { + hid = nvmf_hostid_generate(); + if (!hid) { + errno = -ENOMEM; + return -1; + } + + nvme_msg(r, LOG_DEBUG, + "warning: using auto generated hostid and hostnqn\n"); + } + + /* incomplete configuration, thus derive hostnqn from hostid */ + if (!hnqn) { + hnqn = nvmf_hostnqn_generate_from_hostid(hid); + if (!hnqn) { + errno = -ENOMEM; + return -1; + } + } + + /* sanity checks */ + nqn = nvme_hostid_from_hostnqn(hnqn); + if (nqn && strcmp(nqn, hid)) { + nvme_msg(r, LOG_DEBUG, + "warning: use hostid '%s' which does not match uuid in hostnqn '%s'\n", + hid, hnqn); + } + + *hostid = hid; + *hostnqn = hnqn; + hid = NULL; + hnqn = NULL; + + return 0; +} + nvme_host_t nvme_default_host(nvme_root_t r) { - struct nvme_host *h; _cleanup_free_ char *hostnqn = NULL; _cleanup_free_ char *hostid = NULL; + struct nvme_host *h; - hostnqn = nvmf_hostnqn_from_file(); - if (!hostnqn) - hostnqn = nvmf_hostnqn_generate(); - hostid = nvmf_hostid_from_file(); + if (nvme_host_get_ids(r, NULL, NULL, &hostnqn, &hostid)) + return NULL; h = nvme_lookup_host(r, hostnqn, hostid); @@ -187,25 +270,37 @@ int nvme_scan_topology(struct nvme_root *r, nvme_scan_filter_t f, void *f_args) nvme_root_t nvme_create_root(FILE *fp, int log_level) { - struct nvme_root *r = calloc(1, sizeof(*r)); + struct nvme_root *r; + int fd; + r = calloc(1, sizeof(*r)); if (!r) { errno = ENOMEM; return NULL; } - r->log_level = log_level; - r->fp = stderr; - if (fp) - r->fp = fp; + + if (fp) { + fd = fileno(fp); + if (fd < 0) { + free(r); + return NULL; + } + } else + fd = STDERR_FILENO; + + r->log.fd = fd; + r->log.level = log_level; + list_head_init(&r->hosts); list_head_init(&r->endpoints); - nvme_set_root(r); + return r; } int nvme_read_config(nvme_root_t r, const char *config_file) { int err = -1; + int tmp; if (!r || !config_file) { errno = ENODEV; @@ -217,13 +312,17 @@ int nvme_read_config(nvme_root_t r, const char *config_file) errno = ENOMEM; return err; } + + tmp = errno; err = json_read_config(r, config_file); /* * The json configuration file is optional, * so ignore errors when opening the file. */ - if (err < 0 && errno != EPROTO) - err = 0; + if (err < 0 && errno != EPROTO) { + errno = tmp; + return 0; + } return err; } @@ -270,6 +369,11 @@ void nvme_root_set_application(nvme_root_t r, const char *a) r->application = strdup(a); } +void nvme_root_skip_namespaces(nvme_root_t r) +{ + r->create_only = true; +} + nvme_host_t nvme_first_host(nvme_root_t r) { return list_top(&r->hosts, struct nvme_host, entry); @@ -361,14 +465,17 @@ void nvme_free_tree(nvme_root_t r) { struct nvme_host *h, *_h; - free(r->options); + if (!r) + return; + + if (r->options) + free(r->options); nvme_for_each_host_safe(r, h, _h) __nvme_free_host(h); if (r->config_file) free(r->config_file); if (r->application) free(r->application); - nvme_set_root(NULL); free(r); } @@ -538,7 +645,7 @@ struct nvme_subsystem *nvme_alloc_subsystem(struct nvme_host *h, list_head_init(&s->ctrls); list_head_init(&s->namespaces); list_node_init(&s->entry); - list_add(&h->subsystems, &s->entry); + list_add_tail(&h->subsystems, &s->entry); h->r->modified = true; return s; } @@ -622,7 +729,7 @@ struct nvme_host *nvme_lookup_host(nvme_root_t r, const char *hostnqn, list_head_init(&h->subsystems); list_node_init(&h->entry); h->r = r; - list_add(&r->hosts, &h->entry); + list_add_tail(&r->hosts, &h->entry); r->modified = true; return h; @@ -634,6 +741,12 @@ static int nvme_subsystem_scan_namespaces(nvme_root_t r, nvme_subsystem_t s, _cleanup_dirents_ struct dirents namespaces = {}; int i, ret; + if (r->create_only) { + nvme_msg(r, LOG_DEBUG, + "skipping namespace scan for subsys %s\n", + s->subsysnqn); + return 0; + } namespaces.num = nvme_scan_subsystem_namespaces(s, &namespaces.ents); if (namespaces.num < 0) { nvme_msg(r, LOG_DEBUG, @@ -806,7 +919,7 @@ static void nvme_subsystem_set_path_ns(nvme_subsystem_t s, nvme_path_t p) sprintf(n_name, "nvme%dn%d", i, nsid); nvme_subsystem_for_each_ns(s, n) { if (!strcmp(n_name, nvme_ns_get_name(n))) { - list_add(&n->paths, &p->nentry); + list_add_tail(&n->paths, &p->nentry); p->n = n; } } @@ -852,7 +965,7 @@ static int nvme_ctrl_scan_path(nvme_root_t r, struct nvme_ctrl *c, char *name) list_node_init(&p->nentry); nvme_subsystem_set_path_ns(c->s, p); list_node_init(&p->entry); - list_add(&c->paths, &p->entry); + list_add_tail(&c->paths, &p->entry); return 0; } @@ -1591,8 +1704,8 @@ nvme_ctrl_t __nvme_lookup_ctrl(nvme_subsystem_t s, const char *transport, const char *host_iface, const char *trsvcid, const char *subsysnqn, nvme_ctrl_t p) { + _cleanup_candidate_ struct candidate_args candidate = {}; struct nvme_ctrl *c, *matching_c = NULL; - _cleanup_candidate_ struct candidate_args candidate; ctrl_match_t ctrl_match; /* Init candidate and get the matching function to use */ @@ -1615,8 +1728,8 @@ bool nvme_ctrl_config_match(struct nvme_ctrl *c, const char *transport, const char *subsysnqn, const char *host_traddr, const char *host_iface) { + _cleanup_candidate_ struct candidate_args candidate = {}; ctrl_match_t ctrl_match; - _cleanup_candidate_ struct candidate_args candidate; /* Init candidate and get the matching function to use */ ctrl_match = _candidate_init(&candidate, transport, traddr, trsvcid, @@ -1655,7 +1768,7 @@ nvme_ctrl_t nvme_lookup_ctrl(nvme_subsystem_t s, const char *transport, host_traddr, host_iface, trsvcid); if (c) { c->s = s; - list_add(&s->ctrls, &c->entry); + list_add_tail(&s->ctrls, &c->entry); s->h->r->modified = true; } return c; @@ -1666,6 +1779,11 @@ static int nvme_ctrl_scan_paths(nvme_root_t r, struct nvme_ctrl *c) _cleanup_dirents_ struct dirents paths = {}; int i; + if (r->create_only) { + nvme_msg(r, LOG_DEBUG, + "skipping path scan for ctrl %s\n", c->name); + return 0; + } paths.num = nvme_scan_ctrl_namespace_paths(c, &paths.ents); if (paths.num < 0) return paths.num; @@ -1681,6 +1799,11 @@ static int nvme_ctrl_scan_namespaces(nvme_root_t r, struct nvme_ctrl *c) _cleanup_dirents_ struct dirents namespaces = {}; int i; + if (r->create_only) { + nvme_msg(r, LOG_DEBUG, "skipping namespace scan for ctrl %s\n", + c->name); + return 0; + } namespaces.num = nvme_scan_ctrl_namespaces(c, &namespaces.ents); for (i = 0; i < namespaces.num; i++) nvme_ctrl_scan_namespace(r, c, namespaces.ents[i]->d_name); @@ -1749,6 +1872,10 @@ static char *nvme_ctrl_lookup_phy_slot(nvme_root_t r, const char *address) return NULL; } addr = nvme_get_attr(path, "address"); + + /* some directories don't have an address entry */ + if (!addr) + continue; if (strcmp(addr, target_addr) == 0) return strdup(entry->d_name); } @@ -1861,7 +1988,7 @@ int nvme_init_ctrl(nvme_host_t h, nvme_ctrl_t c, int instance) if (s->subsystype && !strcmp(s->subsystype, "discovery")) c->discovery_ctrl = true; c->s = s; - list_add(&s->ctrls, &c->entry); + list_add_tail(&s->ctrls, &c->entry); return ret; } @@ -2635,7 +2762,7 @@ static int nvme_ctrl_scan_namespace(nvme_root_t r, struct nvme_ctrl *c, } n->s = c->s; n->c = c; - list_add(&c->namespaces, &n->entry); + list_add_tail(&c->namespaces, &n->entry); return 0; } @@ -2658,7 +2785,7 @@ static void nvme_subsystem_set_ns_path(nvme_subsystem_t s, nvme_ns_t n) if (ret != 3) continue; if (ns_ctrl == p_subsys && ns_nsid == p_nsid) { - list_add(&n->paths, &p->nentry); + list_add_tail(&n->paths, &p->nentry); p->n = n; } } @@ -2696,7 +2823,7 @@ static int nvme_subsystem_scan_namespace(nvme_root_t r, nvme_subsystem_t s, __nvme_free_ns(_n); } n->s = s; - list_add(&s->namespaces, &n->entry); + list_add_tail(&s->namespaces, &n->entry); nvme_subsystem_set_ns_path(s, n); return 0; } diff --git a/src/nvme/tree.h b/src/nvme/tree.h index 5e82579..1b583cd 100644 --- a/src/nvme/tree.h +++ b/src/nvme/tree.h @@ -63,6 +63,14 @@ void nvme_root_set_application(nvme_root_t r, const char *a); const char *nvme_root_get_application(nvme_root_t r); /** + * nvme_root_skip_namespaces - Skip namespace scanning + * @r: &nvme_root_t object + * + * Sets a flag to skip namespaces during scanning. + */ +void nvme_root_skip_namespaces(nvme_root_t r); + +/** * nvme_root_release_fds - Close all opened file descriptors in the tree * @r: &nvme_root_t object * @@ -161,14 +169,49 @@ bool nvme_host_is_pdc_enabled(nvme_host_t h, bool fallback); * nvme_default_host() - Initializes the default host * @r: &nvme_root_t object * - * Initializes the default host object based on the values in - * /etc/nvme/hostnqn and /etc/nvme/hostid and attaches it to @r. + * Initializes the default host object based on the hostnqn/hostid + * values returned by nvme_host_get_ids() and attaches it to @r. * * Return: &nvme_host_t object */ nvme_host_t nvme_default_host(nvme_root_t r); /** + * nvme_host_get_ids - Retrieve host ids from various sources + * + * @r: &nvme_root_t object + * @hostnqn_arg: Input hostnqn (command line) argument + * @hostid_arg: Input hostid (command line) argument + * @hostnqn: Output hostnqn + * @hostid: Output hostid + * + * nvme_host_get_ids figures out which hostnqn/hostid is to be used. + * There are several sources where this information can be retrieved. + * + * The order is: + * + * - Start with informartion from DMI or device-tree + * - Override hostnqn and hostid from /etc/nvme files + * - Override hostnqn or hostid with values from JSON + * configuration file. The first host entry in the file is + * considered the default host. + * - Override hostnqn or hostid with values from the command line + * (@hostnqn_arg, @hostid_arg). + * + * If the IDs are still NULL after the lookup algorithm, the function + * will generate random IDs. + * + * The function also verifies that hostnqn and hostid matches. The Linux + * NVMe implementation expects a 1:1 matching between the IDs. + * + * Return: 0 on success (@hostnqn and @hostid contain valid strings + * which the caller needs to free), -1 otherwise and errno is set. + */ +int nvme_host_get_ids(nvme_root_t r, + char *hostnqn_arg, char *hostid_arg, + char **hostnqn, char **hostid); + +/** * nvme_first_subsystem() - Start subsystem iterator * @h: &nvme_host_t object * diff --git a/src/nvme/types.h b/src/nvme/types.h index 26e5e25..5fa969d 100644 --- a/src/nvme/types.h +++ b/src/nvme/types.h @@ -1570,6 +1570,8 @@ enum nvme_id_ctrl_oaes { * @NVME_CTRL_CTRATT_DEL_ENDURANCE_GROUPS: Delete Endurance Groups supported * @NVME_CTRL_CTRATT_DEL_NVM_SETS: Delete NVM Sets supported * @NVME_CTRL_CTRATT_ELBAS: Extended LBA Formats supported + * @NVME_CTRL_CTRATT_MEM: MDTS and Size Limits Exclude Metadata supported + * @NVME_CTRL_CTRATT_HMBR: HMB Restrict Non-Operational Power State Access * @NVME_CTRL_CTRATT_FDPS: Flexible Data Placement supported */ enum nvme_id_ctrl_ctratt { @@ -1589,6 +1591,8 @@ enum nvme_id_ctrl_ctratt { NVME_CTRL_CTRATT_DEL_ENDURANCE_GROUPS = 1 << 13, NVME_CTRL_CTRATT_DEL_NVM_SETS = 1 << 14, NVME_CTRL_CTRATT_ELBAS = 1 << 15, + NVME_CTRL_CTRATT_MEM = 1 << 16, + NVME_CTRL_CTRATT_HMBR = 1 << 17, NVME_CTRL_CTRATT_FDPS = 1 << 19, }; @@ -2298,7 +2302,7 @@ enum nvme_id_nsfeat { NVME_NS_FEAT_NATOMIC = 1 << 1, NVME_NS_FEAT_DULBE = 1 << 2, NVME_NS_FEAT_ID_REUSE = 1 << 3, - NVME_NS_FEAT_IO_OPT = 1 << 4, + NVME_NS_FEAT_IO_OPT = 3 << 4, }; /** @@ -2332,10 +2336,31 @@ enum nvme_id_ns_flbas { * the variable-sized storage tag/reference tag fields * @NVME_NVM_ELBAF_PIF_MASK: Mask to get the protection information format for * the extended LBA format. + * @NVME_NVM_ELBAF_QPIF_MASK: Mask to get the Qualified Protection Information + * Format. */ enum nvme_nvm_id_ns_elbaf { NVME_NVM_ELBAF_STS_MASK = 127 << 0, NVME_NVM_ELBAF_PIF_MASK = 3 << 7, + NVME_NVM_ELBAF_QPIF_MASK = 15 << 9, +}; + +/** + * enum nvme_nvm_id_ns_pif - This field indicates the type of the Protection + * Information Format + * @NVME_NVM_PIF_16B_GUARD: 16-bit Guard Protection Information Format + * @NVME_NVM_PIF_32B_GUARD: 32-bit Guard Protection Information Format + * @NVME_NVM_PIF_64B_GUARD: 64-bit Guard Protection Information Format + * @NVME_NVM_PIF_QTYPE: If Qualified Protection Information Format Supports + * and Protection Information Format is set to 3, then + * protection information format is taken from Qualified + * Protection Information Format field. + */ +enum nvme_nvm_id_ns_pif { + NVME_NVM_PIF_16B_GUARD = 0, + NVME_NVM_PIF_32B_GUARD = 1, + NVME_NVM_PIF_64B_GUARD = 2, + NVME_NVM_PIF_QTYPE = 3, }; /** @@ -2683,32 +2708,44 @@ struct nvme_ns_list { * @dmrl: Dataset Management Ranges Limit * @dmrsl: Dataset Management Range Size Limit * @dmsl: Dataset Management Size Limit - * @rsvd16: reserved + * @rsvd16: Reserved + * @aocs: Admin Optional Command Support + * @rsvd20: Reserved */ struct nvme_id_ctrl_nvm { - __u8 vsl; - __u8 wzsl; - __u8 wusl; - __u8 dmrl; - __le32 dmrsl; - __le64 dmsl; - __u8 rsvd16[4080]; + __u8 vsl; + __u8 wzsl; + __u8 wusl; + __u8 dmrl; + __le32 dmrsl; + __le64 dmsl; + __u8 rsvd16[2]; + __le16 aocs; + __u8 rsvd20[4076]; }; /** * struct nvme_nvm_id_ns - NVME Command Set I/O Command Set Specific Identify Namespace Data Structure * @lbstm: Logical Block Storage Tag Mask * @pic: Protection Information Capabilities - * @rsvd9: Reserved + * @pifa: Protection Information Format Attribute + * @rsvd10: Reserved * @elbaf: List of Extended LBA Format Support - * @rsvd268: Reserved + * @npdgl: Namespace Preferred Deallocate Granularity Large + * @rsvd272: Reserved + * @tlbaag: Tracked LBA Allocation Granularity + * @rsvd296: Reserved */ struct nvme_nvm_id_ns { __le64 lbstm; __u8 pic; - __u8 rsvd9[3]; + __u8 pifa; + __u8 rsvd10[2]; __le32 elbaf[64]; - __u8 rsvd268[3828]; + __le32 npdgl; + __u8 rsvd272[20]; + __le32 tlbaag; + __u8 rsvd296[3800]; }; /** @@ -3847,6 +3884,8 @@ struct nvme_persistent_event_entry { * @NVME_PEL_SET_FEATURE_EVENT: Set Feature Event * @NVME_PEL_TELEMETRY_CRT: Telemetry Log Create Event * @NVME_PEL_THERMAL_EXCURSION_EVENT: Thermal Excursion Event + * @NVME_PEL_VENDOR_SPECIFIC_EVENT: Vendor Specific Event + * @NVME_PEL_TCG_DEFINED_EVENT: TCG Defined Event */ enum nvme_persistent_event_types { NVME_PEL_SMART_HEALTH_EVENT = 0x01, @@ -3862,6 +3901,8 @@ enum nvme_persistent_event_types { NVME_PEL_SET_FEATURE_EVENT = 0x0b, NVME_PEL_TELEMETRY_CRT = 0x0c, NVME_PEL_THERMAL_EXCURSION_EVENT = 0x0d, + NVME_PEL_VENDOR_SPECIFIC_EVENT = 0xde, + NVME_PEL_TCG_DEFINED_EVENT = 0xdf, }; /** @@ -4138,14 +4179,18 @@ struct nvme_lbas_ns_element { }; /** - * enum nvme_lba_status_atype - Potentially Unrecoverable LBAs - * @NVME_LBA_STATUS_ATYPE_SCAN_UNTRACKED: Potentially Unrecoverable LBAs - * @NVME_LBA_STATUS_ATYPE_SCAN_TRACKED: Potentially Unrecoverable LBAs - * associated with physical storage + * enum nvme_lba_status_atype - Action type the controller uses to return LBA status + * @NVME_LBA_STATUS_ATYPE_ALLOCATED: Return tracked allocated LBAs status + * @NVME_LBA_STATUS_ATYPE_SCAN_UNTRACKED: Perform scan and return Untracked and + * Tracked Potentially Unrecoverable LBAs + * status + * @NVME_LBA_STATUS_ATYPE_TRACKED: Return Tracked Potentially Unrecoverable + * LBAs associated with physical storage */ enum nvme_lba_status_atype { - NVME_LBA_STATUS_ATYPE_SCAN_UNTRACKED = 0x10, - NVME_LBA_STATUS_ATYPE_SCAN_TRACKED = 0x11, + NVME_LBA_STATUS_ATYPE_ALLOCATED = 0x2, + NVME_LBA_STATUS_ATYPE_SCAN_UNTRACKED = 0x10, + NVME_LBA_STATUS_ATYPE_TRACKED = 0x11, }; /** @@ -8248,6 +8293,7 @@ enum nvme_data_tfr { * @nvme_cmd_resv_acquire: Reservation Acquire * @nvme_cmd_io_mgmt_recv: I/O Management Receive * @nvme_cmd_resv_release: Reservation Release + * @nvme_cmd_cancel: Cancel * @nvme_cmd_copy: Copy * @nvme_cmd_io_mgmt_send: I/O Management Send * @nvme_zns_cmd_mgmt_send: Zone Management Send @@ -8268,6 +8314,7 @@ enum nvme_io_opcode { nvme_cmd_resv_acquire = 0x11, nvme_cmd_io_mgmt_recv = 0x12, nvme_cmd_resv_release = 0x15, + nvme_cmd_cancel = 0x18, nvme_cmd_copy = 0x19, nvme_cmd_io_mgmt_send = 0x1d, nvme_zns_cmd_mgmt_send = 0x79, diff --git a/src/nvme/util.c b/src/nvme/util.c index 7404509..ce0ce76 100644 --- a/src/nvme/util.c +++ b/src/nvme/util.c @@ -1144,7 +1144,7 @@ void *__nvme_realloc(void *p, size_t len) void *result = __nvme_alloc(len); - if (p) { + if (p && result) { memcpy(result, p, min(old_len, len)); free(p); } diff --git a/test/config/config-diff.sh b/test/config/config-diff.sh new file mode 100644 index 0000000..c15b42c --- /dev/null +++ b/test/config/config-diff.sh @@ -0,0 +1,24 @@ +#!/bin/bash -e +# SPDX-License-Identifier: LGPL-2.1-or-later + +BUILD_DIR=$1 +CONFIG_DUMP=$2 +SYSDIR_INPUT=$3 +CONFIG_JSON=$4 +EXPECTED_OUTPUT=$5 + +ACTUAL_OUTPUT="${BUILD_DIR}"/$(basename "${EXPECTED_OUTPUT}") + +TEST_NAME="$(basename -s .tar.xz $SYSDIR_INPUT)" +TEST_DIR="$BUILD_DIR/$TEST_NAME" + +rm -rf "${TEST_DIR}" +mkdir "${TEST_DIR}" +tar -x -f "${SYSDIR_INPUT}" -C "${TEST_DIR}" + +LIBNVME_SYSFS_PATH="$TEST_DIR" \ +LIBNVME_HOSTNQN=nqn.2014-08.org.nvmexpress:uuid:ce4fee3e-c02c-11ee-8442-830d068a36c6 \ +LIBNVME_HOSTID=ce4fee3e-c02c-11ee-8442-830d068a36c6 \ +"${CONFIG_DUMP}" "${CONFIG_JSON}" > "${ACTUAL_OUTPUT}" || echo "test failed" + +diff -u "${EXPECTED_OUTPUT}" "${ACTUAL_OUTPUT}" diff --git a/test/config/config-dump.c b/test/config/config-dump.c new file mode 100644 index 0000000..c0c8e73 --- /dev/null +++ b/test/config/config-dump.c @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/** + * This file is part of libnvme. + * Copyright (c) 2024 Daniel Wagner, SUSE LLC + */ + +#include <string.h> +#include <stdbool.h> +#include <stdlib.h> +#include <errno.h> + +#include <libnvme.h> + +static bool config_dump(const char *file) +{ + bool pass = false; + nvme_root_t r; + int err; + + r = nvme_create_root(stderr, LOG_ERR); + if (!r) + return false; + + err = nvme_scan_topology(r, NULL, NULL); + if (err) { + if (errno != ENOENT) + goto out; + } + + err = nvme_read_config(r, file); + if (err) + goto out; + + err = nvme_dump_config(r); + if (err) + goto out; + + pass = true; + +out: + nvme_free_tree(r); + return pass; +} + +int main(int argc, char *argv[]) +{ + bool pass; + + pass = config_dump(argv[1]); + fflush(stdout); + + exit(pass ? EXIT_SUCCESS : EXIT_FAILURE); +} diff --git a/test/config/data/config-pcie-with-tcp-config.json b/test/config/data/config-pcie-with-tcp-config.json new file mode 100644 index 0000000..6810f75 --- /dev/null +++ b/test/config/data/config-pcie-with-tcp-config.json @@ -0,0 +1,48 @@ +[ + { + "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:2cd2c43b-a90a-45c1-a8cd-86b33ab273b5", + "hostid":"2cd2c43b-a90a-45c1-a8cd-86b33ab273b5", + "subsystems":[ + { + "nqn":"nqn.io-1", + "ports":[ + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4420", + "dhchap_key":"none" + }, + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4421", + "dhchap_key":"none" + } + ] + } + ] + }, + { + "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:befdec4c-2234-11b2-a85c-ca77c773af36", + "hostid":"befdec4c-2234-11b2-a85c-ca77c773af36", + "subsystems":[ + { + "nqn":"nqn.io-1", + "ports":[ + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4420", + "dhchap_key":"none" + }, + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4421", + "dhchap_key":"none" + } + ] + } + ] + } +] diff --git a/test/config/data/config-pcie-with-tcp-config.out b/test/config/data/config-pcie-with-tcp-config.out new file mode 100644 index 0000000..6810f75 --- /dev/null +++ b/test/config/data/config-pcie-with-tcp-config.out @@ -0,0 +1,48 @@ +[ + { + "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:2cd2c43b-a90a-45c1-a8cd-86b33ab273b5", + "hostid":"2cd2c43b-a90a-45c1-a8cd-86b33ab273b5", + "subsystems":[ + { + "nqn":"nqn.io-1", + "ports":[ + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4420", + "dhchap_key":"none" + }, + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4421", + "dhchap_key":"none" + } + ] + } + ] + }, + { + "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:befdec4c-2234-11b2-a85c-ca77c773af36", + "hostid":"befdec4c-2234-11b2-a85c-ca77c773af36", + "subsystems":[ + { + "nqn":"nqn.io-1", + "ports":[ + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4420", + "dhchap_key":"none" + }, + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4421", + "dhchap_key":"none" + } + ] + } + ] + } +] diff --git a/test/config/data/config-pcie-with-tcp-config.tar.xz b/test/config/data/config-pcie-with-tcp-config.tar.xz Binary files differnew file mode 100644 index 0000000..73c9f62 --- /dev/null +++ b/test/config/data/config-pcie-with-tcp-config.tar.xz diff --git a/test/config/data/config-pcie.json b/test/config/data/config-pcie.json new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/config/data/config-pcie.json diff --git a/test/config/data/config-pcie.out b/test/config/data/config-pcie.out new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/config/data/config-pcie.out diff --git a/test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.tar.xz b/test/config/data/config-pcie.tar.xz Binary files differindex ee11fde..ee11fde 100644 --- a/test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.tar.xz +++ b/test/config/data/config-pcie.tar.xz diff --git a/test/config/data/hostnqn-order.json b/test/config/data/hostnqn-order.json new file mode 100644 index 0000000..6810f75 --- /dev/null +++ b/test/config/data/hostnqn-order.json @@ -0,0 +1,48 @@ +[ + { + "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:2cd2c43b-a90a-45c1-a8cd-86b33ab273b5", + "hostid":"2cd2c43b-a90a-45c1-a8cd-86b33ab273b5", + "subsystems":[ + { + "nqn":"nqn.io-1", + "ports":[ + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4420", + "dhchap_key":"none" + }, + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4421", + "dhchap_key":"none" + } + ] + } + ] + }, + { + "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:befdec4c-2234-11b2-a85c-ca77c773af36", + "hostid":"befdec4c-2234-11b2-a85c-ca77c773af36", + "subsystems":[ + { + "nqn":"nqn.io-1", + "ports":[ + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4420", + "dhchap_key":"none" + }, + { + "transport":"tcp", + "traddr":"192.168.154.144", + "trsvcid":"4421", + "dhchap_key":"none" + } + ] + } + ] + } +] diff --git a/test/config/data/hostnqn-order.out b/test/config/data/hostnqn-order.out new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/config/data/hostnqn-order.out diff --git a/test/config/data/hostnqn-order.tar.xz b/test/config/data/hostnqn-order.tar.xz Binary files differnew file mode 100644 index 0000000..73c9f62 --- /dev/null +++ b/test/config/data/hostnqn-order.tar.xz diff --git a/test/config/hostnqn-order.c b/test/config/hostnqn-order.c new file mode 100644 index 0000000..22fc227 --- /dev/null +++ b/test/config/hostnqn-order.c @@ -0,0 +1,164 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/** + * This file is part of libnvme. + * Copyright (c) 2024 Daniel Wagner, SUSE LLC + */ + +#include <string.h> +#include <stdbool.h> +#include <stdlib.h> +#include <errno.h> + +#include <libnvme.h> + +static bool command_line(void) +{ + bool pass = false; + nvme_root_t r; + int err; + char *hostnqn, *hostid, *hnqn, *hid; + + r = nvme_create_root(stderr, LOG_ERR); + if (!r) + return false; + + err = nvme_scan_topology(r, NULL, NULL); + if (err) { + if (errno != ENOENT) + goto out; + } + + hostnqn = "nqn.2014-08.org.nvmexpress:uuid:ce4fee3e-c02c-11ee-8442-830d068a36c6"; + hostid = "ce4fee3e-c02c-11ee-8442-830d068a36c6"; + + err = nvme_host_get_ids(r, hostnqn, hostid, &hnqn, &hid); + if (err) + goto out; + + if (strcmp(hostnqn, hnqn)) { + printf("json config hostnqn '%s' does not match '%s'\n", hostnqn, hnqn); + goto out; + } + if (strcmp(hostid, hid)) { + printf("json config hostid '%s' does not match '%s'\n", hostid, hid); + goto out; + } + + free(hnqn); + free(hid); + + pass = true; + +out: + nvme_free_tree(r); + return pass; +} + +static bool json_config(char *file) +{ + bool pass = false; + nvme_root_t r; + int err; + char *hostnqn, *hostid, *hnqn, *hid; + + setenv("LIBNVME_HOSTNQN", "", 1); + setenv("LIBNVME_HOSTID", "", 1); + + r = nvme_create_root(stderr, LOG_ERR); + if (!r) + return false; + + /* We need to read the config in before we scan */ + err = nvme_read_config(r, file); + if (err) + goto out; + + err = nvme_scan_topology(r, NULL, NULL); + if (err) { + if (errno != ENOENT) + goto out; + } + + hostnqn = "nqn.2014-08.org.nvmexpress:uuid:2cd2c43b-a90a-45c1-a8cd-86b33ab273b5"; + hostid = "2cd2c43b-a90a-45c1-a8cd-86b33ab273b5"; + + err = nvme_host_get_ids(r, NULL, NULL, &hnqn, &hid); + if (err) + goto out; + + if (strcmp(hostnqn, hnqn)) { + printf("json config hostnqn '%s' does not match '%s'\n", hostnqn, hnqn); + goto out; + } + if (strcmp(hostid, hid)) { + printf("json config hostid '%s' does not match '%s'\n", hostid, hid); + goto out; + } + + free(hnqn); + free(hid); + + pass = true; + +out: + nvme_free_tree(r); + return pass; +} + +static bool from_file(void) +{ + bool pass = false; + nvme_root_t r; + int err; + char *hostnqn, *hostid, *hnqn, *hid; + + hostnqn = "nqn.2014-08.org.nvmexpress:uuid:ce4fee3e-c02c-11ee-8442-830d068a36c6"; + hostid = "ce4fee3e-c02c-11ee-8442-830d068a36c6"; + + setenv("LIBNVME_HOSTNQN", hostnqn, 1); + setenv("LIBNVME_HOSTID", hostid, 1); + + r = nvme_create_root(stderr, LOG_ERR); + if (!r) + return false; + + err = nvme_scan_topology(r, NULL, NULL); + if (err) { + if (errno != ENOENT) + goto out; + } + + err = nvme_host_get_ids(r, NULL, NULL, &hnqn, &hid); + if (err) + goto out; + + if (strcmp(hostnqn, hnqn)) { + printf("json config hostnqn '%s' does not match '%s'\n", hostnqn, hnqn); + goto out; + } + if (strcmp(hostid, hid)) { + printf("json config hostid '%s' does not match '%s'\n", hostid, hid); + goto out; + } + + free(hnqn); + free(hid); + + pass = true; + +out: + nvme_free_tree(r); + return pass; +} + +int main(int argc, char *argv[]) +{ + bool pass; + + pass = command_line(); + pass &= json_config(argv[1]); + pass &= from_file(); + fflush(stdout); + + exit(pass ? EXIT_SUCCESS : EXIT_FAILURE); +} diff --git a/test/config/meson.build b/test/config/meson.build new file mode 100644 index 0000000..c1ee7ca --- /dev/null +++ b/test/config/meson.build @@ -0,0 +1,59 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later +# +# This file is part of libnvme. +# Copyright (c) 2024 SUSE LLC. +# +# Authors: Daniel Wagner <dwagner@suse.de> + +diff = find_program('diff', required : false) +if diff.found() + config_dump = executable( + 'test-config-dump', + ['config-dump.c'], + dependencies: libnvme_dep, + include_directories: [incdir], + ) + + config_data = [ + 'config-pcie', + 'config-pcie-with-tcp-config', + ] + + config_diff = find_program('config-diff.sh') + + foreach t_file : config_data + test( + t_file, + config_diff, + args : [ + meson.current_build_dir(), + config_dump.full_path(), + files('data'/t_file + '.tar.xz'), + files('data'/t_file + '.json'), + files('data'/t_file + '.out'), + ], + depends : config_dump, + ) + endforeach + + test_hostnqn_order = executable( + 'test-hostnqn-order', + ['hostnqn-order.c'], + dependencies: libnvme_dep, + include_directories: [incdir], + ) + + test( + 'hostnqn-order', + config_diff, + args : [ + meson.current_build_dir(), + test_hostnqn_order.full_path(), + files('data/hostnqn-order.tar.xz'), + files('data/hostnqn-order.json'), + files('data/hostnqn-order.out'), + ], + depends : test_hostnqn_order, + ) + +endif diff --git a/test/ioctl/ana.c b/test/ioctl/ana.c new file mode 100644 index 0000000..ba85498 --- /dev/null +++ b/test/ioctl/ana.c @@ -0,0 +1,643 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later + +#include <libnvme.h> + +#include <errno.h> +#include <inttypes.h> +#include <stdlib.h> +#include <string.h> +#include <ccan/array_size/array_size.h> +#include <ccan/endian/endian.h> + +#include "mock.h" +#include "util.h" + +#define TEST_FD 0xFD +#define PDU_SIZE NVME_LOG_PAGE_PDU_SIZE + +static void test_no_retries(void) +{ + struct nvme_ana_log log; + __u32 len = sizeof(log); + + /* max_retries = 0 is nonsensical */ + check(nvme_get_ana_log_atomic(TEST_FD, false, false, 0, &log, &len), + "get log page succeeded"); + check(errno == EINVAL, "unexpected error: %m"); +} + +static void test_len_too_short(void) +{ + struct nvme_ana_log log; + __u32 len = sizeof(log) - 1; + + /* Provided buffer doesn't have enough space to read the header */ + check(nvme_get_ana_log_atomic(TEST_FD, false, false, 1, &log, &len), + "get log page succeeded"); + check(errno == ENOSPC, "unexpected error: %m"); +} + +static void test_no_groups(void) +{ + struct nvme_ana_log header; + /* The header reports no ANA groups. No additional commands needed. */ + struct mock_cmd mock_admin_cmd = { + .opcode = nvme_admin_get_log_page, + .data_len = sizeof(header), + .cdw10 = (sizeof(header) / 4 - 1) << 16 /* NUMDL */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = &header, + }; + struct nvme_ana_log log; + __u32 len = sizeof(log); + + arbitrary(&log, sizeof(log)); + arbitrary(&header, sizeof(header)); + header.ngrps = cpu_to_le16(0); + set_mock_admin_cmds(&mock_admin_cmd, 1); + check(!nvme_get_ana_log_atomic(TEST_FD, false, false, 1, &log, &len), + "get log page failed: %m"); + end_mock_cmds(); + cmp(&log, &header, sizeof(header), "incorrect header"); + check(len == sizeof(header), + "got len %" PRIu32 ", expected %zu", len, sizeof(header)); +} + +static void test_one_group_rgo(void) +{ + struct nvme_ana_log header; + struct nvme_ana_group_desc group; + __u8 log_page[sizeof(header) + sizeof(group)]; + __u32 len = 123; + size_t len_dwords = len / 4; + /* + * Header and group fetched in a single Get Log Page command. + * Since only one command was issued, chgcnt doesn't need to be checked. + */ + struct mock_cmd mock_admin_cmd = { + .opcode = nvme_admin_get_log_page, + .data_len = len_dwords * 4, + .cdw10 = (len_dwords - 1) << 16 /* NUMDL */ + | NVME_LOG_ANA_LSP_RGO_GROUPS_ONLY << 8 /* LSP */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page, + .out_data_len = sizeof(log_page), + }; + struct nvme_ana_log *log = malloc(len); + + arbitrary(log, len); + arbitrary(&header, sizeof(header)); + header.ngrps = cpu_to_le16(1); + arbitrary(&group, sizeof(group)); + group.nnsids = cpu_to_le32(0); + memcpy(log_page, &header, sizeof(header)); + memcpy(log_page + sizeof(header), &group, sizeof(group)); + set_mock_admin_cmds(&mock_admin_cmd, 1); + check(!nvme_get_ana_log_atomic(TEST_FD, true, false, 1, log, &len), + "get log page failed: %m"); + end_mock_cmds(); + cmp(log, log_page, sizeof(log_page), "incorrect log page"); + check(len == sizeof(log_page), + "got len %" PRIu32 ", expected %zu", len, sizeof(log_page)); + free(log); +} + +static void test_one_group_nsids(void) +{ + struct nvme_ana_log header; + struct nvme_ana_group_desc group; + __le32 nsids[3]; + __u8 log_page[sizeof(header) + sizeof(group) + sizeof(nsids)]; + __u32 len = 124; + size_t len_dwords = len / 4; + /* + * Header, group, and NSIDs fetched in a single Get Log Page command. + * Since only one command was issued, chgcnt doesn't need to be checked. + */ + struct mock_cmd mock_admin_cmd = { + .opcode = nvme_admin_get_log_page, + .data_len = len_dwords * 4, + .cdw10 = (len_dwords - 1) << 16 /* NUMDL */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page, + .out_data_len = sizeof(log_page), + }; + struct nvme_ana_log *log = malloc(len); + + arbitrary(log, len); + arbitrary(&header, sizeof(header)); + header.ngrps = cpu_to_le16(1); + arbitrary(&group, sizeof(group)); + group.nnsids = cpu_to_le32(ARRAY_SIZE(nsids)); + arbitrary(nsids, sizeof(nsids)); + memcpy(log_page, &header, sizeof(header)); + memcpy(log_page + sizeof(header), &group, sizeof(group)); + memcpy(log_page + sizeof(header) + sizeof(group), nsids, sizeof(nsids)); + set_mock_admin_cmds(&mock_admin_cmd, 1); + check(!nvme_get_ana_log_atomic(TEST_FD, false, false, 1, log, &len), + "get log page failed: %m"); + end_mock_cmds(); + cmp(log, log_page, sizeof(log_page), "incorrect log page"); + check(len == sizeof(log_page), + "got len %" PRIu32 ", expected %zu", len, sizeof(log_page)); + free(log); +} + +static void test_multiple_groups_rgo(void) +{ + struct nvme_ana_log header; + struct nvme_ana_group_desc groups[3]; + __u8 log_page[sizeof(header) + sizeof(groups)]; + __u32 len = 125; + size_t len_dwords = len / 4; + /* + * Header and groups fetched in a single Get Log Page command. + * Since only one command was issued, chgcnt doesn't need to be checked. + */ + struct mock_cmd mock_admin_cmd = { + .opcode = nvme_admin_get_log_page, + .data_len = len_dwords * 4, + .cdw10 = (len_dwords - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_ANA_LSP_RGO_GROUPS_ONLY << 8 /* LSP */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page, + .out_data_len = sizeof(log_page), + }; + struct nvme_ana_log *log = malloc(len); + + arbitrary(log, len); + arbitrary(&header, sizeof(header)); + header.ngrps = cpu_to_le16(ARRAY_SIZE(groups)); + arbitrary(groups, sizeof(groups)); + for (size_t i = 0; i < ARRAY_SIZE(groups); i++) + groups[i].nnsids = cpu_to_le32(0); + memcpy(log_page, &header, sizeof(header)); + memcpy(log_page + sizeof(header), groups, sizeof(groups)); + set_mock_admin_cmds(&mock_admin_cmd, 1); + check(!nvme_get_ana_log_atomic(TEST_FD, true, true, 1, log, &len), + "get log page failed: %m"); + end_mock_cmds(); + cmp(log, log_page, sizeof(log_page), "incorrect log page"); + check(len == sizeof(log_page), + "got len %" PRIu32 ", expected %zu", len, sizeof(log_page)); + free(log); +} + +static void test_multiple_groups_nsids(void) +{ + struct nvme_ana_log header; + struct nvme_ana_group_desc group1; + __le32 nsids1[3]; + struct nvme_ana_group_desc group2; + __le32 nsids2[2]; + struct nvme_ana_group_desc group3; + __le32 nsids3[1]; + __u8 log_page[sizeof(header) + + sizeof(group1) + sizeof(nsids1) + + sizeof(group2) + sizeof(nsids2) + + sizeof(group3) + sizeof(nsids3)]; + __u32 len = 456; + size_t len_dwords = len / 4; + /* + * Header, group, and NSIDs fetched in a single Get Log Page command. + * Since only one command was issued, chgcnt doesn't need to be checked. + */ + struct mock_cmd mock_admin_cmd = { + .opcode = nvme_admin_get_log_page, + .data_len = len_dwords * 4, + .cdw10 = (len_dwords - 1) << 16 /* NUMDL */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page, + .out_data_len = sizeof(log_page), + }; + struct nvme_ana_log *log = malloc(len); + + arbitrary(log, len); + arbitrary(&header, sizeof(header)); + header.ngrps = cpu_to_le16(3); + arbitrary(&group1, sizeof(group1)); + group1.nnsids = cpu_to_le32(ARRAY_SIZE(nsids1)); + arbitrary(nsids1, sizeof(nsids1)); + arbitrary(&group2, sizeof(group2)); + group2.nnsids = cpu_to_le32(ARRAY_SIZE(nsids2)); + arbitrary(nsids2, sizeof(nsids2)); + arbitrary(&group3, sizeof(group3)); + group3.nnsids = cpu_to_le32(ARRAY_SIZE(nsids3)); + arbitrary(nsids3, sizeof(nsids3)); + memcpy(log_page, &header, sizeof(header)); + memcpy(log_page + sizeof(header), &group1, sizeof(group1)); + memcpy(log_page + sizeof(header) + sizeof(group1), + nsids1, sizeof(nsids1)); + memcpy(log_page + sizeof(header) + sizeof(group1) + sizeof(nsids1), + &group2, sizeof(group2)); + memcpy(log_page + sizeof(header) + sizeof(group1) + sizeof(nsids1) + + sizeof(group2), + nsids2, sizeof(nsids2)); + memcpy(log_page + sizeof(header) + sizeof(group1) + sizeof(nsids1) + + sizeof(group2) + sizeof(nsids2), + &group3, sizeof(group3)); + memcpy(log_page + sizeof(header) + sizeof(group1) + sizeof(nsids1) + + sizeof(group2) + sizeof(nsids2) + sizeof(group3), + nsids3, sizeof(nsids3)); + set_mock_admin_cmds(&mock_admin_cmd, 1); + check(!nvme_get_ana_log_atomic(TEST_FD, false, false, 1, log, &len), + "get log page failed: %m"); + end_mock_cmds(); + cmp(log, log_page, sizeof(log_page), "incorrect log page"); + check(len == sizeof(log_page), + "got len %" PRIu32 ", expected %zu", len, sizeof(log_page)); + free(log); +} + +static void test_long_log(void) +{ + struct nvme_ana_log header; + struct nvme_ana_group_desc group; + __le32 nsids[PDU_SIZE * 2 / sizeof(*group.nsids)]; + __u8 log_page[sizeof(header) + sizeof(group) + sizeof(nsids)]; + __u32 len = PDU_SIZE * 4; + /* + * Get Log Page is issued for 4 KB, returning the header (with 1 group), + * the group (with 2048 NSIDs) and the start of its NSIDs. + * Another Get Log page command is issued for the next 1024 NSIDs. + * Another Get Log page command is issued for the last NSIDs. + * Header is fetched again to verify chgcnt hasn't changed. + */ + struct mock_cmd mock_admin_cmds[] = { + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_LID_ANA, /* LID */ + .cdw12 = PDU_SIZE, /* LPOL */ + .out_data = log_page + PDU_SIZE, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_LID_ANA, /* LID */ + .cdw12 = PDU_SIZE * 2, /* LPOL */ + .out_data = log_page + PDU_SIZE * 2, + .out_data_len = sizeof(log_page) - PDU_SIZE * 2, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page, + }, + }; + struct nvme_ana_log *log = malloc(len); + + arbitrary(log, len); + arbitrary(&header, sizeof(header)); + header.ngrps = cpu_to_le16(1); + arbitrary(&group, sizeof(group)); + group.nnsids = cpu_to_le32(ARRAY_SIZE(nsids)); + arbitrary(nsids, sizeof(nsids)); + memcpy(log_page, &header, sizeof(header)); + memcpy(log_page + sizeof(header), &group, sizeof(group)); + memcpy(log_page + sizeof(header) + sizeof(group), nsids, sizeof(nsids)); + set_mock_admin_cmds(mock_admin_cmds, ARRAY_SIZE(mock_admin_cmds)); + check(!nvme_get_ana_log_atomic(TEST_FD, false, true, 1, log, &len), + "get log page failed: %m"); + end_mock_cmds(); + cmp(log, log_page, sizeof(log_page), "incorrect log page"); + check(len == sizeof(log_page), + "got len %" PRIu32 ", expected %zu", len, sizeof(log_page)); + free(log); +} + +static void test_chgcnt_change(void) +{ + struct nvme_ana_log header1; + struct nvme_ana_group_desc groups1[PDU_SIZE / sizeof(*header1.descs)]; + __u8 log_page1[sizeof(header1) + sizeof(groups1)]; + struct nvme_ana_log header2; + struct nvme_ana_group_desc group2; + __u8 log_page2[sizeof(header2) + sizeof(group2)]; + __u32 len = PDU_SIZE + 126; + size_t remainder_len_dwords = (len - PDU_SIZE) / 4; + /* + * Get Log Page is issued for 4 KB, + * returning the header (with 128 groups), and the start of the groups. + * Get Log Page is issued for the rest of the groups. + * Get Log Page is issued for the first 4 KB again to check chgcnt. + * chgcnt has changed, but there is only 1 group now, + * which was already fetched with the header. + */ + struct mock_cmd mock_admin_cmds[] = { + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_ANA_LSP_RGO_GROUPS_ONLY << 8 /* LSP */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page1, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = remainder_len_dwords * 4, + .cdw10 = (remainder_len_dwords - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_ANA_LSP_RGO_GROUPS_ONLY << 8 /* LSP */ + | NVME_LOG_LID_ANA, /* LID */ + .cdw12 = PDU_SIZE, /* LPOL */ + .out_data = log_page1 + PDU_SIZE, + .out_data_len = sizeof(log_page1) - PDU_SIZE, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_ANA_LSP_RGO_GROUPS_ONLY << 8 /* LSP */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page2, + .out_data_len = sizeof(log_page2), + }, + }; + struct nvme_ana_log *log = malloc(len); + + arbitrary(log, len); + arbitrary(&header1, sizeof(header1)); + header1.ngrps = cpu_to_le16(ARRAY_SIZE(groups1)); + arbitrary(&groups1, sizeof(groups1)); + for (size_t i = 0; i < ARRAY_SIZE(groups1); i++) + groups1[i].nnsids = cpu_to_le32(0); + memcpy(log_page1, &header1, sizeof(header1)); + memcpy(log_page1 + sizeof(header1), groups1, sizeof(groups1)); + arbitrary(&header2, sizeof(header2)); + header2.ngrps = cpu_to_le16(1); + arbitrary(&group2, sizeof(group2)); + group2.nnsids = cpu_to_le32(0); + memcpy(log_page2, &header2, sizeof(header2)); + memcpy(log_page2 + sizeof(header2), &group2, sizeof(group2)); + set_mock_admin_cmds(mock_admin_cmds, ARRAY_SIZE(mock_admin_cmds)); + check(!nvme_get_ana_log_atomic(TEST_FD, true, true, 2, log, &len), + "get log page failed: %m"); + end_mock_cmds(); + cmp(log, log_page2, sizeof(log_page2), "incorrect log page"); + check(len == sizeof(log_page2), + "got len %" PRIu32 ", expected %zu", len, sizeof(log_page2)); + free(log); +} + +static void test_buffer_too_short_chgcnt_change(void) +{ + struct nvme_ana_log header1; + struct nvme_ana_group_desc group1_1; + __le32 nsids1[PDU_SIZE / sizeof(*group1_1.nsids)]; + struct nvme_ana_group_desc group1_2; + __u8 log_page1[sizeof(header1) + + sizeof(group1_1) + sizeof(nsids1) + sizeof(group1_2)]; + struct nvme_ana_log header2; + struct nvme_ana_group_desc group2; + __le32 nsid2; + uint8_t log_page2[sizeof(header2) + sizeof(group2) + sizeof(nsid2)]; + __u32 len = PDU_SIZE + 123; + size_t remainder_len_dwords = (len - PDU_SIZE) / 4; + /* + * Get Log Page issued for 4 KB, returning the header (with 2 groups), + * the first group (with 1024 NSIDs), and the start of the NSIDs. + * Get Log Page is issued for the rest of the NSIDs and the second group. + * The second group contains garbage, making the log exceed the buffer. + * The first 4 KB is fetched again, returning a header with a new chgcnt + * and a group with one NSID. + */ + struct mock_cmd mock_admin_cmds[] = { + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page1, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = remainder_len_dwords * 4, + .cdw10 = (remainder_len_dwords - 1) << 16 /* NUMDL */ + | NVME_LOG_LID_ANA, /* LID */ + .cdw12 = PDU_SIZE, /* LPOL */ + .out_data = log_page1 + PDU_SIZE, + .out_data_len = sizeof(log_page1) - PDU_SIZE, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page2, + .out_data_len = sizeof(log_page2), + }, + }; + struct nvme_ana_log *log = malloc(len); + + arbitrary(log, len); + arbitrary(&header1, sizeof(header1)); + header1.ngrps = cpu_to_le16(2); + arbitrary(&group1_1, sizeof(group1_1)); + group1_1.nnsids = cpu_to_le32(ARRAY_SIZE(nsids1)); + arbitrary(nsids1, sizeof(nsids1)); + memset(&group1_2, -1, sizeof(group1_2)); + memcpy(log_page1, &header1, sizeof(header1)); + memcpy(log_page1 + sizeof(header1), &group1_1, sizeof(group1_1)); + memcpy(log_page1 + sizeof(header1) + sizeof(group1_1), + nsids1, sizeof(nsids1)); + memcpy(log_page1 + sizeof(header1) + sizeof(group1_1) + sizeof(nsids1), + &group1_2, sizeof(group1_2)); + arbitrary(&header2, sizeof(header2)); + header2.ngrps = cpu_to_le16(1); + arbitrary(&group2, sizeof(group2)); + group2.nnsids = cpu_to_le32(1); + arbitrary(&nsid2, sizeof(nsid2)); + memcpy(log_page2, &header2, sizeof(header2)); + memcpy(log_page2 + sizeof(header2), &group2, sizeof(group2)); + memcpy(log_page2 + sizeof(header2) + sizeof(group2), + &nsid2, sizeof(nsid2)); + set_mock_admin_cmds(mock_admin_cmds, ARRAY_SIZE(mock_admin_cmds)); + check(!nvme_get_ana_log_atomic(TEST_FD, false, false, 2, log, &len), + "get log page failed: %m"); + end_mock_cmds(); + cmp(log, log_page2, sizeof(log_page2), "incorrect log page"); + check(len == sizeof(log_page2), + "got len %" PRIu32 ", expected %zu", len, sizeof(log_page2)); + free(log); +} + +static void test_chgcnt_max_retries(void) +{ + struct nvme_ana_log header1, header2, header3; + struct nvme_ana_group_desc group; + __le32 nsids[PDU_SIZE / sizeof(*group.nsids)]; + __u8 log_page1[sizeof(header1) + sizeof(group) + sizeof(nsids)], + log_page2[sizeof(header2) + sizeof(group) + sizeof(nsids)]; + __u32 len = PDU_SIZE * 2; + /* + * Get Log Page is issued for 4 KB, returning the header (with 1 group), + * the group (with 1024 NSIDs), and the start of the NSIDs. + * Get Log Page is issued for the rest of the NSIDs. + * Get Log Page is issued for the first 4 KB again to check chgcnt. + * chgcnt has changed and there is still 1 group with 1024 NSIDs. + * Get Log Page is issued for the rest of the NSIDs. + * Get Log Page is issued for the first 4 KB again to check chgcnt. + * chgcnt has changed again. + * This exceeds max_retries = 2 so nvme_get_ana_log() exits with EAGAIN. + */ + struct mock_cmd mock_admin_cmds[] = { + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page1, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_LID_ANA, /* LID */ + .cdw12 = PDU_SIZE, /* LPOL */ + .out_data = log_page1 + PDU_SIZE, + .out_data_len = sizeof(log_page1) - PDU_SIZE, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page2, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_LID_ANA, /* LID */ + .cdw12 = PDU_SIZE, /* LPOL */ + .out_data = log_page2 + PDU_SIZE, + .out_data_len = sizeof(log_page2) - PDU_SIZE, + }, + { + .opcode = nvme_admin_get_log_page, + .data_len = PDU_SIZE, + .cdw10 = (PDU_SIZE / 4 - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = &header3, + .out_data_len = sizeof(header3), + }, + }; + struct nvme_ana_log *log = malloc(len); + + arbitrary(log, len); + arbitrary(&header1, sizeof(header1)); + header1.ngrps = cpu_to_le16(1); + arbitrary(&header2, sizeof(header2)); + header2.ngrps = cpu_to_le16(1); + arbitrary(&header3, sizeof(header3)); + header3.ngrps = cpu_to_le16(0); + arbitrary(&group, sizeof(group)); + group.nnsids = cpu_to_le32(ARRAY_SIZE(nsids)); + arbitrary(nsids, sizeof(nsids)); + memcpy(log_page1, &header1, sizeof(header1)); + memcpy(log_page1 + sizeof(header1), &group, sizeof(group)); + memcpy(log_page1 + sizeof(header1) + sizeof(group), + nsids, sizeof(nsids)); + memcpy(log_page2, &header2, sizeof(header2)); + memcpy(log_page2 + sizeof(header2), &group, sizeof(group)); + memcpy(log_page2 + sizeof(header2) + sizeof(group), + nsids, sizeof(nsids)); + set_mock_admin_cmds(mock_admin_cmds, ARRAY_SIZE(mock_admin_cmds)); + check(nvme_get_ana_log_atomic(TEST_FD, false, true, 2, log, &len) == -1, + "get log page succeeded"); + end_mock_cmds(); + check(errno == EAGAIN, "unexpected error: %m"); + free(log); +} + +static void test_buffer_too_short(void) +{ + struct nvme_ana_log header; + struct nvme_ana_group_desc group; + __le32 nsids[20]; + __u8 log_page[sizeof(header) + sizeof(group) + sizeof(nsids)]; + __u32 len = 123; + __u32 len_dwords = len / 4; + /* + * Header, group, and NSIDs fetched in a single Get Log Page command. + * This length exceeds the provided buffer. + * Only one command was issued, so the log page couldn't have changed. + * nvme_get_ana_log() returns ENOSPC because the buffer is too small. + */ + struct mock_cmd mock_admin_cmd = { + .opcode = nvme_admin_get_log_page, + .data_len = len_dwords * 4, + .cdw10 = (len_dwords - 1) << 16 /* NUMDL */ + | 1 << 15 /* RAE */ + | NVME_LOG_LID_ANA, /* LID */ + .out_data = log_page, + }; + struct nvme_ana_log *log = malloc(len); + + arbitrary(log, len); + arbitrary(&header, sizeof(header)); + header.ngrps = cpu_to_le16(1); + arbitrary(&group, sizeof(group)); + group.nnsids = cpu_to_le32(ARRAY_SIZE(nsids)); + arbitrary(nsids, sizeof(nsids)); + memcpy(log_page, &header, sizeof(header)); + memcpy(log_page + sizeof(header), &group, sizeof(group)); + memcpy(log_page + sizeof(header) + sizeof(group), nsids, sizeof(nsids)); + set_mock_admin_cmds(&mock_admin_cmd, 1); + check(nvme_get_ana_log_atomic(TEST_FD, false, true, 2, log, &len) == -1, + "get log page succeeded"); + end_mock_cmds(); + check(errno == ENOSPC, "unexpected error: %m"); + free(log); +} + +static void run_test(const char *test_name, void (*test_fn)(void)) +{ + printf("Running test %s...", test_name); + fflush(stdout); + test_fn(); + puts(" OK"); +} + +#define RUN_TEST(name) run_test(#name, test_ ## name) + +int main(void) +{ + set_mock_fd(TEST_FD); + RUN_TEST(no_retries); + RUN_TEST(len_too_short); + RUN_TEST(no_groups); + RUN_TEST(one_group_rgo); + RUN_TEST(one_group_nsids); + RUN_TEST(multiple_groups_rgo); + RUN_TEST(multiple_groups_nsids); + RUN_TEST(long_log); + RUN_TEST(chgcnt_change); + RUN_TEST(buffer_too_short_chgcnt_change); + RUN_TEST(chgcnt_max_retries); + RUN_TEST(buffer_too_short); +} diff --git a/test/ioctl/meson.build b/test/ioctl/meson.build index b329d27..bbee047 100644 --- a/test/ioctl/meson.build +++ b/test/ioctl/meson.build @@ -13,6 +13,16 @@ mock_ioctl_env = environment() mock_ioctl_env.append('LD_PRELOAD', mock_ioctl.full_path()) mock_ioctl_env.set('ASAN_OPTIONS', 'verify_asan_link_order=0') +ana = executable( + 'test-ana', + 'ana.c', + dependencies: libnvme_dep, + include_directories: [incdir, internal_incdir], + link_with: mock_ioctl, +) + +test('ana', ana, env: mock_ioctl_env) + discovery = executable( 'test-discovery', 'discovery.c', diff --git a/test/ioctl/mock.c b/test/ioctl/mock.c index a97a357..1fb3ec1 100644 --- a/test/ioctl/mock.c +++ b/test/ioctl/mock.c @@ -58,19 +58,19 @@ void end_mock_cmds(void) #define execute_ioctl(cmd, mock_cmd) ({ \ check((cmd)->opcode == (mock_cmd)->opcode, \ - "got opcode %" PRIu8 ", expected %" PRIu8, \ + "got opcode 0x%" PRIx8 ", expected 0x%" PRIx8, \ (cmd)->opcode, (mock_cmd)->opcode); \ check((cmd)->flags == (mock_cmd)->flags, \ - "got flags %" PRIu8 ", expected %" PRIu8, \ + "got flags 0x%" PRIx8 ", expected 0x%" PRIx8, \ (cmd)->flags, (mock_cmd)->flags); \ check((cmd)->nsid == (mock_cmd)->nsid, \ - "got nsid %" PRIu32 ", expected %" PRIu32, \ + "got nsid 0x%" PRIx32 ", expected 0x%" PRIx32, \ (cmd)->nsid, (mock_cmd)->nsid); \ check((cmd)->cdw2 == (mock_cmd)->cdw2, \ - "got cdw2 %" PRIu32 ", expected %" PRIu32, \ + "got cdw2 0x%" PRIx32 ", expected 0x%" PRIx32, \ (cmd)->cdw2, (mock_cmd)->cdw2); \ check((cmd)->cdw3 == (mock_cmd)->cdw3, \ - "got cdw3 %" PRIu32 ", expected %" PRIu32, \ + "got cdw3 0x%" PRIx32 ", expected 0x%" PRIx32, \ (cmd)->cdw3, (mock_cmd)->cdw3); \ check((cmd)->metadata_len == (mock_cmd)->metadata_len, \ "got metadata_len %" PRIu32 ", expected %" PRIu32, \ @@ -90,29 +90,30 @@ void end_mock_cmds(void) cmp(data, (mock_cmd)->in_data, data_len, "incorrect data"); \ } \ check((cmd)->cdw10 == (mock_cmd)->cdw10, \ - "got cdw10 %" PRIu32 ", expected %" PRIu32, \ + "got cdw10 0x%" PRIx32 ", expected 0x%" PRIx32, \ (cmd)->cdw10, (mock_cmd)->cdw10); \ check((cmd)->cdw11 == (mock_cmd)->cdw11, \ - "got cdw11 %" PRIu32 ", expected %" PRIu32, \ + "got cdw11 0x%" PRIx32 ", expected 0x%" PRIx32, \ (cmd)->cdw11, (mock_cmd)->cdw11); \ check((cmd)->cdw12 == (mock_cmd)->cdw12, \ - "got cdw12 %" PRIu32 ", expected %" PRIu32, \ + "got cdw12 0x%" PRIx32 ", expected 0x%" PRIx32, \ (cmd)->cdw12, (mock_cmd)->cdw12); \ check((cmd)->cdw13 == (mock_cmd)->cdw13, \ - "got cdw13 %" PRIu32 ", expected %" PRIu32, \ + "got cdw13 0x%" PRIx32 ", expected 0x%" PRIx32, \ (cmd)->cdw13, (mock_cmd)->cdw13); \ check((cmd)->cdw14 == (mock_cmd)->cdw14, \ - "got cdw14 %" PRIu32 ", expected %" PRIu32, \ + "got cdw14 0x%" PRIx32 ", expected 0x%" PRIx32, \ (cmd)->cdw14, (mock_cmd)->cdw14); \ check((cmd)->cdw15 == (mock_cmd)->cdw15, \ - "got cdw15 %" PRIu32 ", expected %" PRIu32, \ + "got cdw15 0x%" PRIx32 ", expected 0x%" PRIx32, \ (cmd)->cdw15, (mock_cmd)->cdw15); \ check((cmd)->timeout_ms == (mock_cmd)->timeout_ms, \ "got timeout_ms %" PRIu32 ", expected %" PRIu32, \ (cmd)->timeout_ms, (mock_cmd)->timeout_ms); \ (cmd)->result = (mock_cmd)->result; \ - if ((mock_cmd)->out_data) { \ - memcpy(data, (mock_cmd)->out_data, data_len); \ + const void *out_data = (mock_cmd)->out_data; \ + if (out_data) { \ + memcpy(data, out_data, (mock_cmd)->out_data_len ?: data_len); \ } \ }) diff --git a/test/ioctl/mock.h b/test/ioctl/mock.h index 192eba8..c4b4bd6 100644 --- a/test/ioctl/mock.h +++ b/test/ioctl/mock.h @@ -26,7 +26,9 @@ * @cdw14: the expected `cdw14` passed to ioctl() * @cdw15: the expected `cdw15` passed to ioctl() * @timeout_ms: the expected `timeout_ms` passed to ioctl() - * @out_data: if not NULL, `data_len` bytes to copy to the caller's `addr` + * @out_data: if not NULL, bytes to copy to the caller's `addr` + * @out_data_len: length of `out_data` buffer to return. + * If 0, `data_len` is used instead. * @result: copied to the caller's `result`. * If `result` doesn't fit in a u32, the ioctl() must be the 64-bit one. * @err: If negative, ioctl() returns -1 and sets `errno` to `-err`. @@ -50,6 +52,7 @@ struct mock_cmd { uint32_t cdw15; uint32_t timeout_ms; const void *out_data; + uint32_t out_data_len; uint64_t result; int err; }; diff --git a/test/meson.build b/test/meson.build index 93e6999..ca2a792 100644 --- a/test/meson.build +++ b/test/meson.build @@ -66,6 +66,15 @@ uuid = executable( test('uuid', uuid) +uriparser = executable( + 'test-uriparser', + ['uriparser.c'], + dependencies: libnvme_dep, + include_directories: [incdir, internal_incdir] +) + +test('uriparser', uriparser) + if conf.get('HAVE_NETDB') mock_ifaddrs = library( 'mock-ifaddrs', @@ -99,5 +108,6 @@ subdir('ioctl') subdir('nbft') if json_c_dep.found() - subdir('sysfs') + subdir('sysfs') + subdir('config') endif @@ -115,6 +115,9 @@ nvme_mi_ep_t nvme_mi_open_test(nvme_root_t root) ep = nvme_mi_init_ep(root); assert(ep); + /* preempt the quirk probe to avoid clutter */ + ep->quirks_probed = true; + tpd = malloc(sizeof(*tpd)); assert(tpd); @@ -1856,6 +1859,55 @@ static void test_admin_get_log_split(struct nvme_mi_ep *ep) assert(ldata.n == 3); } +static int test_endpoint_quirk_probe_cb_stage2(struct nvme_mi_ep *ep, + struct nvme_mi_req *req, + struct nvme_mi_resp *resp, + void *data) +{ + return test_read_mi_data_cb(ep, req, resp, data); +} + +static int test_endpoint_quirk_probe_cb_stage1(struct nvme_mi_ep *ep, + struct nvme_mi_req *req, + struct nvme_mi_resp *resp, + void *data) +{ + struct nvme_mi_admin_req_hdr *admin_req; + __u8 ror, mt; + + assert(req->hdr->type == NVME_MI_MSGTYPE_NVME); + + ror = req->hdr->nmp >> 7; + mt = req->hdr->nmp >> 3 & 0x7; + assert(ror == NVME_MI_ROR_REQ); + assert(mt == NVME_MI_MT_ADMIN); + + assert(req->hdr_len == sizeof(struct nvme_mi_admin_req_hdr)); + + admin_req = (struct nvme_mi_admin_req_hdr *)req->hdr; + assert(admin_req->opcode == nvme_admin_identify); + assert(le32_to_cpu(admin_req->doff) == 0); + assert(le32_to_cpu(admin_req->dlen) == offsetof(struct nvme_id_ctrl, rab)); + + test_set_transport_callback(ep, test_endpoint_quirk_probe_cb_stage2, data); + + return 0; +} + +static void test_endpoint_quirk_probe(struct nvme_mi_ep *ep) +{ + struct nvme_mi_read_nvm_ss_info ss_info; + int rc; + + /* force the probe to occur */ + ep->quirks_probed = false; + + test_set_transport_callback(ep, test_endpoint_quirk_probe_cb_stage1, NULL); + + rc = nvme_mi_mi_read_mi_data_subsys(ep, &ss_info); + assert(rc == 0); +} + #define DEFINE_TEST(name) { #name, test_ ## name } struct test { const char *name; @@ -1897,6 +1949,7 @@ struct test { DEFINE_TEST(admin_format_nvm), DEFINE_TEST(admin_sanitize_nvm), DEFINE_TEST(admin_get_log_split), + DEFINE_TEST(endpoint_quirk_probe), }; static void run_test(struct test *test, FILE *logfd, nvme_mi_ep_t ep) diff --git a/test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.out b/test/sysfs/data/tree-pcie.out index 1cb6de4..4a755a7 100644 --- a/test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.out +++ b/test/sysfs/data/tree-pcie.out @@ -5,24 +5,24 @@ "hostid":"ce4fee3e-c02c-11ee-8442-830d068a36c6", "subsystems":[ { - "name":"nvme-subsys1", - "nqn":"nqn.2019-08.org.qemu:nvme-0", + "name":"nvme-subsys0", + "nqn":"nqn.2019-08.org.qemu:subsys1", "controllers":[ { - "name":"nvme1", + "name":"nvme0", "transport":"pcie", - "traddr":"0000:00:05.0" + "traddr":"0000:0f:00.0" } ] }, { - "name":"nvme-subsys0", - "nqn":"nqn.2019-08.org.qemu:subsys1", + "name":"nvme-subsys1", + "nqn":"nqn.2019-08.org.qemu:nvme-0", "controllers":[ { - "name":"nvme0", + "name":"nvme1", "transport":"pcie", - "traddr":"0000:0f:00.0" + "traddr":"0000:00:05.0" } ] } diff --git a/test/sysfs/data/tree-pcie.tar.xz b/test/sysfs/data/tree-pcie.tar.xz Binary files differnew file mode 100644 index 0000000..ee11fde --- /dev/null +++ b/test/sysfs/data/tree-pcie.tar.xz diff --git a/test/sysfs/meson.build b/test/sysfs/meson.build index 119fa97..2a7e8e3 100644 --- a/test/sysfs/meson.build +++ b/test/sysfs/meson.build @@ -7,30 +7,30 @@ diff = find_program('diff', required : false) if diff.found() - sysfs_tree_print = executable( - 'sysfs-tree-print', - ['sysfs.c'], + tree_dump = executable( + 'test-tree-dump', + ['tree-dump.c'], dependencies: libnvme_dep, include_directories: [incdir], ) - sysfs_files= [ - 'nvme-sysfs-tw-carbon-6.8.0-rc1+' + tree_data = [ + 'tree-pcie', ] - sysfs_tree_diff = find_program('sysfs-tree-diff.sh') + tree_diff = find_program('tree-diff.sh') - foreach t_file : sysfs_files + foreach t_file : tree_data test( - 'sysfs', - sysfs_tree_diff, + t_file, + tree_diff, args : [ meson.current_build_dir(), - sysfs_tree_print.full_path(), + tree_dump.full_path(), files('data'/t_file + '.tar.xz'), files('data'/t_file + '.out'), ], - depends : sysfs_tree_print, + depends : tree_dump, ) endforeach endif diff --git a/test/sysfs/sysfs-tree-diff.sh b/test/sysfs/sysfs-tree-diff.sh deleted file mode 100644 index dfe3cb3..0000000 --- a/test/sysfs/sysfs-tree-diff.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -e -# SPDX-License-Identifier: LGPL-2.1-or-later - -BUILD_DIR=$1 -SYSFS_TREE_PRINT=$2 -INPUT=$3 -EXPECTED_OUTPUT=$4 - -TEST_NAME="$(basename -s .tar.xz $INPUT)" -TEST_DIR="$BUILD_DIR/$TEST_NAME" -ACTUAL_OUTPUT="$TEST_DIR.out" - -rm -rf "$TEST_DIR" -mkdir "$TEST_DIR" -tar -x -f "$INPUT" -C "$TEST_DIR" - -LIBNVME_SYSFS_PATH="$TEST_DIR" \ -LIBNVME_HOSTNQN=nqn.2014-08.org.nvmexpress:uuid:ce4fee3e-c02c-11ee-8442-830d068a36c6 \ -LIBNVME_HOSTID=ce4fee3e-c02c-11ee-8442-830d068a36c6 \ -"$SYSFS_TREE_PRINT" > "$ACTUAL_OUTPUT" - -diff -u "$EXPECTED_OUTPUT" "$ACTUAL_OUTPUT" diff --git a/test/sysfs/sysfs.c b/test/sysfs/sysfs.c deleted file mode 100644 index 06d0035..0000000 --- a/test/sysfs/sysfs.c +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: LGPL-2.1-or-later -/** - * This file is part of libnvme. - * Copyright (c) 2024 Daniel Wagner, SUSE LLC - */ - -#include <assert.h> - -#include <libnvme.h> - -int main(int argc, char *argv[]) -{ - nvme_root_t r; - - r = nvme_create_root(stdout, LOG_ERR); - assert(r); - - assert(nvme_scan_topology(r, NULL, NULL) == 0); - - assert(nvme_dump_tree(r) == 0); - printf("\n"); - - nvme_free_tree(r); -} diff --git a/test/sysfs/tree-diff.sh b/test/sysfs/tree-diff.sh new file mode 100644 index 0000000..39b8d0d --- /dev/null +++ b/test/sysfs/tree-diff.sh @@ -0,0 +1,22 @@ +#!/bin/bash -e +# SPDX-License-Identifier: LGPL-2.1-or-later + +BUILD_DIR=$1 +TREE_DUMP=$2 +SYSFS_INPUT=$3 +EXPECTED_OUTPUT=$4 + +TEST_NAME="$(basename -s .tar.xz ${SYSFS_INPUT})" +TEST_DIR="${BUILD_DIR}/${TEST_NAME}" +ACTUAL_OUTPUT="${TEST_DIR}.out" + +rm -rf "${TEST_DIR}" +mkdir "${TEST_DIR}" +tar -x -f "${SYSFS_INPUT}" -C "${TEST_DIR}" + +LIBNVME_SYSFS_PATH="${TEST_DIR}" \ +LIBNVME_HOSTNQN=nqn.2014-08.org.nvmexpress:uuid:ce4fee3e-c02c-11ee-8442-830d068a36c6 \ +LIBNVME_HOSTID=ce4fee3e-c02c-11ee-8442-830d068a36c6 \ +"${TREE_DUMP}" > "${ACTUAL_OUTPUT}" || echo "test failed" + +diff -u "${EXPECTED_OUTPUT}" "${ACTUAL_OUTPUT}" diff --git a/test/sysfs/tree-dump.c b/test/sysfs/tree-dump.c new file mode 100644 index 0000000..bcf871b --- /dev/null +++ b/test/sysfs/tree-dump.c @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/** + * This file is part of libnvme. + * Copyright (c) 2024 Daniel Wagner, SUSE LLC + */ + +#include <string.h> +#include <stdbool.h> +#include <stdlib.h> +#include <errno.h> + +#include <libnvme.h> + +static bool tree_dump(void) +{ + bool pass = false; + nvme_root_t r; + int err; + + r = nvme_create_root(stdout, LOG_ERR); + if (!r) + return false; + + err = nvme_scan_topology(r, NULL, NULL); + if (err) { + if (errno != ENOENT) + goto out; + } + + if (nvme_dump_tree(r)) + goto out; + printf("\n"); + + pass = true; + +out: + nvme_free_tree(r); + return pass; +} + +int main(int argc, char *argv[]) +{ + bool pass = true; + + pass = tree_dump(); + fflush(stdout); + + exit(pass ? EXIT_SUCCESS : EXIT_FAILURE); +} diff --git a/test/test.c b/test/test.c index 23036bb..c0146d3 100644 --- a/test/test.c +++ b/test/test.c @@ -48,7 +48,7 @@ static int test_ctrl(nvme_ctrl_t c) struct nvme_self_test_log st = { 0 }; struct nvme_telemetry_log *telem = (void *)buf; struct nvme_endurance_group_log eglog = { 0 }; - struct nvme_ana_group_desc *analog = (void *)buf; + struct nvme_ana_log *analog = (void *)buf; struct nvme_resv_notification_log resvnotify = { 0 }; struct nvme_sanitize_log_page sanlog = { 0 }; struct nvme_id_uuid_list uuid = { 0 }; diff --git a/test/uriparser.c b/test/uriparser.c new file mode 100644 index 0000000..09b2a73 --- /dev/null +++ b/test/uriparser.c @@ -0,0 +1,221 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/** + * This file is part of libnvme. + * Copyright (c) 2024 Tomas Bzatek <tbzatek@redhat.com> + */ + +#include <assert.h> +#include <string.h> +#include <stdbool.h> +#include <stdlib.h> + +#include <ccan/array_size/array_size.h> + +#include <libnvme.h> +#include <nvme/private.h> + +struct test_data { + const char *uri; + /* parsed data */ + const char *scheme; + const char *host; + const char *user; + const char *proto; + int port; + const char *path[7]; + const char *query; + const char *frag; +}; + +static struct test_data test_data[] = { + { "nvme://192.168.1.1", "nvme", "192.168.1.1" }, + { "nvme://192.168.1.1/", "nvme", "192.168.1.1" }, + { "nvme://192.168.1.1:1234", "nvme", "192.168.1.1", .port = 1234 }, + { "nvme://192.168.1.1:1234/", "nvme", "192.168.1.1", .port = 1234 }, + { "nvme+tcp://192.168.1.1", "nvme", "192.168.1.1", .proto = "tcp" }, + { "nvme+rdma://192.168.1.1/", "nvme", "192.168.1.1", .proto = "rdma" }, + { "nvme+tcp://192.168.1.1:1234", + "nvme", "192.168.1.1", .proto = "tcp", .port = 1234 }, + { "nvme+tcp://192.168.1.1:1234/", + "nvme", "192.168.1.1", .proto = "tcp", .port = 1234 }, + { "nvme+tcp://192.168.1.1:4420/path", + "nvme", "192.168.1.1", .proto = "tcp", .port = 4420, + .path = { "path", NULL }}, + { "nvme+tcp://192.168.1.1/path/", + "nvme", "192.168.1.1", .proto = "tcp", .path = { "path", NULL }}, + { "nvme+tcp://192.168.1.1:4420/p1/p2/p3", + "nvme", "192.168.1.1", .proto = "tcp", .port = 4420, + .path = { "p1", "p2", "p3", NULL }}, + { "nvme+tcp://192.168.1.1:4420/p1/p2/p3/", + "nvme", "192.168.1.1", .proto = "tcp", .port = 4420, + .path = { "p1", "p2", "p3", NULL }}, + { "nvme+tcp://192.168.1.1:4420//p1//p2/////p3", + "nvme", "192.168.1.1", .proto = "tcp", .port = 4420, + .path = { "p1", "p2", "p3", NULL }}, + { "nvme+tcp://192.168.1.1:4420//p1//p2/////p3/", + "nvme", "192.168.1.1", .proto = "tcp", .port = 4420, + .path = { "p1", "p2", "p3", NULL }}, + { "nvme://[fe80::1010]", "nvme", "fe80::1010" }, + { "nvme://[fe80::1010]/", "nvme", "fe80::1010" }, + { "nvme://[fe80::1010]:1234", "nvme", "fe80::1010", .port = 1234 }, + { "nvme://[fe80::1010]:1234/", "nvme", "fe80::1010", .port = 1234 }, + { "nvme+tcp://[fe80::1010]", "nvme", "fe80::1010", .proto = "tcp" }, + { "nvme+rdma://[fe80::1010]/", "nvme", "fe80::1010", .proto = "rdma" }, + { "nvme+tcp://[fe80::1010]:1234", + "nvme", "fe80::1010", .proto = "tcp", .port = 1234 }, + { "nvme+tcp://[fe80::1010]:1234/", + "nvme", "fe80::1010", .proto = "tcp", .port = 1234 }, + { "nvme+tcp://[fe80::1010]:4420/path", + "nvme", "fe80::1010", .proto = "tcp", .port = 4420, + .path = { "path", NULL }}, + { "nvme+tcp://[fe80::1010]/path/", + "nvme", "fe80::1010", .proto = "tcp", .path = { "path", NULL }}, + { "nvme+tcp://[fe80::1010]:4420/p1/p2/p3", + "nvme", "fe80::1010", .proto = "tcp", .port = 4420, + .path = { "p1", "p2", "p3", NULL }}, + { "nvme+tcp://[fe80::fc7d:8cff:fe5b:962e]:666/p1/p2/p3/", + "nvme", "fe80::fc7d:8cff:fe5b:962e", .proto = "tcp", .port = 666, + .path = { "p1", "p2", "p3", NULL }}, + { "nvme://h?query", "nvme", "h", .query = "query" }, + { "nvme://h/?query", "nvme", "h", .query = "query" }, + { "nvme://h/x?query", + "nvme", "h", .path = { "x" }, .query = "query" }, + { "nvme://h/p1/?query", + "nvme", "h", .path = { "p1" }, .query = "query" }, + { "nvme://h/p1/x?query", + "nvme", "h", .path = { "p1", "x" }, .query = "query" }, + { "nvme://h#fragment", "nvme", "h", .frag = "fragment" }, + { "nvme://h/#fragment", "nvme", "h", .frag = "fragment" }, + { "nvme://h/x#fragment", + "nvme", "h", .path = { "x" }, .frag = "fragment" }, + { "nvme://h/p1/#fragment", + "nvme", "h", .path = { "p1" }, .frag = "fragment" }, + { "nvme://h/p1/x#fragment", + "nvme", "h", .path = { "p1", "x" }, .frag = "fragment" }, + { "nvme://h/?query#fragment", + "nvme", "h", .query = "query", .frag = "fragment" }, + { "nvme://h/x?query#fragment", + "nvme", "h", .path = { "x" }, .query = "query", .frag = "fragment" }, + { "nvme://h/p1/?query#fragment", + "nvme", "h", .path = { "p1" }, .query = "query", .frag = "fragment" }, + { "nvme://h/p1/x?query#fragment", + "nvme", "h", .path = { "p1", "x" }, .query = "query", + .frag = "fragment" }, + { "nvme://h/#fragment?query", + "nvme", "h", .frag = "fragment?query" }, + { "nvme://h/x#fragment?query", + "nvme", "h", .path = { "x" }, .frag = "fragment?query" }, + { "nvme://h/p1/#fragment?query", + "nvme", "h", .path = { "p1" }, .frag = "fragment?query" }, + { "nvme://h/p1/x#fragment?query", + "nvme", "h", .path = { "p1", "x" }, .frag = "fragment?query" }, + { "nvme://user@h", "nvme", "h", .user = "user" }, + { "nvme://user@h/", "nvme", "h", .user = "user" }, + { "nvme://user:pass@h/", "nvme", "h", .user = "user:pass" }, + { "nvme://[fe80::1010]@h/", "nvme", "h", .user = "[fe80::1010]" }, + { "nvme://u[fe80::1010]@h/", "nvme", "h", .user = "u[fe80::1010]" }, + { "nvme://u[aa:bb::cc]@h/", "nvme", "h", .user = "u[aa:bb::cc]" }, + { "nvme+rdma://u[aa:bb::cc]@[aa:bb::cc]:12345/p1/x?q=val#fr", + "nvme", "aa:bb::cc", .proto = "rdma", .port = 12345, + .user = "u[aa:bb::cc]", .path = { "p1", "x" }, + .query = "q=val", .frag = "fr" }, + { "nvme://ex%5Cmp%3Ae", "nvme", "ex\\mp:e" }, + { "nvme://ex%5Cmp%3Ae.com/", "nvme", "ex\\mp:e.com" }, + { "nvme://u%24er@ex%5Cmp%3Ae.com/", "nvme", "ex\\mp:e.com", + .user = "u$er" }, + { "nvme+tcp://ex%5Cmp%3Ae.com:1234", + "nvme", "ex\\mp:e.com", .proto = "tcp", .port = 1234 }, + { "nvme+tcp://ex%5Cmp%3Ae.com:1234/p1/ex%3Camp%3Ele/p3", + "nvme", "ex\\mp:e.com", .proto = "tcp", .port = 1234, + .path = { "p1", "ex<amp>le", "p3", NULL } }, + { "nvme+tcp://ex%5Cmp%3Ae.com:1234/p1/%3C%3E/p3?q%5E%24ry#fr%26gm%23nt", + "nvme", "ex\\mp:e.com", .proto = "tcp", .port = 1234, + .path = { "p1", "<>", "p3", NULL }, .query = "q^$ry", + .frag = "fr&gm#nt" }, +}; + +const char *test_data_bad[] = { + "", + " ", + "nonsense", + "vnme:", + "vnme:/", + "vnme://", + "vnme:///", + "vnme+foo://", + "nvme:hostname/", + "nvme:/hostname/", + "nvme:///hostname/", + "nvme+foo:///hostname/", +}; + +static void test_uriparser(void) +{ + printf("Testing URI parser:\n"); + for (int i = 0; i < ARRAY_SIZE(test_data); i++) { + const struct test_data *d = &test_data[i]; + struct nvme_fabrics_uri *parsed_data; + char **s; + int i; + + printf(" '%s'...", d->uri); + parsed_data = nvme_parse_uri(d->uri); + assert(parsed_data); + + assert(strcmp(d->scheme, parsed_data->scheme) == 0); + if (d->proto) { + assert(parsed_data->protocol != NULL); + assert(strcmp(d->proto, parsed_data->protocol) == 0); + } else + assert(d->proto == parsed_data->protocol); + assert(strcmp(d->host, parsed_data->host) == 0); + assert(d->port == parsed_data->port); + + if (!parsed_data->path_segments) + assert(d->path[0] == NULL); + else { + for (i = 0, s = parsed_data->path_segments; + s && *s; s++, i++) { + assert(d->path[i] != NULL); + assert(strcmp(d->path[i], *s) == 0); + } + /* trailing NULL element */ + assert(d->path[i] == parsed_data->path_segments[i]); + } + if (d->query) { + assert(parsed_data->query != NULL); + assert(strcmp(d->query, parsed_data->query) == 0); + } else + assert(d->query == parsed_data->query); + if (d->frag) { + assert(parsed_data->fragment != NULL); + assert(strcmp(d->frag, parsed_data->fragment) == 0); + } else + assert(d->frag == parsed_data->fragment); + nvme_free_uri(parsed_data); + printf(" OK\n"); + } +} + +static void test_uriparser_bad(void) +{ + printf("Testing malformed URI strings:\n"); + for (int i = 0; i < ARRAY_SIZE(test_data_bad); i++) { + struct nvme_fabrics_uri *parsed_data; + + printf(" '%s'...", test_data_bad[i]); + parsed_data = nvme_parse_uri(test_data_bad[i]); + assert(parsed_data == NULL); + printf(" OK\n"); + } +} + +int main(int argc, char *argv[]) +{ + test_uriparser(); + test_uriparser_bad(); + + fflush(stdout); + + return 0; +} |