From 0f2367f2fa2f12431fef1e37ffe20b61f6ecb548 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 16 Feb 2025 12:28:30 +0100 Subject: [PATCH] Merging upstream version 2.11. Signed-off-by: Daniel Baumann --- .github/workflows/appimage.yml | 2 +- .github/workflows/build.yml | 18 +- .github/workflows/coverage.yml | 2 +- .github/workflows/docs.yaml | 2 +- .github/workflows/run-nightly-tests.yml | 93 + CONTRIBUTING.md | 22 + Documentation/cmd-plugins.txt | 3 + Documentation/meson.build | 17 + Documentation/nvme-admin-passthru.1 | 4 +- Documentation/nvme-admin-passthru.html | 4 +- Documentation/nvme-ana-log.1 | 4 +- Documentation/nvme-ana-log.html | 4 +- Documentation/nvme-attach-ns.1 | 4 +- Documentation/nvme-attach-ns.html | 4 +- Documentation/nvme-boot-part-log.1 | 4 +- Documentation/nvme-boot-part-log.html | 4 +- Documentation/nvme-capacity-mgmt.1 | 4 +- Documentation/nvme-capacity-mgmt.html | 4 +- Documentation/nvme-changed-ns-list-log.1 | 4 +- Documentation/nvme-changed-ns-list-log.html | 4 +- Documentation/nvme-check-tls-key.txt | 6 + Documentation/nvme-cmdset-ind-id-ns.1 | 4 +- Documentation/nvme-cmdset-ind-id-ns.html | 4 +- Documentation/nvme-compare.1 | 4 +- Documentation/nvme-compare.html | 4 +- Documentation/nvme-connect-all.1 | 4 +- Documentation/nvme-connect-all.html | 4 +- Documentation/nvme-connect.1 | 24 +- Documentation/nvme-connect.html | 31 +- Documentation/nvme-connect.txt | 22 +- Documentation/nvme-copy.1 | 4 +- Documentation/nvme-copy.html | 4 +- Documentation/nvme-create-ns.1 | 4 +- Documentation/nvme-create-ns.html | 4 +- ...og-add.1 => nvme-dapustor-smart-log-add.1} | 22 +- ....html => nvme-dapustor-smart-log-add.html} | 26 +- Documentation/nvme-dapustor-smart-log-add.txt | 65 + Documentation/nvme-delete-ns.1 | 4 +- Documentation/nvme-delete-ns.html | 4 +- Documentation/nvme-dera-stat.1 | 4 +- Documentation/nvme-dera-stat.html | 4 +- Documentation/nvme-detach-ns.1 | 4 +- Documentation/nvme-detach-ns.html | 4 +- Documentation/nvme-device-self-test.1 | 6 +- Documentation/nvme-device-self-test.html | 5 +- Documentation/nvme-device-self-test.txt | 2 + Documentation/nvme-dim.1 | 4 +- Documentation/nvme-dim.html | 4 +- Documentation/nvme-dir-receive.1 | 4 +- Documentation/nvme-dir-receive.html | 4 +- Documentation/nvme-dir-send.1 | 4 +- Documentation/nvme-dir-send.html | 4 +- Documentation/nvme-disconnect-all.1 | 4 +- Documentation/nvme-disconnect-all.html | 4 +- Documentation/nvme-disconnect.1 | 4 +- Documentation/nvme-disconnect.html | 4 +- Documentation/nvme-discover.1 | 4 +- Documentation/nvme-discover.html | 4 +- Documentation/nvme-dsm.1 | 4 +- Documentation/nvme-dsm.html | 4 +- Documentation/nvme-effects-log.1 | 4 +- Documentation/nvme-effects-log.html | 4 +- Documentation/nvme-endurance-event-agg-log.1 | 4 +- .../nvme-endurance-event-agg-log.html | 4 +- Documentation/nvme-endurance-log.1 | 4 +- Documentation/nvme-endurance-log.html | 4 +- Documentation/nvme-error-log.1 | 4 +- Documentation/nvme-error-log.html | 4 +- Documentation/nvme-fdp-configs.1 | 4 +- Documentation/nvme-fdp-configs.html | 4 +- Documentation/nvme-fdp-events.1 | 4 +- Documentation/nvme-fdp-events.html | 4 +- Documentation/nvme-fdp-set-events.1 | 4 +- Documentation/nvme-fdp-set-events.html | 4 +- Documentation/nvme-fdp-stats.1 | 4 +- Documentation/nvme-fdp-stats.html | 4 +- Documentation/nvme-fdp-status.1 | 4 +- Documentation/nvme-fdp-status.html | 4 +- Documentation/nvme-fdp-update.1 | 4 +- Documentation/nvme-fdp-update.html | 4 +- Documentation/nvme-fdp-usage.1 | 4 +- Documentation/nvme-fdp-usage.html | 4 +- Documentation/nvme-fid-support-effects-log.1 | 4 +- .../nvme-fid-support-effects-log.html | 4 +- Documentation/nvme-flush.1 | 4 +- Documentation/nvme-flush.html | 4 +- Documentation/nvme-format.1 | 4 +- Documentation/nvme-format.html | 4 +- Documentation/nvme-fw-commit.1 | 4 +- Documentation/nvme-fw-commit.html | 4 +- Documentation/nvme-fw-download.1 | 4 +- Documentation/nvme-fw-download.html | 4 +- Documentation/nvme-fw-log.1 | 4 +- Documentation/nvme-fw-log.html | 4 +- Documentation/nvme-gen-hostnqn.1 | 4 +- Documentation/nvme-gen-hostnqn.html | 4 +- Documentation/nvme-gen-tls-key.txt | 6 + Documentation/nvme-get-feature.1 | 11 +- Documentation/nvme-get-feature.html | 17 +- Documentation/nvme-get-feature.txt | 6 +- Documentation/nvme-get-lba-status.1 | 4 +- Documentation/nvme-get-lba-status.html | 4 +- Documentation/nvme-get-log.1 | 4 +- Documentation/nvme-get-log.html | 4 +- Documentation/nvme-get-ns-id.1 | 4 +- Documentation/nvme-get-ns-id.html | 4 +- Documentation/nvme-get-property.1 | 4 +- Documentation/nvme-get-property.html | 4 +- Documentation/nvme-help.1 | 4 +- Documentation/nvme-help.html | 4 +- Documentation/nvme-huawei-id-ctrl.1 | 4 +- Documentation/nvme-huawei-id-ctrl.html | 4 +- Documentation/nvme-huawei-list.1 | 4 +- Documentation/nvme-huawei-list.html | 4 +- Documentation/nvme-id-ctrl.1 | 4 +- Documentation/nvme-id-ctrl.html | 4 +- Documentation/nvme-id-domain.1 | 8 +- Documentation/nvme-id-domain.html | 10 +- Documentation/nvme-id-domain.txt | 6 +- Documentation/nvme-id-iocs.1 | 4 +- Documentation/nvme-id-iocs.html | 4 +- Documentation/nvme-id-ns.1 | 4 +- Documentation/nvme-id-ns.html | 4 +- Documentation/nvme-id-nvmset.1 | 4 +- Documentation/nvme-id-nvmset.html | 4 +- Documentation/nvme-inspur-nvme-vendor-log.1 | 4 +- .../nvme-inspur-nvme-vendor-log.html | 4 +- Documentation/nvme-intel-id-ctrl.1 | 4 +- Documentation/nvme-intel-id-ctrl.html | 4 +- Documentation/nvme-intel-internal-log.1 | 4 +- Documentation/nvme-intel-internal-log.html | 4 +- Documentation/nvme-intel-lat-stats.1 | 4 +- Documentation/nvme-intel-lat-stats.html | 4 +- Documentation/nvme-intel-market-name.1 | 4 +- Documentation/nvme-intel-market-name.html | 4 +- Documentation/nvme-intel-smart-log-add.1 | 4 +- Documentation/nvme-intel-smart-log-add.html | 4 +- Documentation/nvme-intel-temp-stats.1 | 4 +- Documentation/nvme-intel-temp-stats.html | 4 +- Documentation/nvme-io-mgmt-recv.1 | 4 +- Documentation/nvme-io-mgmt-recv.html | 4 +- Documentation/nvme-io-mgmt-send.1 | 4 +- Documentation/nvme-io-mgmt-send.html | 4 +- Documentation/nvme-io-passthru.1 | 4 +- Documentation/nvme-io-passthru.html | 4 +- Documentation/nvme-lba-status-log.1 | 4 +- Documentation/nvme-lba-status-log.html | 4 +- Documentation/nvme-list-ctrl.1 | 4 +- Documentation/nvme-list-ctrl.html | 4 +- Documentation/nvme-list-endgrp.1 | 4 +- Documentation/nvme-list-endgrp.html | 4 +- Documentation/nvme-list-ns.1 | 4 +- Documentation/nvme-list-ns.html | 4 +- Documentation/nvme-list-subsys.1 | 4 +- Documentation/nvme-list-subsys.html | 4 +- Documentation/nvme-list.1 | 4 +- Documentation/nvme-list.html | 4 +- Documentation/nvme-lockdown.1 | 4 +- Documentation/nvme-lockdown.html | 4 +- .../nvme-mi-cmd-support-effects-log.1 | 4 +- .../nvme-mi-cmd-support-effects-log.html | 4 +- Documentation/nvme-micron-clear-pcie-errors.1 | 4 +- .../nvme-micron-clear-pcie-errors.html | 4 +- Documentation/nvme-micron-internal-log.1 | 4 +- Documentation/nvme-micron-internal-log.html | 4 +- Documentation/nvme-micron-nand-stats.1 | 4 +- Documentation/nvme-micron-nand-stats.html | 4 +- Documentation/nvme-micron-pcie-stats.1 | 4 +- Documentation/nvme-micron-pcie-stats.html | 4 +- .../nvme-micron-selective-download.1 | 4 +- .../nvme-micron-selective-download.html | 4 +- Documentation/nvme-micron-smart-add-log.1 | 4 +- Documentation/nvme-micron-smart-add-log.html | 4 +- Documentation/nvme-micron-temperature-stats.1 | 4 +- .../nvme-micron-temperature-stats.html | 4 +- Documentation/nvme-netapp-ontapdevices.1 | 4 +- Documentation/nvme-netapp-ontapdevices.html | 4 +- Documentation/nvme-netapp-smdevices.1 | 4 +- Documentation/nvme-netapp-smdevices.html | 4 +- Documentation/nvme-ns-descs.1 | 4 +- Documentation/nvme-ns-descs.html | 4 +- Documentation/nvme-ns-rescan.1 | 4 +- Documentation/nvme-ns-rescan.html | 4 +- Documentation/nvme-nvm-id-ctrl.1 | 4 +- Documentation/nvme-nvm-id-ctrl.html | 4 +- Documentation/nvme-nvme-mi-recv.1 | 4 +- Documentation/nvme-nvme-mi-recv.html | 4 +- Documentation/nvme-nvme-mi-send.1 | 4 +- Documentation/nvme-nvme-mi-send.html | 4 +- .../nvme-ocp-clear-fw-activate-history.1 | 4 +- .../nvme-ocp-clear-fw-activate-history.html | 4 +- ...cp-clear-pcie-correctable-error-counters.1 | 4 +- ...clear-pcie-correctable-error-counters.html | 4 +- .../nvme-ocp-device-capability-log.1 | 4 +- .../nvme-ocp-device-capability-log.html | 4 +- Documentation/nvme-ocp-eol-plp-failure-mode.1 | 4 +- .../nvme-ocp-eol-plp-failure-mode.html | 4 +- Documentation/nvme-ocp-error-recovery-log.1 | 4 +- .../nvme-ocp-error-recovery-log.html | 4 +- .../nvme-ocp-get-dssd-async-event-config.1 | 4 +- .../nvme-ocp-get-dssd-async-event-config.html | 4 +- .../nvme-ocp-get-dssd-power-state-feature.1 | 4 +- ...nvme-ocp-get-dssd-power-state-feature.html | 4 +- .../nvme-ocp-get-plp-health-check-interval.1 | 4 +- ...vme-ocp-get-plp-health-check-interval.html | 4 +- .../nvme-ocp-hardware-component-log.txt | 85 + Documentation/nvme-ocp-internal-log.1 | 4 +- Documentation/nvme-ocp-internal-log.html | 4 +- Documentation/nvme-ocp-latency-monitor-log.1 | 4 +- .../nvme-ocp-latency-monitor-log.html | 4 +- .../nvme-ocp-set-dssd-async-event-config.1 | 4 +- .../nvme-ocp-set-dssd-async-event-config.html | 4 +- .../nvme-ocp-set-dssd-power-state-feature.1 | 4 +- ...nvme-ocp-set-dssd-power-state-feature.html | 4 +- .../nvme-ocp-set-plp-health-check-interval.1 | 4 +- ...vme-ocp-set-plp-health-check-interval.html | 4 +- .../nvme-ocp-set-telemetry-profile.1 | 4 +- .../nvme-ocp-set-telemetry-profile.html | 4 +- Documentation/nvme-ocp-smart-add-log.1 | 4 +- Documentation/nvme-ocp-smart-add-log.html | 4 +- .../nvme-ocp-telemetry-string-log-page.1 | 4 +- .../nvme-ocp-telemetry-string-log-page.html | 4 +- Documentation/nvme-ocp-unsupported-reqs-log.1 | 4 +- .../nvme-ocp-unsupported-reqs-log.html | 4 +- Documentation/nvme-persistent-event-log.1 | 4 +- Documentation/nvme-persistent-event-log.html | 4 +- Documentation/nvme-pred-lat-event-agg-log.1 | 4 +- .../nvme-pred-lat-event-agg-log.html | 4 +- Documentation/nvme-predictable-lat-log.1 | 4 +- Documentation/nvme-predictable-lat-log.html | 4 +- Documentation/nvme-primary-ctrl-caps.1 | 4 +- Documentation/nvme-primary-ctrl-caps.html | 4 +- Documentation/nvme-read.1 | 4 +- Documentation/nvme-read.html | 4 +- Documentation/nvme-reset.1 | 4 +- Documentation/nvme-reset.html | 4 +- Documentation/nvme-resv-acquire.1 | 4 +- Documentation/nvme-resv-acquire.html | 4 +- Documentation/nvme-resv-notif-log.1 | 4 +- Documentation/nvme-resv-notif-log.html | 4 +- Documentation/nvme-resv-register.1 | 4 +- Documentation/nvme-resv-register.html | 4 +- Documentation/nvme-resv-release.1 | 4 +- Documentation/nvme-resv-release.html | 4 +- Documentation/nvme-resv-report.1 | 4 +- Documentation/nvme-resv-report.html | 4 +- Documentation/nvme-rpmb.1 | 4 +- Documentation/nvme-rpmb.html | 4 +- Documentation/nvme-sanitize-log.1 | 4 +- Documentation/nvme-sanitize-log.html | 4 +- Documentation/nvme-sanitize.1 | 18 +- Documentation/nvme-sanitize.html | 26 +- Documentation/nvme-sanitize.txt | 12 +- .../nvme-seagate-clear-fw-activate-history.1 | 4 +- ...vme-seagate-clear-fw-activate-history.html | 4 +- ...me-seagate-clear-pcie-correctable-errors.1 | 4 +- ...seagate-clear-pcie-correctable-errors.html | 4 +- .../nvme-seagate-cloud-SSD-plugin-version.1 | 4 +- ...nvme-seagate-cloud-SSD-plugin-version.html | 4 +- Documentation/nvme-seagate-get-ctrl-tele.1 | 4 +- Documentation/nvme-seagate-get-ctrl-tele.html | 4 +- Documentation/nvme-seagate-get-host-tele.1 | 4 +- Documentation/nvme-seagate-get-host-tele.html | 4 +- Documentation/nvme-seagate-help.1 | 4 +- Documentation/nvme-seagate-help.html | 4 +- Documentation/nvme-seagate-plugin-version.1 | 4 +- .../nvme-seagate-plugin-version.html | 4 +- Documentation/nvme-seagate-version.1 | 4 +- Documentation/nvme-seagate-version.html | 4 +- .../nvme-seagate-vs-fw-activate-history.1 | 4 +- .../nvme-seagate-vs-fw-activate-history.html | 4 +- Documentation/nvme-seagate-vs-internal-log.1 | 4 +- .../nvme-seagate-vs-internal-log.html | 4 +- Documentation/nvme-seagate-vs-log-page-sup.1 | 4 +- .../nvme-seagate-vs-log-page-sup.html | 4 +- Documentation/nvme-seagate-vs-pcie-stats.1 | 4 +- Documentation/nvme-seagate-vs-pcie-stats.html | 4 +- Documentation/nvme-seagate-vs-smart-add-log.1 | 4 +- .../nvme-seagate-vs-smart-add-log.html | 4 +- .../nvme-seagate-vs-temperature-stats.1 | 4 +- .../nvme-seagate-vs-temperature-stats.html | 4 +- Documentation/nvme-security-recv.1 | 4 +- Documentation/nvme-security-recv.html | 4 +- Documentation/nvme-security-send.1 | 4 +- Documentation/nvme-security-send.html | 4 +- Documentation/nvme-self-test-log.1 | 4 +- Documentation/nvme-self-test-log.html | 4 +- Documentation/nvme-set-feature.1 | 4 +- Documentation/nvme-set-feature.html | 4 +- Documentation/nvme-set-property.1 | 4 +- Documentation/nvme-set-property.html | 4 +- Documentation/nvme-show-hostnqn.1 | 4 +- Documentation/nvme-show-hostnqn.html | 4 +- Documentation/nvme-show-regs.1 | 4 +- Documentation/nvme-show-regs.html | 4 +- Documentation/nvme-show-topology.1 | 4 +- Documentation/nvme-show-topology.html | 4 +- Documentation/nvme-smart-log.1 | 4 +- Documentation/nvme-smart-log.html | 4 +- ...nvme-solidigm-clear-fw-activate-history.1} | 56 +- ...e-solidigm-clear-fw-activate-history.html} | 47 +- ...vme-solidigm-clear-fw-activate-history.txt | 48 + ...-solidigm-clear-pcie-correctable-errors.1} | 58 +- ...lidigm-clear-pcie-correctable-errors.html} | 59 +- ...solidigm-clear-pcie-correctable-errors.txt | 49 + ...> nvme-solidigm-cloud-SSDplugin-version.1} | 21 +- ...vme-solidigm-cloud-SSDplugin-version.html} | 27 +- .../nvme-solidigm-cloud-SSDplugin-version.txt | 29 + ....1 => nvme-solidigm-garbage-collect-log.1} | 24 +- ...=> nvme-solidigm-garbage-collect-log.html} | 65 +- .../nvme-solidigm-garbage-collect-log.txt | 44 + ...wdc-cap-diag.1 => nvme-solidigm-id-ctrl.1} | 58 +- ...p-diag.html => nvme-solidigm-id-ctrl.html} | 93 +- Documentation/nvme-solidigm-id-ctrl.txt | 74 + ...1 => nvme-solidigm-latency-tracking-log.1} | 84 +- ...> nvme-solidigm-latency-tracking-log.html} | 120 +- .../nvme-solidigm-latency-tracking-log.txt | 79 + ...l.1 => nvme-solidigm-log-page-directory.1} | 30 +- ... => nvme-solidigm-log-page-directory.html} | 43 +- .../nvme-solidigm-log-page-directory.txt | 44 + ...endor-log.1 => nvme-solidigm-market-log.1} | 46 +- ...ock.html => nvme-solidigm-market-log.html} | 44 +- Documentation/nvme-solidigm-market-log.txt | 42 + .../nvme-solidigm-parse-telemetry-log.1 | 183 ++ ...=> nvme-solidigm-parse-telemetry-log.html} | 119 +- .../nvme-solidigm-parse-telemetry-log.txt | 86 + ...d-iocs.1 => nvme-solidigm-smart-log-add.1} | 60 +- ....html => nvme-solidigm-smart-log-add.html} | 65 +- Documentation/nvme-solidigm-smart-log-add.txt | 56 + ...rket-name.1 => nvme-solidigm-temp-stats.1} | 41 +- ...ame.html => nvme-solidigm-temp-stats.html} | 39 +- Documentation/nvme-solidigm-temp-stats.txt | 44 + ...d-ctrl.1 => nvme-solidigm-vs-drive-info.1} | 30 +- ....html => nvme-solidigm-vs-drive-info.html} | 42 +- Documentation/nvme-solidigm-vs-drive-info.txt | 45 + ...=> nvme-solidigm-vs-fw-activate-history.1} | 48 +- ...nvme-solidigm-vs-fw-activate-history.html} | 46 +- .../nvme-solidigm-vs-fw-activate-history.txt | 39 + ...-log.1 => nvme-solidigm-vs-internal-log.1} | 42 +- ...tml => nvme-solidigm-vs-internal-log.html} | 67 +- .../nvme-solidigm-vs-internal-log.txt | 59 + ...all.1 => nvme-solidigm-vs-smart-add-log.1} | 52 +- ...ml => nvme-solidigm-vs-smart-add-log.html} | 46 +- .../nvme-solidigm-vs-smart-add-log.txt | 39 + .../nvme-solidigm-workload-tracker.1 | 221 ++ ...ml => nvme-solidigm-workload-tracker.html} | 187 +- .../nvme-solidigm-workload-tracker.txt | 104 + Documentation/nvme-subsystem-reset.1 | 4 +- Documentation/nvme-subsystem-reset.html | 4 +- Documentation/nvme-supported-log-pages.1 | 4 +- Documentation/nvme-supported-log-pages.html | 4 +- Documentation/nvme-telemetry-log.1 | 4 +- Documentation/nvme-telemetry-log.html | 4 +- Documentation/nvme-tls-key.1 | 4 +- Documentation/nvme-tls-key.html | 4 +- ...me-toshiba-clear-pcie-correctable-errors.1 | 4 +- ...toshiba-clear-pcie-correctable-errors.html | 4 +- Documentation/nvme-toshiba-vs-internal-log.1 | 4 +- .../nvme-toshiba-vs-internal-log.html | 4 +- Documentation/nvme-toshiba-vs-smart-add-log.1 | 4 +- .../nvme-toshiba-vs-smart-add-log.html | 4 +- Documentation/nvme-transcend-badblock.1 | 4 +- Documentation/nvme-transcend-badblock.html | 4 +- Documentation/nvme-transcend-healthvalue.1 | 4 +- Documentation/nvme-transcend-healthvalue.html | 4 +- Documentation/nvme-verify.1 | 4 +- Documentation/nvme-verify.html | 4 +- .../nvme-virtium-save-smart-to-vtview-log.1 | 4 +- ...nvme-virtium-save-smart-to-vtview-log.html | 4 +- Documentation/nvme-virtium-show-identify.1 | 4 +- Documentation/nvme-virtium-show-identify.html | 4 +- Documentation/nvme-wdc-cap-diag.1 | 4 +- Documentation/nvme-wdc-cap-diag.html | 4 +- Documentation/nvme-wdc-capabilities.1 | 4 +- Documentation/nvme-wdc-capabilities.html | 4 +- Documentation/nvme-wdc-clear-assert-dump.1 | 4 +- Documentation/nvme-wdc-clear-assert-dump.html | 4 +- .../nvme-wdc-clear-fw-activate-history.1 | 4 +- .../nvme-wdc-clear-fw-activate-history.html | 4 +- .../nvme-wdc-clear-pcie-correctable-errors.1 | 4 +- ...vme-wdc-clear-pcie-correctable-errors.html | 4 +- .../nvme-wdc-cloud-SSD-plugin-version.1 | 4 +- .../nvme-wdc-cloud-SSD-plugin-version.html | 4 +- .../nvme-wdc-cloud-boot-SSD-version.1 | 4 +- .../nvme-wdc-cloud-boot-SSD-version.html | 4 +- Documentation/nvme-wdc-drive-essentials.1 | 4 +- Documentation/nvme-wdc-drive-essentials.html | 4 +- Documentation/nvme-wdc-drive-log.1 | 4 +- Documentation/nvme-wdc-drive-log.html | 4 +- Documentation/nvme-wdc-drive-resize.1 | 4 +- Documentation/nvme-wdc-drive-resize.html | 4 +- Documentation/nvme-wdc-enc-get-log.1 | 4 +- Documentation/nvme-wdc-enc-get-log.html | 4 +- Documentation/nvme-wdc-get-crash-dump.1 | 4 +- Documentation/nvme-wdc-get-crash-dump.html | 4 +- .../nvme-wdc-get-dev-capabilities-log.1 | 4 +- .../nvme-wdc-get-dev-capabilities-log.html | 4 +- Documentation/nvme-wdc-get-drive-status.1 | 4 +- Documentation/nvme-wdc-get-drive-status.html | 4 +- .../nvme-wdc-get-error-recovery-log.1 | 4 +- .../nvme-wdc-get-error-recovery-log.html | 4 +- .../nvme-wdc-get-latency-monitor-log.1 | 4 +- .../nvme-wdc-get-latency-monitor-log.html | 4 +- Documentation/nvme-wdc-get-pfail-dump.1 | 4 +- Documentation/nvme-wdc-get-pfail-dump.html | 4 +- .../nvme-wdc-get-unsupported-reqs-log.1 | 4 +- .../nvme-wdc-get-unsupported-reqs-log.html | 4 +- Documentation/nvme-wdc-id-ctrl.1 | 4 +- Documentation/nvme-wdc-id-ctrl.html | 4 +- Documentation/nvme-wdc-log-page-directory.1 | 4 +- .../nvme-wdc-log-page-directory.html | 4 +- Documentation/nvme-wdc-namespace-resize.1 | 4 +- Documentation/nvme-wdc-namespace-resize.html | 4 +- Documentation/nvme-wdc-purge-monitor.1 | 4 +- Documentation/nvme-wdc-purge-monitor.html | 4 +- Documentation/nvme-wdc-purge.1 | 4 +- Documentation/nvme-wdc-purge.html | 4 +- Documentation/nvme-wdc-vs-cloud-log.1 | 4 +- Documentation/nvme-wdc-vs-cloud-log.html | 4 +- Documentation/nvme-wdc-vs-device-waf.1 | 4 +- Documentation/nvme-wdc-vs-device-waf.html | 4 +- Documentation/nvme-wdc-vs-drive-info.1 | 4 +- Documentation/nvme-wdc-vs-drive-info.html | 4 +- .../nvme-wdc-vs-error-reason-identifier.1 | 4 +- .../nvme-wdc-vs-error-reason-identifier.html | 4 +- .../nvme-wdc-vs-fw-activate-history.1 | 4 +- .../nvme-wdc-vs-fw-activate-history.html | 4 +- Documentation/nvme-wdc-vs-hw-rev-log.1 | 4 +- Documentation/nvme-wdc-vs-hw-rev-log.html | 4 +- Documentation/nvme-wdc-vs-internal-log.1 | 4 +- Documentation/nvme-wdc-vs-internal-log.html | 4 +- Documentation/nvme-wdc-vs-nand-stats.1 | 4 +- Documentation/nvme-wdc-vs-nand-stats.html | 4 +- Documentation/nvme-wdc-vs-smart-add-log.1 | 4 +- Documentation/nvme-wdc-vs-smart-add-log.html | 4 +- .../nvme-wdc-vs-telemetry-controller-option.1 | 4 +- ...me-wdc-vs-telemetry-controller-option.html | 4 +- Documentation/nvme-wdc-vs-temperature-stats.1 | 4 +- .../nvme-wdc-vs-temperature-stats.html | 4 +- Documentation/nvme-write-uncor.1 | 4 +- Documentation/nvme-write-uncor.html | 4 +- Documentation/nvme-write-zeroes.1 | 4 +- Documentation/nvme-write-zeroes.html | 4 +- Documentation/nvme-write.1 | 4 +- Documentation/nvme-write.html | 4 +- Documentation/nvme-zns-changed-zone-list.1 | 4 +- Documentation/nvme-zns-changed-zone-list.html | 4 +- Documentation/nvme-zns-close-zone.1 | 4 +- Documentation/nvme-zns-close-zone.html | 4 +- Documentation/nvme-zns-finish-zone.1 | 4 +- Documentation/nvme-zns-finish-zone.html | 4 +- Documentation/nvme-zns-id-ctrl.1 | 4 +- Documentation/nvme-zns-id-ctrl.html | 4 +- Documentation/nvme-zns-id-ns.1 | 4 +- Documentation/nvme-zns-id-ns.html | 4 +- Documentation/nvme-zns-offline-zone.1 | 4 +- Documentation/nvme-zns-offline-zone.html | 4 +- Documentation/nvme-zns-open-zone.1 | 4 +- Documentation/nvme-zns-open-zone.html | 4 +- Documentation/nvme-zns-report-zones.1 | 4 +- Documentation/nvme-zns-report-zones.html | 4 +- Documentation/nvme-zns-reset-zone.1 | 4 +- Documentation/nvme-zns-reset-zone.html | 4 +- Documentation/nvme-zns-set-zone-desc.1 | 4 +- Documentation/nvme-zns-set-zone-desc.html | 4 +- Documentation/nvme-zns-zone-append.1 | 4 +- Documentation/nvme-zns-zone-append.html | 4 +- Documentation/nvme-zns-zone-mgmt-recv.1 | 4 +- Documentation/nvme-zns-zone-mgmt-recv.html | 4 +- Documentation/nvme-zns-zone-mgmt-send.1 | 4 +- Documentation/nvme-zns-zone-mgmt-send.html | 4 +- Documentation/nvme.1 | 9 +- Documentation/nvme.html | 12 +- completions/_nvme | 105 +- completions/bash-nvme-completion.sh | 57 +- fabrics.c | 122 +- meson.build | 5 +- nvme-print-json.c | 440 ++-- nvme-print-stdout.c | 289 ++- nvme-print.c | 48 +- nvme-print.h | 15 +- nvme.c | 262 ++- .../udev-rules/70-nvmf-keys.rules.in | 7 + plugins/dapustor/dapustor-nvme.c | 553 +++++ plugins/dapustor/dapustor-nvme.h | 18 + plugins/fdp/fdp.c | 10 +- plugins/innogrit/innogrit-nvme.c | 507 ++--- plugins/innogrit/innogrit-nvme.h | 3 +- plugins/innogrit/typedef.h | 87 +- plugins/memblaze/memblaze-nvme.c | 2 +- plugins/meson.build | 4 +- plugins/netapp/netapp-nvme.c | 322 ++- plugins/ocp/meson.build | 9 + plugins/ocp/ocp-fw-activation-history.c | 129 +- plugins/ocp/ocp-fw-activation-history.h | 32 +- plugins/ocp/ocp-hardware-component-log.c | 288 +++ plugins/ocp/ocp-hardware-component-log.h | 64 + plugins/ocp/ocp-nvme.c | 1809 +++-------------- plugins/ocp/ocp-nvme.h | 200 +- plugins/ocp/ocp-print-binary.c | 54 + plugins/ocp/ocp-print-json.c | 851 ++++++++ plugins/ocp/ocp-print-stdout.c | 710 +++++++ plugins/ocp/ocp-print.c | 81 + plugins/ocp/ocp-print.h | 51 + plugins/ocp/ocp-smart-extended-log.c | 239 +-- plugins/ocp/ocp-smart-extended-log.h | 40 + plugins/ocp/ocp-telemetry-decode.c | 461 +++-- plugins/ocp/ocp-telemetry-decode.h | 34 +- plugins/sed/sedopal_cmd.c | 18 +- plugins/solidigm/solidigm-internal-logs.c | 70 +- plugins/solidigm/solidigm-nvme.h | 2 +- plugins/solidigm/solidigm-telemetry.c | 13 +- plugins/solidigm/solidigm-util.c | 16 + plugins/solidigm/solidigm-util.h | 5 +- plugins/solidigm/solidigm-workload-tracker.c | 363 +++- plugins/wdc/wdc-nvme.c | 57 +- plugins/wdc/wdc-nvme.h | 2 +- scripts/release.sh | 2 +- subprojects/libnvme.wrap | 2 +- tests/nvme_attach_detach_ns_test.py | 6 +- tests/nvme_compare_test.py | 11 + tests/nvme_copy_test.py | 1 + tests/nvme_create_max_ns_test.py | 13 +- tests/nvme_ctrl_reset_test.py | 2 + tests/nvme_format_test.py | 13 +- tests/nvme_get_features_test.py | 2 + tests/nvme_get_lba_status_test.py | 7 +- tests/nvme_lba_status_log_test.py | 2 + tests/nvme_smart_log_test.py | 2 +- tests/nvme_test.py | 128 +- util/logging.h | 6 + util/types.c | 2 +- util/types.h | 1 + 533 files changed, 9033 insertions(+), 4835 deletions(-) create mode 100644 .github/workflows/run-nightly-tests.yml copy Documentation/{nvme-intel-smart-log-add.1 => nvme-dapustor-smart-log-add.1} (77%) copy Documentation/{nvme-intel-smart-log-add.html => nvme-dapustor-smart-log-add.html} (91%) create mode 100644 Documentation/nvme-dapustor-smart-log-add.txt create mode 100644 Documentation/nvme-ocp-hardware-component-log.txt copy Documentation/{nvme-ocp-set-plp-health-check-interval.1 => nvme-solidigm-clear-fw-activate-history.1} (61%) copy Documentation/{nvme-zns-id-ctrl.html => nvme-solidigm-clear-fw-activate-history.html} (88%) create mode 100644 Documentation/nvme-solidigm-clear-fw-activate-history.txt copy Documentation/{nvme-ocp-set-plp-health-check-interval.1 => nvme-solidigm-clear-pcie-correctable-errors.1} (59%) copy Documentation/{nvme-zns-changed-zone-list.html => nvme-solidigm-clear-pcie-correctable-errors.html} (87%) create mode 100644 Documentation/nvme-solidigm-clear-pcie-correctable-errors.txt copy Documentation/{nvme-help.1 => nvme-solidigm-cloud-SSDplugin-version.1} (76%) copy Documentation/{nvme-help.html => nvme-solidigm-cloud-SSDplugin-version.html} (91%) create mode 100644 Documentation/nvme-solidigm-cloud-SSDplugin-version.txt copy Documentation/{nvme-zns-id-ctrl.1 => nvme-solidigm-garbage-collect-log.1} (70%) copy Documentation/{nvme-id-domain.html => nvme-solidigm-garbage-collect-log.html} (90%) create mode 100644 Documentation/nvme-solidigm-garbage-collect-log.txt copy Documentation/{nvme-wdc-cap-diag.1 => nvme-solidigm-id-ctrl.1} (50%) copy Documentation/{nvme-wdc-cap-diag.html => nvme-solidigm-id-ctrl.html} (84%) create mode 100644 Documentation/nvme-solidigm-id-ctrl.txt copy Documentation/{nvme-id-nvmset.1 => nvme-solidigm-latency-tracking-log.1} (53%) copy Documentation/{nvme-device-self-test.html => nvme-solidigm-latency-tracking-log.html} (85%) create mode 100644 Documentation/nvme-solidigm-latency-tracking-log.txt copy Documentation/{nvme-zns-id-ctrl.1 => nvme-solidigm-log-page-directory.1} (66%) copy Documentation/{nvme-intel-market-name.html => nvme-solidigm-log-page-directory.html} (89%) create mode 100644 Documentation/nvme-solidigm-log-page-directory.txt copy Documentation/{nvme-inspur-nvme-vendor-log.1 => nvme-solidigm-market-log.1} (68%) copy Documentation/{nvme-transcend-badblock.html => nvme-solidigm-market-log.html} (90%) create mode 100644 Documentation/nvme-solidigm-market-log.txt create mode 100644 Documentation/nvme-solidigm-parse-telemetry-log.1 copy Documentation/{nvme-device-self-test.html => nvme-solidigm-parse-telemetry-log.html} (83%) create mode 100644 Documentation/nvme-solidigm-parse-telemetry-log.txt copy Documentation/{nvme-id-iocs.1 => nvme-solidigm-smart-log-add.1} (63%) copy Documentation/{nvme-resv-notif-log.html => nvme-solidigm-smart-log-add.html} (89%) create mode 100644 Documentation/nvme-solidigm-smart-log-add.txt copy Documentation/{nvme-intel-market-name.1 => nvme-solidigm-temp-stats.1} (64%) copy Documentation/{nvme-intel-market-name.html => nvme-solidigm-temp-stats.html} (90%) create mode 100644 Documentation/nvme-solidigm-temp-stats.txt copy Documentation/{nvme-zns-id-ctrl.1 => nvme-solidigm-vs-drive-info.1} (66%) copy Documentation/{nvme-ocp-error-recovery-log.html => nvme-solidigm-vs-drive-info.html} (89%) create mode 100644 Documentation/nvme-solidigm-vs-drive-info.txt copy Documentation/{nvme-wdc-vs-nand-stats.1 => nvme-solidigm-vs-fw-activate-history.1} (62%) copy Documentation/{nvme-reset.html => nvme-solidigm-vs-fw-activate-history.html} (89%) create mode 100644 Documentation/nvme-solidigm-vs-fw-activate-history.txt copy Documentation/{nvme-wdc-drive-log.1 => nvme-solidigm-vs-internal-log.1} (58%) copy Documentation/{nvme-id-iocs.html => nvme-solidigm-vs-internal-log.html} (87%) create mode 100644 Documentation/nvme-solidigm-vs-internal-log.txt copy Documentation/{nvme-disconnect-all.1 => nvme-solidigm-vs-smart-add-log.1} (63%) copy Documentation/{nvme-reset.html => nvme-solidigm-vs-smart-add-log.html} (89%) create mode 100644 Documentation/nvme-solidigm-vs-smart-add-log.txt create mode 100644 Documentation/nvme-solidigm-workload-tracker.1 copy Documentation/{nvme-id-ctrl.html => nvme-solidigm-workload-tracker.html} (79%) create mode 100644 Documentation/nvme-solidigm-workload-tracker.txt create mode 100644 nvmf-autoconnect/udev-rules/70-nvmf-keys.rules.in create mode 100644 plugins/dapustor/dapustor-nvme.c create mode 100644 plugins/dapustor/dapustor-nvme.h create mode 100644 plugins/ocp/ocp-hardware-component-log.c create mode 100644 plugins/ocp/ocp-hardware-component-log.h create mode 100644 plugins/ocp/ocp-print-binary.c create mode 100644 plugins/ocp/ocp-print-json.c create mode 100644 plugins/ocp/ocp-print-stdout.c create mode 100644 plugins/ocp/ocp-print.c create mode 100644 plugins/ocp/ocp-print.h diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index c7b92f7..9768c70 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -14,7 +14,7 @@ jobs: name: build AppImage runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian:latest + image: ghcr.io/linux-nvme/debian:latest steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 66b3811..a52f129 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ jobs: compiler: [gcc, clang] buildtype: [debug, release] container: - image: ghcr.io/igaw/linux-nvme/debian.python:latest + image: ghcr.io/linux-nvme/debian.python:latest steps: - uses: actions/checkout@v4 - name: build @@ -43,10 +43,16 @@ jobs: - uses: actions/checkout@v4 - name: enable foreign arch uses: dbhi/qus/action@main + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: compile and run unit tests uses: mosteo-actions/docker-run@v2 with: - image: ghcr.io/igaw/linux-nvme/ubuntu-cross-${{ matrix.arch }}:latest + image: ghcr.io/linux-nvme/ubuntu-cross-${{ matrix.arch }}:latest guest-dir: /build host-dir: ${{ github.workspace }} command: | @@ -65,7 +71,7 @@ jobs: name: fallback shared libraries runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian:latest + image: ghcr.io/linux-nvme/debian:latest if: github.ref == 'refs/heads/master' steps: - uses: actions/checkout@v4 @@ -83,7 +89,7 @@ jobs: name: muon minimal static runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian:latest + image: ghcr.io/linux-nvme/debian:latest steps: - uses: actions/checkout@v4 - name: build @@ -94,7 +100,7 @@ jobs: name: make static runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian:latest + image: ghcr.io/linux-nvme/debian:latest steps: - uses: actions/checkout@v4 - name: build @@ -105,7 +111,7 @@ jobs: name: build libnvme and nvme-cli separately runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian:latest + image: ghcr.io/linux-nvme/debian:latest steps: - uses: actions/checkout@v4 - name: build diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 875ed6d..20c69fa 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -11,7 +11,7 @@ jobs: name: code coverage runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian.python:latest + image: ghcr.io/linux-nvme/debian.python:latest steps: - uses: actions/checkout@v4 - name: build diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 89fbd67..465bb26 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -18,7 +18,7 @@ jobs: name: build documentation runs-on: ubuntu-latest container: - image: ghcr.io/igaw/linux-nvme/debian:latest + image: ghcr.io/linux-nvme/debian:latest steps: - uses: actions/checkout@v4 - name: build diff --git a/.github/workflows/run-nightly-tests.yml b/.github/workflows/run-nightly-tests.yml new file mode 100644 index 0000000..d525986 --- /dev/null +++ b/.github/workflows/run-nightly-tests.yml @@ -0,0 +1,93 @@ +--- +name: run-nightly-tests + +on: + workflow_dispatch: + schedule: + - cron: '0 01 * * *' + +jobs: + nightly-tests: + runs-on: nvme-nvm + steps: + - name: Output kernel version + run: | + uname -a + - name: Clean up test device + run: | + #BDEV0 is an environment variable of the self-hosted runner instance + #that contains a valid nvme ctrl name which is capable of the nvm + #command set. + CONTROLLER=$(echo /dev/${BDEV0} | sed 's/n[0-9]*$//') + sudo nvme delete-ns $CONTROLLER -n 0xffffffff + sudo nvme format $CONTROLLER -n 0xffffffff -l 0 -f + SIZE=$(sudo nvme id-ctrl $CONTROLLER --output-format=json | jq -r '{tnvmcap} | .[]' | awk '{print $1/512}') + sudo nvme create-ns -s $SIZE -c $SIZE -f 0 -d 0 --csi=0 $CONTROLLER + sudo nvme attach-ns $CONTROLLER -n 1 -c 0 + - uses: actions/checkout@v4 + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends -y \ + meson gcc pkg-config git libjson-c-dev libssl-dev libkeyutils-dev \ + libdbus-1-dev libpython3-dev pipx python3-dev swig xz-utils + pipx ensurepath + sudo PIPX_BIN_DIR=/usr/local/bin pipx install nose2 + sudo PIPX_BIN_DIR=/usr/local/bin pipx install flake8 + sudo PIPX_BIN_DIR=/usr/local/bin pipx install mypy + sudo PIPX_BIN_DIR=/usr/local/bin pipx install autopep8 + sudo PIPX_BIN_DIR=/usr/local/bin pipx install isort + - name: Build and install nvme-cli + run: | + scripts/build.sh -b release -c gcc + sudo meson install -C .build-ci + sudo ldconfig /usr/local/lib64 + - name: Overwrite test config + run: | + CONTROLLER=$(echo /dev/${BDEV0} | sed 's/n[0-9]*$//') + cat > tests/config.json << EOF + { + "controller" : "$CONTROLLER", + "ns1": "/dev/${BDEV0}", + "log_dir": "tests/nvmetests/" + } + EOF + - name: Run on device tests + run: | + sudo nose2 --verbose --start-dir tests \ + nvme_attach_detach_ns_test \ + nvme_compare_test \ + nvme_copy_test \ + nvme_create_max_ns_test \ + nvme_ctrl_reset_test \ + nvme_dsm_test \ + nvme_error_log_test \ + nvme_flush_test \ + nvme_format_test \ + nvme_fw_log_test \ + nvme_get_features_test \ + nvme_get_lba_status_test \ + nvme_id_ctrl_test \ + nvme_id_ns_test \ + nvme_lba_status_log_test \ + nvme_read_write_test \ + nvme_smart_log_test \ + nvme_verify_test \ + nvme_writeuncor_test \ + nvme_writezeros_test + - name: Upload logs + uses: actions/upload-artifact@v4 + if: always() + with: + name: logs files + path: | + ./tests/nvmetests/**/*.log + - name: Clean up test device + if: always() + run: | + CONTROLLER=$(echo /dev/${BDEV0} | sed 's/n[0-9]*$//') + sudo nvme delete-ns $CONTROLLER -n 0xffffffff + sudo nvme format $CONTROLLER -n 0xffffffff -l 0 -f + SIZE=$(sudo nvme id-ctrl $CONTROLLER --output-format=json | jq -r '{tnvmcap} | .[]' | awk '{print $1/512}') + sudo nvme create-ns -s $SIZE -c $SIZE -f 0 -d 0 --csi=0 $CONTROLLER + sudo nvme attach-ns $CONTROLLER -n 1 -c 0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cde8527..df0e8e5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,6 +19,28 @@ Please feel free to use the github forums to ask for comments & questions on your code before submitting a pull request. The NVMe CLI project uses the common *fork and merge* workflow used by most GitHub-hosted projects. +#### Commit conventions + +The project follows the Linux kernel mailing list workflow, +thus commit messages should be structured like this: +``` +: + + + +Signed-off-by: My Name/alias +``` + +Example: + +``` +doc: added commit conventions to contribution guidelines + +Show new contributors the project's commit guidelines + +Signed-off-by: John Doe +``` + ### Bug Reports Bugs for the NVM Library project are tracked in our [GitHub Issues Database](https://github.com/linux-nvme/nvme-cli/issues). diff --git a/Documentation/cmd-plugins.txt b/Documentation/cmd-plugins.txt index 338425e..2e80bfc 100644 --- a/Documentation/cmd-plugins.txt +++ b/Documentation/cmd-plugins.txt @@ -204,3 +204,6 @@ linknvme:nvme-zns-zrwa-flush-zone[1]:: linknvme:nvme-inspur-nvme-vendor-log[1]:: NVMe Inspur Device Vendor log page request + +linknvme:nvme-dapustor-smart-log-add[1]:: + NVMe DapuStor Additional SMART log page diff --git a/Documentation/meson.build b/Documentation/meson.build index 1478134..65495e3 100644 --- a/Documentation/meson.build +++ b/Documentation/meson.build @@ -14,6 +14,7 @@ adoc_sources = [ 'nvme-connect-all', 'nvme-copy', 'nvme-create-ns', + 'nvme-dapustor-smart-log-add', 'nvme-delete-ns', 'nvme-dera-stat', 'nvme-detach-ns', @@ -142,6 +143,22 @@ adoc_sources = [ 'nvme-show-regs', 'nvme-show-topology', 'nvme-smart-log', + 'nvme-solidigm-clear-fw-activate-history', + 'nvme-solidigm-clear-pcie-correctable-errors', + 'nvme-solidigm-cloud-SSDplugin-version', + 'nvme-solidigm-garbage-collect-log', + 'nvme-solidigm-id-ctrl', + 'nvme-solidigm-latency-tracking-log', + 'nvme-solidigm-log-page-directory', + 'nvme-solidigm-market-log', + 'nvme-solidigm-parse-telemetry-log', + 'nvme-solidigm-smart-log-add', + 'nvme-solidigm-temp-stats', + 'nvme-solidigm-vs-drive-info', + 'nvme-solidigm-vs-fw-activate-history', + 'nvme-solidigm-vs-internal-log', + 'nvme-solidigm-vs-smart-add-log', + 'nvme-solidigm-workload-tracker', 'nvme-subsystem-reset', 'nvme-supported-log-pages', 'nvme-telemetry-log', diff --git a/Documentation/nvme-admin-passthru.1 b/Documentation/nvme-admin-passthru.1 index a1d33c6..25576c9 100644 --- a/Documentation/nvme-admin-passthru.1 +++ b/Documentation/nvme-admin-passthru.1 @@ -2,12 +2,12 @@ .\" Title: nvme-admin-passthru .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/05/2024 +.\" Date: 10/31/2024 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" -.TH "NVME\-ADMIN\-PASSTHR" "1" "08/05/2024" "NVMe" "NVMe Manual" +.TH "NVME\-ADMIN\-PASSTHR" "1" "10/31/2024" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/Documentation/nvme-admin-passthru.html b/Documentation/nvme-admin-passthru.html index d918999..1ae7d89 100644 --- a/Documentation/nvme-admin-passthru.html +++ b/Documentation/nvme-admin-passthru.html @@ -4,7 +4,7 @@ - + nvme-admin-passthru(1)