From ee6621a5b2e0c9d31f45529c5069cfe010788154 Mon Sep 17 00:00:00 2001
From: Daniel Baumann
Date: Sun, 16 Feb 2025 12:24:13 +0100
Subject: [PATCH] Merging upstream version 2.5.
Signed-off-by: Daniel Baumann
---
.github/cross/clang.txt | 5 -
...buntu-armhf.txt => ubuntu-cross-armhf.txt} | 0
...u-ppc64le.txt => ubuntu-cross-ppc64le.txt} | 0
...buntu-s390x.txt => ubuntu-cross-s390x.txt} | 0
.github/workflows/appimage.yml | 34 +-
.github/workflows/build.yml | 370 +-
Documentation/meson.build | 4 +
Documentation/nvme-admin-passthru.1 | 14 +-
Documentation/nvme-admin-passthru.html | 13 +-
Documentation/nvme-admin-passthru.txt | 9 +-
Documentation/nvme-ana-log.1 | 4 +-
Documentation/nvme-ana-log.html | 2 +-
Documentation/nvme-attach-ns.1 | 4 +-
Documentation/nvme-attach-ns.html | 2 +-
Documentation/nvme-boot-part-log.1 | 4 +-
Documentation/nvme-boot-part-log.html | 2 +-
Documentation/nvme-capacity-mgmt.1 | 4 +-
Documentation/nvme-capacity-mgmt.html | 2 +-
Documentation/nvme-changed-ns-list-log.1 | 4 +-
Documentation/nvme-changed-ns-list-log.html | 2 +-
Documentation/nvme-cmdset-ind-id-ns.1 | 4 +-
Documentation/nvme-cmdset-ind-id-ns.html | 2 +-
Documentation/nvme-compare.1 | 4 +-
Documentation/nvme-compare.html | 2 +-
Documentation/nvme-connect-all.1 | 74 +-
Documentation/nvme-connect-all.html | 59 +-
Documentation/nvme-connect-all.txt | 28 +
Documentation/nvme-connect.1 | 10 +-
Documentation/nvme-connect.html | 14 +-
Documentation/nvme-connect.txt | 5 +
Documentation/nvme-copy.1 | 4 +-
Documentation/nvme-copy.html | 2 +-
Documentation/nvme-create-ns.1 | 40 +-
Documentation/nvme-create-ns.html | 85 +-
Documentation/nvme-create-ns.txt | 41 +-
Documentation/nvme-delete-ns.1 | 4 +-
Documentation/nvme-delete-ns.html | 2 +-
Documentation/nvme-dera-stat.1 | 4 +-
Documentation/nvme-dera-stat.html | 2 +-
Documentation/nvme-detach-ns.1 | 4 +-
Documentation/nvme-detach-ns.html | 2 +-
Documentation/nvme-device-self-test.1 | 4 +-
Documentation/nvme-device-self-test.html | 2 +-
Documentation/nvme-dim.1 | 4 +-
Documentation/nvme-dim.html | 2 +-
Documentation/nvme-dir-receive.1 | 4 +-
Documentation/nvme-dir-receive.html | 2 +-
Documentation/nvme-dir-send.1 | 4 +-
Documentation/nvme-dir-send.html | 2 +-
Documentation/nvme-disconnect-all.1 | 4 +-
Documentation/nvme-disconnect-all.html | 2 +-
Documentation/nvme-disconnect.1 | 4 +-
Documentation/nvme-disconnect.html | 2 +-
Documentation/nvme-discover.1 | 76 +-
Documentation/nvme-discover.html | 61 +-
Documentation/nvme-discover.txt | 31 +-
Documentation/nvme-dsm.1 | 6 +-
Documentation/nvme-dsm.html | 4 +-
Documentation/nvme-dsm.txt | 2 +-
Documentation/nvme-effects-log.1 | 4 +-
Documentation/nvme-effects-log.html | 2 +-
Documentation/nvme-endurance-event-agg-log.1 | 4 +-
.../nvme-endurance-event-agg-log.html | 2 +-
Documentation/nvme-endurance-log.1 | 4 +-
Documentation/nvme-endurance-log.html | 2 +-
Documentation/nvme-error-log.1 | 4 +-
Documentation/nvme-error-log.html | 2 +-
Documentation/nvme-fdp-configs.1 | 4 +-
Documentation/nvme-fdp-configs.html | 2 +-
Documentation/nvme-fdp-events.1 | 4 +-
Documentation/nvme-fdp-events.html | 2 +-
Documentation/nvme-fdp-set-events.1 | 4 +-
Documentation/nvme-fdp-set-events.html | 2 +-
Documentation/nvme-fdp-stats.1 | 4 +-
Documentation/nvme-fdp-stats.html | 2 +-
Documentation/nvme-fdp-status.1 | 4 +-
Documentation/nvme-fdp-status.html | 2 +-
Documentation/nvme-fdp-update.1 | 4 +-
Documentation/nvme-fdp-update.html | 2 +-
Documentation/nvme-fdp-usage.1 | 4 +-
Documentation/nvme-fdp-usage.html | 2 +-
Documentation/nvme-fid-support-effects-log.1 | 4 +-
.../nvme-fid-support-effects-log.html | 2 +-
Documentation/nvme-flush.1 | 4 +-
Documentation/nvme-flush.html | 2 +-
Documentation/nvme-format.1 | 4 +-
Documentation/nvme-format.html | 2 +-
Documentation/nvme-fw-commit.1 | 4 +-
Documentation/nvme-fw-commit.html | 2 +-
Documentation/nvme-fw-download.1 | 4 +-
Documentation/nvme-fw-download.html | 2 +-
Documentation/nvme-fw-log.1 | 4 +-
Documentation/nvme-fw-log.html | 2 +-
Documentation/nvme-gen-hostnqn.1 | 4 +-
Documentation/nvme-gen-hostnqn.html | 2 +-
Documentation/nvme-get-feature.1 | 6 +-
Documentation/nvme-get-feature.html | 4 +-
Documentation/nvme-get-feature.txt | 6 +-
Documentation/nvme-get-lba-status.1 | 4 +-
Documentation/nvme-get-lba-status.html | 2 +-
Documentation/nvme-get-log.1 | 4 +-
Documentation/nvme-get-log.html | 2 +-
Documentation/nvme-get-ns-id.1 | 4 +-
Documentation/nvme-get-ns-id.html | 2 +-
Documentation/nvme-get-property.1 | 4 +-
Documentation/nvme-get-property.html | 2 +-
Documentation/nvme-help.1 | 4 +-
Documentation/nvme-help.html | 2 +-
Documentation/nvme-huawei-id-ctrl.1 | 4 +-
Documentation/nvme-huawei-id-ctrl.html | 2 +-
Documentation/nvme-huawei-list.1 | 4 +-
Documentation/nvme-huawei-list.html | 2 +-
Documentation/nvme-id-ctrl.1 | 4 +-
Documentation/nvme-id-ctrl.html | 2 +-
Documentation/nvme-id-domain.1 | 4 +-
Documentation/nvme-id-domain.html | 2 +-
Documentation/nvme-id-iocs.1 | 4 +-
Documentation/nvme-id-iocs.html | 2 +-
Documentation/nvme-id-ns.1 | 4 +-
Documentation/nvme-id-ns.html | 2 +-
Documentation/nvme-id-nvmset.1 | 4 +-
Documentation/nvme-id-nvmset.html | 2 +-
Documentation/nvme-inspur-nvme-vendor-log.1 | 4 +-
.../nvme-inspur-nvme-vendor-log.html | 2 +-
Documentation/nvme-intel-id-ctrl.1 | 4 +-
Documentation/nvme-intel-id-ctrl.html | 2 +-
Documentation/nvme-intel-internal-log.1 | 4 +-
Documentation/nvme-intel-internal-log.html | 2 +-
Documentation/nvme-intel-lat-stats.1 | 4 +-
Documentation/nvme-intel-lat-stats.html | 2 +-
Documentation/nvme-intel-market-name.1 | 4 +-
Documentation/nvme-intel-market-name.html | 2 +-
Documentation/nvme-intel-smart-log-add.1 | 4 +-
Documentation/nvme-intel-smart-log-add.html | 2 +-
Documentation/nvme-intel-temp-stats.1 | 4 +-
Documentation/nvme-intel-temp-stats.html | 2 +-
Documentation/nvme-io-mgmt-recv.1 | 4 +-
Documentation/nvme-io-mgmt-recv.html | 2 +-
Documentation/nvme-io-mgmt-send.1 | 4 +-
Documentation/nvme-io-mgmt-send.html | 2 +-
Documentation/nvme-io-passthru.1 | 4 +-
Documentation/nvme-io-passthru.html | 2 +-
Documentation/nvme-lba-status-log.1 | 4 +-
Documentation/nvme-lba-status-log.html | 2 +-
Documentation/nvme-list-ctrl.1 | 4 +-
Documentation/nvme-list-ctrl.html | 2 +-
Documentation/nvme-list-endgrp.1 | 4 +-
Documentation/nvme-list-endgrp.html | 2 +-
Documentation/nvme-list-ns.1 | 4 +-
Documentation/nvme-list-ns.html | 2 +-
Documentation/nvme-list-subsys.1 | 4 +-
Documentation/nvme-list-subsys.html | 2 +-
Documentation/nvme-list.1 | 4 +-
Documentation/nvme-list.html | 2 +-
Documentation/nvme-lockdown.1 | 4 +-
Documentation/nvme-lockdown.html | 2 +-
.../nvme-mi-cmd-support-effects-log.1 | 4 +-
.../nvme-mi-cmd-support-effects-log.html | 2 +-
Documentation/nvme-micron-clear-pcie-errors.1 | 4 +-
.../nvme-micron-clear-pcie-errors.html | 2 +-
Documentation/nvme-micron-internal-log.1 | 4 +-
Documentation/nvme-micron-internal-log.html | 2 +-
Documentation/nvme-micron-nand-stats.1 | 4 +-
Documentation/nvme-micron-nand-stats.html | 2 +-
Documentation/nvme-micron-pcie-stats.1 | 4 +-
Documentation/nvme-micron-pcie-stats.html | 2 +-
.../nvme-micron-selective-download.1 | 4 +-
.../nvme-micron-selective-download.html | 2 +-
Documentation/nvme-micron-smart-add-log.1 | 4 +-
Documentation/nvme-micron-smart-add-log.html | 2 +-
Documentation/nvme-micron-temperature-stats.1 | 4 +-
.../nvme-micron-temperature-stats.html | 2 +-
Documentation/nvme-netapp-ontapdevices.1 | 4 +-
Documentation/nvme-netapp-ontapdevices.html | 2 +-
Documentation/nvme-netapp-smdevices.1 | 4 +-
Documentation/nvme-netapp-smdevices.html | 2 +-
Documentation/nvme-ns-descs.1 | 4 +-
Documentation/nvme-ns-descs.html | 2 +-
Documentation/nvme-ns-rescan.1 | 4 +-
Documentation/nvme-ns-rescan.html | 2 +-
Documentation/nvme-nvm-id-ctrl.1 | 4 +-
Documentation/nvme-nvm-id-ctrl.html | 2 +-
...wdc-vs-cloud-log.1 => nvme-nvme-mi-recv.1} | 58 +-
...device-waf.html => nvme-nvme-mi-recv.html} | 98 +-
Documentation/nvme-nvme-mi-recv.txt | 70 +
...wdc-vs-cloud-log.1 => nvme-nvme-mi-send.1} | 58 +-
...device-waf.html => nvme-nvme-mi-send.html} | 98 +-
Documentation/nvme-nvme-mi-send.txt | 70 +
.../nvme-ocp-clear-fw-activate-history.1 | 6 +-
.../nvme-ocp-clear-fw-activate-history.html | 4 +-
.../nvme-ocp-clear-fw-activate-history.txt | 2 +-
...p-clear-pcie-correctable-error-counters.1} | 16 +-
...lear-pcie-correctable-error-counters.html} | 18 +-
...clear-pcie-correctable-error-counters.txt} | 16 +-
.../nvme-ocp-device-capability-log.txt | 42 +
...-log.1 => nvme-ocp-eol-plp-failure-mode.1} | 81 +-
...tml => nvme-ocp-eol-plp-failure-mode.html} | 100 +-
.../nvme-ocp-eol-plp-failure-mode.txt | 69 +
Documentation/nvme-ocp-error-recovery-log.txt | 42 +
Documentation/nvme-ocp-latency-monitor-log.1 | 4 +-
.../nvme-ocp-latency-monitor-log.html | 2 +-
Documentation/nvme-ocp-smart-add-log.1 | 4 +-
Documentation/nvme-ocp-smart-add-log.html | 2 +-
.../nvme-ocp-unsupported-reqs-log-pages.txt | 45 +
Documentation/nvme-persistent-event-log.1 | 4 +-
Documentation/nvme-persistent-event-log.html | 2 +-
Documentation/nvme-pred-lat-event-agg-log.1 | 4 +-
.../nvme-pred-lat-event-agg-log.html | 2 +-
Documentation/nvme-predictable-lat-log.1 | 4 +-
Documentation/nvme-predictable-lat-log.html | 2 +-
Documentation/nvme-primary-ctrl-caps.1 | 4 +-
Documentation/nvme-primary-ctrl-caps.html | 2 +-
Documentation/nvme-read.1 | 4 +-
Documentation/nvme-read.html | 2 +-
Documentation/nvme-reset.1 | 4 +-
Documentation/nvme-reset.html | 2 +-
Documentation/nvme-resv-acquire.1 | 4 +-
Documentation/nvme-resv-acquire.html | 2 +-
Documentation/nvme-resv-notif-log.1 | 4 +-
Documentation/nvme-resv-notif-log.html | 2 +-
Documentation/nvme-resv-register.1 | 4 +-
Documentation/nvme-resv-register.html | 2 +-
Documentation/nvme-resv-release.1 | 4 +-
Documentation/nvme-resv-release.html | 2 +-
Documentation/nvme-resv-report.1 | 4 +-
Documentation/nvme-resv-report.html | 2 +-
Documentation/nvme-rpmb.1 | 4 +-
Documentation/nvme-rpmb.html | 2 +-
Documentation/nvme-sanitize-log.1 | 4 +-
Documentation/nvme-sanitize-log.html | 2 +-
Documentation/nvme-sanitize.1 | 4 +-
Documentation/nvme-sanitize.html | 2 +-
.../nvme-seagate-clear-fw-activate-history.1 | 4 +-
...vme-seagate-clear-fw-activate-history.html | 2 +-
...me-seagate-clear-pcie-correctable-errors.1 | 4 +-
...seagate-clear-pcie-correctable-errors.html | 2 +-
.../nvme-seagate-cloud-SSD-plugin-version.1 | 4 +-
...nvme-seagate-cloud-SSD-plugin-version.html | 2 +-
Documentation/nvme-seagate-get-ctrl-tele.1 | 4 +-
Documentation/nvme-seagate-get-ctrl-tele.html | 2 +-
Documentation/nvme-seagate-get-host-tele.1 | 4 +-
Documentation/nvme-seagate-get-host-tele.html | 2 +-
Documentation/nvme-seagate-help.1 | 4 +-
Documentation/nvme-seagate-help.html | 2 +-
Documentation/nvme-seagate-plugin-version.1 | 4 +-
.../nvme-seagate-plugin-version.html | 2 +-
Documentation/nvme-seagate-version.1 | 4 +-
Documentation/nvme-seagate-version.html | 2 +-
.../nvme-seagate-vs-fw-activate-history.1 | 4 +-
.../nvme-seagate-vs-fw-activate-history.html | 2 +-
Documentation/nvme-seagate-vs-internal-log.1 | 4 +-
.../nvme-seagate-vs-internal-log.html | 2 +-
Documentation/nvme-seagate-vs-log-page-sup.1 | 4 +-
.../nvme-seagate-vs-log-page-sup.html | 2 +-
Documentation/nvme-seagate-vs-pcie-stats.1 | 4 +-
Documentation/nvme-seagate-vs-pcie-stats.html | 2 +-
Documentation/nvme-seagate-vs-smart-add-log.1 | 4 +-
.../nvme-seagate-vs-smart-add-log.html | 2 +-
.../nvme-seagate-vs-temperature-stats.1 | 4 +-
.../nvme-seagate-vs-temperature-stats.html | 2 +-
Documentation/nvme-security-recv.1 | 4 +-
Documentation/nvme-security-recv.html | 2 +-
Documentation/nvme-security-send.1 | 4 +-
Documentation/nvme-security-send.html | 2 +-
Documentation/nvme-self-test-log.1 | 4 +-
Documentation/nvme-self-test-log.html | 2 +-
Documentation/nvme-set-feature.1 | 6 +-
Documentation/nvme-set-feature.html | 4 +-
Documentation/nvme-set-feature.txt | 4 +-
Documentation/nvme-set-property.1 | 4 +-
Documentation/nvme-set-property.html | 2 +-
Documentation/nvme-show-hostnqn.1 | 6 +-
Documentation/nvme-show-hostnqn.html | 4 +-
Documentation/nvme-show-hostnqn.txt | 2 +-
Documentation/nvme-show-regs.1 | 4 +-
Documentation/nvme-show-regs.html | 2 +-
Documentation/nvme-show-topology.1 | 4 +-
Documentation/nvme-show-topology.html | 2 +-
Documentation/nvme-smart-log.1 | 4 +-
Documentation/nvme-smart-log.html | 2 +-
Documentation/nvme-subsystem-reset.1 | 4 +-
Documentation/nvme-subsystem-reset.html | 2 +-
Documentation/nvme-supported-log-pages.1 | 4 +-
Documentation/nvme-supported-log-pages.html | 2 +-
Documentation/nvme-telemetry-log.1 | 4 +-
Documentation/nvme-telemetry-log.html | 2 +-
...me-toshiba-clear-pcie-correctable-errors.1 | 4 +-
...toshiba-clear-pcie-correctable-errors.html | 2 +-
Documentation/nvme-toshiba-vs-internal-log.1 | 4 +-
.../nvme-toshiba-vs-internal-log.html | 2 +-
Documentation/nvme-toshiba-vs-smart-add-log.1 | 4 +-
.../nvme-toshiba-vs-smart-add-log.html | 2 +-
Documentation/nvme-transcend-badblock.1 | 4 +-
Documentation/nvme-transcend-badblock.html | 2 +-
Documentation/nvme-transcend-healthvalue.1 | 4 +-
Documentation/nvme-transcend-healthvalue.html | 2 +-
Documentation/nvme-verify.1 | 4 +-
Documentation/nvme-verify.html | 2 +-
.../nvme-virtium-save-smart-to-vtview-log.1 | 4 +-
...nvme-virtium-save-smart-to-vtview-log.html | 2 +-
.../nvme-virtium-save-smart-to-vtview-log.txt | 0
Documentation/nvme-virtium-show-identify.1 | 4 +-
Documentation/nvme-virtium-show-identify.html | 2 +-
Documentation/nvme-virtium-show-identify.txt | 0
Documentation/nvme-wdc-cap-diag.1 | 4 +-
Documentation/nvme-wdc-cap-diag.html | 2 +-
Documentation/nvme-wdc-capabilities.1 | 4 +-
Documentation/nvme-wdc-capabilities.html | 2 +-
Documentation/nvme-wdc-clear-assert-dump.1 | 4 +-
Documentation/nvme-wdc-clear-assert-dump.html | 2 +-
.../nvme-wdc-clear-fw-activate-history.1 | 4 +-
.../nvme-wdc-clear-fw-activate-history.html | 2 +-
.../nvme-wdc-clear-pcie-correctable-errors.1 | 4 +-
...vme-wdc-clear-pcie-correctable-errors.html | 2 +-
.../nvme-wdc-cloud-SSD-plugin-version.1 | 4 +-
.../nvme-wdc-cloud-SSD-plugin-version.html | 2 +-
.../nvme-wdc-cloud-boot-SSD-version.1 | 4 +-
.../nvme-wdc-cloud-boot-SSD-version.html | 2 +-
Documentation/nvme-wdc-drive-essentials.1 | 4 +-
Documentation/nvme-wdc-drive-essentials.html | 2 +-
Documentation/nvme-wdc-drive-log.1 | 4 +-
Documentation/nvme-wdc-drive-log.html | 2 +-
Documentation/nvme-wdc-drive-resize.1 | 4 +-
Documentation/nvme-wdc-drive-resize.html | 2 +-
Documentation/nvme-wdc-enc-get-log.1 | 4 +-
Documentation/nvme-wdc-enc-get-log.html | 2 +-
Documentation/nvme-wdc-get-crash-dump.1 | 4 +-
Documentation/nvme-wdc-get-crash-dump.html | 2 +-
.../nvme-wdc-get-dev-capabilities-log.1 | 4 +-
.../nvme-wdc-get-dev-capabilities-log.html | 2 +-
Documentation/nvme-wdc-get-drive-status.1 | 4 +-
Documentation/nvme-wdc-get-drive-status.html | 2 +-
.../nvme-wdc-get-error-recovery-log.1 | 4 +-
.../nvme-wdc-get-error-recovery-log.html | 2 +-
.../nvme-wdc-get-latency-monitor-log.1 | 4 +-
.../nvme-wdc-get-latency-monitor-log.html | 2 +-
Documentation/nvme-wdc-get-pfail-dump.1 | 4 +-
Documentation/nvme-wdc-get-pfail-dump.html | 2 +-
.../nvme-wdc-get-unsupported-reqs-log.1 | 4 +-
.../nvme-wdc-get-unsupported-reqs-log.html | 2 +-
Documentation/nvme-wdc-id-ctrl.1 | 4 +-
Documentation/nvme-wdc-id-ctrl.html | 2 +-
Documentation/nvme-wdc-log-page-directory.1 | 4 +-
.../nvme-wdc-log-page-directory.html | 2 +-
Documentation/nvme-wdc-namespace-resize.1 | 4 +-
Documentation/nvme-wdc-namespace-resize.html | 2 +-
Documentation/nvme-wdc-purge-monitor.1 | 4 +-
Documentation/nvme-wdc-purge-monitor.html | 2 +-
Documentation/nvme-wdc-purge.1 | 4 +-
Documentation/nvme-wdc-purge.html | 2 +-
Documentation/nvme-wdc-vs-cloud-log.1 | 4 +-
Documentation/nvme-wdc-vs-cloud-log.html | 2 +-
Documentation/nvme-wdc-vs-device-waf.1 | 4 +-
Documentation/nvme-wdc-vs-device-waf.html | 2 +-
Documentation/nvme-wdc-vs-drive-info.1 | 4 +-
Documentation/nvme-wdc-vs-drive-info.html | 2 +-
.../nvme-wdc-vs-error-reason-identifier.1 | 4 +-
.../nvme-wdc-vs-error-reason-identifier.html | 2 +-
.../nvme-wdc-vs-fw-activate-history.1 | 4 +-
.../nvme-wdc-vs-fw-activate-history.html | 2 +-
Documentation/nvme-wdc-vs-hw-rev-log.1 | 4 +-
Documentation/nvme-wdc-vs-hw-rev-log.html | 2 +-
Documentation/nvme-wdc-vs-internal-log.1 | 4 +-
Documentation/nvme-wdc-vs-internal-log.html | 2 +-
Documentation/nvme-wdc-vs-nand-stats.1 | 4 +-
Documentation/nvme-wdc-vs-nand-stats.html | 2 +-
Documentation/nvme-wdc-vs-smart-add-log.1 | 4 +-
Documentation/nvme-wdc-vs-smart-add-log.html | 2 +-
.../nvme-wdc-vs-telemetry-controller-option.1 | 4 +-
...me-wdc-vs-telemetry-controller-option.html | 2 +-
Documentation/nvme-wdc-vs-temperature-stats.1 | 4 +-
.../nvme-wdc-vs-temperature-stats.html | 2 +-
Documentation/nvme-write-uncor.1 | 16 +-
Documentation/nvme-write-uncor.html | 24 +-
Documentation/nvme-write-uncor.txt | 13 +-
Documentation/nvme-write-zeroes.1 | 16 +-
Documentation/nvme-write-zeroes.html | 24 +-
Documentation/nvme-write-zeroes.txt | 13 +-
Documentation/nvme-write.1 | 4 +-
Documentation/nvme-write.html | 2 +-
Documentation/nvme-zns-changed-zone-list.1 | 4 +-
Documentation/nvme-zns-changed-zone-list.html | 2 +-
Documentation/nvme-zns-close-zone.1 | 4 +-
Documentation/nvme-zns-close-zone.html | 2 +-
Documentation/nvme-zns-finish-zone.1 | 4 +-
Documentation/nvme-zns-finish-zone.html | 2 +-
Documentation/nvme-zns-id-ctrl.1 | 4 +-
Documentation/nvme-zns-id-ctrl.html | 2 +-
Documentation/nvme-zns-id-ns.1 | 4 +-
Documentation/nvme-zns-id-ns.html | 2 +-
Documentation/nvme-zns-offline-zone.1 | 4 +-
Documentation/nvme-zns-offline-zone.html | 2 +-
Documentation/nvme-zns-open-zone.1 | 4 +-
Documentation/nvme-zns-open-zone.html | 2 +-
Documentation/nvme-zns-report-zones.1 | 4 +-
Documentation/nvme-zns-report-zones.html | 2 +-
Documentation/nvme-zns-reset-zone.1 | 4 +-
Documentation/nvme-zns-reset-zone.html | 2 +-
Documentation/nvme-zns-set-zone-desc.1 | 4 +-
Documentation/nvme-zns-set-zone-desc.html | 2 +-
Documentation/nvme-zns-zone-append.1 | 4 +-
Documentation/nvme-zns-zone-append.html | 2 +-
Documentation/nvme-zns-zone-mgmt-recv.1 | 4 +-
Documentation/nvme-zns-zone-mgmt-recv.html | 2 +-
Documentation/nvme-zns-zone-mgmt-send.1 | 4 +-
Documentation/nvme-zns-zone-mgmt-send.html | 2 +-
Documentation/nvme.1 | 4 +-
Documentation/nvme.html | 2 +-
Documentation/update-docs.sh | 11 -
README.md | 222 +-
common.h | 5 +
completions/_nvme | 1070 ++-
completions/bash-nvme-completion.sh | 114 +-
fabrics.c | 443 +-
fabrics.h | 10 +
meson.build | 41 +-
meson_options.txt | 82 +-
nbft.c | 207 +
nbft.h | 19 +
nvme-builtin.h | 10 +-
nvme-print-binary.c | 342 +
nvme-print-json.c | 321 +-
nvme-print-json.h | 148 -
nvme-print.c => nvme-print-stdout.c | 1824 ++---
nvme-print.c | 4744 +------------
nvme-print.h | 162 +-
nvme-wrap.c | 11 +-
nvme-wrap.h | 3 +-
nvme.c | 2437 +++----
.../systemd/nvmf-autoconnect.service.in | 6 +-
.../systemd/nvmf-connect@.service.in | 2 +-
.../udev-rules/70-nvmf-autoconnect.rules.in | 8 +-
plugin.c | 41 +-
plugin.h | 1 -
plugins/amzn/amzn-nvme.c | 6 +-
plugins/dera/dera-nvme.c | 37 +-
plugins/fdp/fdp.c | 27 +-
plugins/huawei/huawei-nvme.c | 46 +-
plugins/innogrit/innogrit-nvme.c | 31 +-
plugins/innogrit/typedef.h | 1 +
plugins/inspur/inspur-nvme.c | 372 +-
plugins/intel/intel-nvme.c | 92 +-
plugins/memblaze/memblaze-nvme.c | 1414 ++--
plugins/memblaze/memblaze-utils.h | 342 +-
plugins/meson.build | 1 +
plugins/micron/micron-nvme.c | 5493 ++++++++-------
plugins/nbft/nbft-plugin.c | 563 ++
plugins/nbft/nbft-plugin.h | 18 +
plugins/netapp/netapp-nvme.c | 44 +-
plugins/ocp/meson.build | 1 +
plugins/ocp/ocp-clear-fw-update-history.c | 3 +-
plugins/ocp/ocp-fw-activation-history.c | 223 +
plugins/ocp/ocp-fw-activation-history.h | 17 +
plugins/ocp/ocp-nvme.c | 1564 ++++-
plugins/ocp/ocp-nvme.h | 6 +
plugins/ocp/ocp-smart-extended-log.c | 16 +-
plugins/scaleflux/sfx-nvme.c | 687 +-
plugins/scaleflux/sfx-nvme.h | 2 +
plugins/seagate/seagate-nvme.c | 318 +-
plugins/shannon/shannon-nvme.c | 221 +-
plugins/solidigm/meson.build | 5 +
.../solidigm/solidigm-garbage-collection.c | 35 +-
plugins/solidigm/solidigm-id-ctrl.c | 73 +
plugins/solidigm/solidigm-id-ctrl.h | 10 +
plugins/solidigm/solidigm-internal-logs.c | 597 ++
plugins/solidigm/solidigm-internal-logs.h | 8 +
plugins/solidigm/solidigm-latency-tracking.c | 69 +-
plugins/solidigm/solidigm-log-page-dir.c | 300 +
plugins/solidigm/solidigm-log-page-dir.h | 17 +
plugins/solidigm/solidigm-market-log.c | 63 +
plugins/solidigm/solidigm-market-log.h | 8 +
plugins/solidigm/solidigm-nvme.c | 35 +-
plugins/solidigm/solidigm-nvme.h | 13 +-
plugins/solidigm/solidigm-smart.c | 58 +-
plugins/solidigm/solidigm-telemetry.c | 11 +-
plugins/solidigm/solidigm-telemetry/cod.c | 102 +-
plugins/solidigm/solidigm-telemetry/config.c | 44 +-
plugins/solidigm/solidigm-telemetry/config.h | 8 +-
.../solidigm/solidigm-telemetry/data-area.c | 210 +-
.../solidigm/solidigm-telemetry/data-area.h | 3 +-
plugins/solidigm/solidigm-telemetry/header.c | 96 +-
.../solidigm/solidigm-telemetry/meson.build | 1 +
plugins/solidigm/solidigm-telemetry/nlog.c | 130 +
plugins/solidigm/solidigm-telemetry/nlog.h | 11 +
plugins/toshiba/toshiba-nvme.c | 136 +-
plugins/transcend/transcend-nvme.c | 40 +-
plugins/virtium/virtium-nvme.c | 388 +-
plugins/wdc/wdc-nvme.c | 5948 +++++++++--------
plugins/wdc/wdc-utils.c | 14 +-
plugins/ymtc/ymtc-nvme.c | 242 +-
plugins/zns/zns.c | 107 +-
scripts/build.sh | 177 +
meson-vcs-tag.sh => scripts/meson-vcs-tag.sh | 0
regress => scripts/regress | 0
release.sh => scripts/release.sh | 41 +-
scripts/update-docs.sh | 17 +
subprojects/libnvme.wrap | 2 +-
tests/meson.build | 1 +
tests/nvme_ctrl_reset_test.py | 48 +
unit/test-suffix-si-parse.c | 6 +
util/argconfig.c | 264 +-
util/argconfig.h | 130 +-
util/base64.c | 28 +-
util/crc32.c | 173 +-
util/suffix.c | 50 +-
util/types.c | 57 +-
util/types.h | 23 +
507 files changed, 19440 insertions(+), 17258 deletions(-)
delete mode 100644 .github/cross/clang.txt
rename .github/cross/{ubuntu-armhf.txt => ubuntu-cross-armhf.txt} (100%)
rename .github/cross/{ubuntu-ppc64le.txt => ubuntu-cross-ppc64le.txt} (100%)
rename .github/cross/{ubuntu-s390x.txt => ubuntu-cross-s390x.txt} (100%)
copy Documentation/{nvme-wdc-vs-cloud-log.1 => nvme-nvme-mi-recv.1} (50%)
copy Documentation/{nvme-wdc-vs-device-waf.html => nvme-nvme-mi-recv.html} (84%)
create mode 100644 Documentation/nvme-nvme-mi-recv.txt
copy Documentation/{nvme-wdc-vs-cloud-log.1 => nvme-nvme-mi-send.1} (50%)
copy Documentation/{nvme-wdc-vs-device-waf.html => nvme-nvme-mi-send.html} (84%)
create mode 100644 Documentation/nvme-nvme-mi-send.txt
copy Documentation/{nvme-ocp-clear-fw-activate-history.1 => nvme-ocp-clear-pcie-correctable-error-counters.1} (81%)
copy Documentation/{nvme-ocp-clear-fw-activate-history.html => nvme-ocp-clear-pcie-correctable-error-counters.html} (92%)
copy Documentation/{nvme-ocp-clear-fw-activate-history.txt => nvme-ocp-clear-pcie-correctable-error-counters.txt} (67%)
create mode 100644 Documentation/nvme-ocp-device-capability-log.txt
copy Documentation/{nvme-ocp-smart-add-log.1 => nvme-ocp-eol-plp-failure-mode.1} (54%)
copy Documentation/{nvme-ocp-smart-add-log.html => nvme-ocp-eol-plp-failure-mode.html} (83%)
create mode 100644 Documentation/nvme-ocp-eol-plp-failure-mode.txt
create mode 100644 Documentation/nvme-ocp-error-recovery-log.txt
create mode 100644 Documentation/nvme-ocp-unsupported-reqs-log-pages.txt
mode change 100755 => 100644 Documentation/nvme-virtium-save-smart-to-vtview-log.txt
mode change 100755 => 100644 Documentation/nvme-virtium-show-identify.txt
delete mode 100755 Documentation/update-docs.sh
create mode 100644 nbft.c
create mode 100644 nbft.h
create mode 100644 nvme-print-binary.c
delete mode 100644 nvme-print-json.h
copy nvme-print.c => nvme-print-stdout.c (73%)
create mode 100644 plugins/nbft/nbft-plugin.c
create mode 100644 plugins/nbft/nbft-plugin.h
create mode 100644 plugins/ocp/ocp-fw-activation-history.c
create mode 100644 plugins/ocp/ocp-fw-activation-history.h
create mode 100644 plugins/solidigm/solidigm-id-ctrl.c
create mode 100644 plugins/solidigm/solidigm-id-ctrl.h
create mode 100644 plugins/solidigm/solidigm-internal-logs.c
create mode 100644 plugins/solidigm/solidigm-internal-logs.h
create mode 100644 plugins/solidigm/solidigm-log-page-dir.c
create mode 100644 plugins/solidigm/solidigm-log-page-dir.h
create mode 100644 plugins/solidigm/solidigm-market-log.c
create mode 100644 plugins/solidigm/solidigm-market-log.h
create mode 100644 plugins/solidigm/solidigm-telemetry/nlog.c
create mode 100644 plugins/solidigm/solidigm-telemetry/nlog.h
create mode 100755 scripts/build.sh
rename meson-vcs-tag.sh => scripts/meson-vcs-tag.sh (100%)
rename regress => scripts/regress (100%)
rename release.sh => scripts/release.sh (68%)
create mode 100755 scripts/update-docs.sh
create mode 100644 tests/nvme_ctrl_reset_test.py
diff --git a/.github/cross/clang.txt b/.github/cross/clang.txt
deleted file mode 100644
index 1484a3e..0000000
--- a/.github/cross/clang.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-[binaries]
-c = 'clang'
-cpp = 'clang++'
-strip = 'strip'
-pkgconfig = 'pkg-config'
diff --git a/.github/cross/ubuntu-armhf.txt b/.github/cross/ubuntu-cross-armhf.txt
similarity index 100%
rename from .github/cross/ubuntu-armhf.txt
rename to .github/cross/ubuntu-cross-armhf.txt
diff --git a/.github/cross/ubuntu-ppc64le.txt b/.github/cross/ubuntu-cross-ppc64le.txt
similarity index 100%
rename from .github/cross/ubuntu-ppc64le.txt
rename to .github/cross/ubuntu-cross-ppc64le.txt
diff --git a/.github/cross/ubuntu-s390x.txt b/.github/cross/ubuntu-cross-s390x.txt
similarity index 100%
rename from .github/cross/ubuntu-s390x.txt
rename to .github/cross/ubuntu-cross-s390x.txt
diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml
index 80b0496..f7b7ae0 100644
--- a/.github/workflows/appimage.yml
+++ b/.github/workflows/appimage.yml
@@ -22,13 +22,45 @@ jobs:
python-version: '3.x'
- uses: BSFishy/meson-build@v1.0.3
with:
- setup-options: --werror --buildtype=release --prefix=/usr
+ setup-options: >
+ --werror
+ --buildtype=release
+ --prefix=/usr
+ --force-fallback-for=libnvme
+ -Dlibnvme:werror=false
action: install
+ meson-version: 0.61.2
- name: build AppImage
uses: AppImageCrafters/build-appimage@v1.3
with:
recipe: .github/AppImageBuilder.yml
- uses: actions/upload-artifact@v3
+ name: upload artifacts to github
with:
name: AppImage
path: '*.AppImage*'
+
+ deploy-appimage:
+ name: deploy AppImage
+ runs-on: ubuntu-latest
+ needs: build-appimage
+ if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
+ steps:
+ - name: Download artifact
+ uses: dawidd6/action-download-artifact@v2
+ with:
+ workflow: ${{ github.event.workflow_run.workflow_id }}
+ workflow_conclusion: success
+ - name: FTP Deployer
+ uses: sand4rt/ftp-deployer@v1.7
+ with:
+ sftp: true
+ host: ${{ secrets.SFTP_SERVER }}
+ port: 22
+ username: ${{ secrets.SFTP_USERNAME }}
+ password: ${{ secrets.SFTP_PASSWORD }}
+ remote_folder: '/upload'
+ local_folder: '.'
+ cleanup: false
+ include: '[ "*", "**/*" ]'
+ exclude: '[".github/**", ".git/**", "*.env"]'
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fae50a5..e3e2fd4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -10,341 +10,99 @@ on:
workflow_dispatch:
jobs:
- gcc-debug:
- name: gcc debug
+ default:
runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ compiler: [gcc, clang]
+ buildtype: [debug, release]
+ container:
+ image: ghcr.io/igaw/linux-nvme/debian:0.30
steps:
- - name: install dependencies
- run: sudo apt-get install gcc pkg-config libjson-c-dev libhugetlbfs-dev
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.x'
- - uses: bsfishy/meson-build@v1.0.3
- name: build
- with:
- action: build
- setup-options: >
- --werror
- --buildtype=debug
- -Dlibnvme:werror=false
- meson-version: 0.61.2
- - uses: bsfishy/meson-build@v1.0.3
- name: test
- with:
- action: test
- meson-version: 0.61.2
+ - name: build
+ run: |
+ scripts/build.sh -b ${{ matrix.buildtype }} -c ${{ matrix.compiler }}
- uses: actions/upload-artifact@v3
+ name: upload logs
if: failure()
with:
- name: log files
+ name: logs files
path: |
- build/meson-logs/*.txt
+ .build-ci/meson-logs/*.txt
- gcc-release:
- name: gcc release
+ cross:
runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ include:
+ - arch: armhf
+ port: armhf
+ compiler: gcc-arm-linux-gnueabihf
+ packages:
+ - arch: s390x
+ port: s390x
+ compiler: gcc-s390x-linux-gnu
+ packages: libgcc-s1:s390x
+ - arch: ppc64le
+ port: ppc64el
+ compiler: gcc-powerpc64le-linux-gnu
+ packges:
steps:
- - name: install dependencies
- run: sudo apt-get install gcc pkg-config libjson-c-dev libhugetlbfs-dev
- uses: actions/checkout@v3
- - uses: actions/setup-python@v4
- with:
- python-version: '3.x'
- - uses: bsfishy/meson-build@v1.0.3
- name: build
- with:
- action: build
- setup-options: >
- --werror
- --buildtype=release
- -Dlibnvme:werror=false
- meson-version: 0.61.2
- - uses: bsfishy/meson-build@v1.0.3
- name: test
- with:
- action: test
- meson-version: 0.61.2
+ - name: set up arm architecture
+ run: |
+ export release=$(lsb_release -c -s)
+ sudo dpkg --add-architecture ${{ matrix.port }}
+ sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
+ sudo dd of=/etc/apt/sources.list.d/${{ matrix.arch }}.list <
- --werror
- --buildtype=release
- --cross-file=.github/cross/clang.txt
- -Dlibnvme:werror=false
- -Dopenssl:werror=false
- meson-version: 0.61.2
- - uses: bsfishy/meson-build@v1.0.3
- name: test
- with:
- action: test
- meson-version: 0.61.2
- - uses: actions/upload-artifact@v3
- if: failure()
- with:
- name: log files
- path: |
- build/meson-logs/*.txt
+ .build-ci/meson-logs/*.txt
fallback-shared-libraries:
name: fallback shared libraries
runs-on: ubuntu-latest
+ container:
+ image: ghcr.io/igaw/linux-nvme/debian:0.30
+ if: github.ref == 'refs/heads/master'
steps:
- - name: install dependencies
- run: sudo apt-get install libpam-dev libcap-ng-dev
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.x'
- - uses: BSFishy/meson-build@v1.0.3
- name: build
- with:
- action: build
- setup-options: >
- --werror
- --buildtype=release
- --wrap-mode=forcefallback
- --default-library=shared
- -Dlibnvme:werror=false
- -Dopenssl:werror=false
- meson-version: 0.61.2
- - uses: bsfishy/meson-build@v1.0.3
- name: test
- with:
- action: test
- meson-version: 0.61.2
- - uses: actions/upload-artifact@v3
- if: failure()
- with:
- name: log files
- path: |
- build/meson-logs/*.txt
-
- fallback-static-libraries:
- name: fallback static libraries
- runs-on: ubuntu-latest
- steps:
- - name: install dependencies
- run: sudo apt-get install libpam-dev libcap-ng-dev
- - uses: actions/checkout@v3
- - uses: actions/setup-python@v4
- with:
- python-version: '3.x'
- - uses: BSFishy/meson-build@v1.0.3
- name: build
- with:
- action: build
- setup-options: >
- --werror
- --buildtype=release
- --wrap-mode=forcefallback
- --default-library=static
- -Dlibnvme:werror=false
- -Dopenssl:werror=false
- meson-version: 0.61.2
- - uses: bsfishy/meson-build@v1.0.3
- name: test
- with:
- action: test
- meson-version: 0.61.2
- - uses: actions/upload-artifact@v3
- if: failure()
- with:
- name: log files
- path: |
- build/meson-logs/*.txt
-
- cross-armhf:
- name: cross armhf
- runs-on: ubuntu-latest
- steps:
- - name: set up arm architecture
- run: |
- export release=$(lsb_release -c -s)
- sudo dpkg --add-architecture armhf
- sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
- sudo dd of=/etc/apt/sources.list.d/armhf.list <
- --werror
- --buildtype=release
- --cross-file=.github/cross/ubuntu-armhf.txt
- -Dlibnvme:python=disabled
- -Dopenssl:werror=false
- meson-version: 0.61.2
- - uses: bsfishy/meson-build@v1.0.3
- name: test
- with:
- action: test
- meson-version: 0.61.2
- - uses: actions/upload-artifact@v3
- if: failure()
- with:
- name: log files
- path: |
- build/meson-logs/*.txt
-
- cross-ppc64le:
- name: cross ppc64le
- runs-on: ubuntu-latest
- steps:
- - name: set up ppc64le architecture
- run: |
- export release=$(lsb_release -c -s)
- sudo dpkg --add-architecture ppc64el
- sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
- sudo dd of=/etc/apt/sources.list.d/ppc64el.list <
- --werror
- --buildtype=release
- --cross-file=.github/cross/ubuntu-ppc64le.txt
- -Dlibnvme:werror=false
- -Dlibnvme:python=disabled
- -Dopenssl:werror=false
- meson-version: 0.61.2
- - uses: bsfishy/meson-build@v1.0.3
- name: test
- with:
- action: test
- meson-version: 0.61.2
- - uses: actions/upload-artifact@v3
- if: failure()
- with:
- name: log files
- path: |
- build/meson-logs/*.txt
-
- cross-s390x:
- name: cross s390x
- runs-on: ubuntu-latest
- steps:
- - name: set up s390x architecture
- run: |
- export release=$(lsb_release -c -s)
- sudo dpkg --add-architecture s390x
- sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
- sudo dd of=/etc/apt/sources.list.d/s390x.list <
- --werror
- --buildtype=release
- --cross-file=.github/cross/ubuntu-s390x.txt
- -Dlibnvme:werror=false
- -Dlibnvme:python=disabled
- -Dopenssl:werror=false
- meson-version: 0.61.2
- - uses: bsfishy/meson-build@v1.0.3
- name: test
- with:
- action: test
- meson-version: 0.61.2
- - uses: actions/upload-artifact@v3
- if: failure()
- with:
- name: log files
- path: |
- build/meson-logs/*.txt
-
- build-minimal:
- name: muon minimal
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: build muon and samurai build-tool
- run: |
- mkdir build-tools
- cd build-tools
- git clone --depth 1 https://git.sr.ht/~lattis/muon
- cd muon
-
- export CC=gcc
- export ninja=build/samu
-
- ./tools/bootstrap_ninja.sh build
- ./bootstrap.sh build
-
- build/muon setup \
- -Dlibcurl=disabled \
- -Dlibarchive=disabled \
- -Ddocs=disabled \
- -Dsamurai=disabled \
- build
- build/samu -C build
- build/muon -C build test
- - name: fetch libnvme
- run: |
- cd subprojects
- git clone https://github.com/linux-nvme/libnvme.git
- libnvme_ref=$(sed -n "s/revision = \([0-9a-z]\+\)/\1/p" libnvme.wrap)
- git -C libnvme checkout $libnvme_ref
- name: build
run: |
- export PATH=$(pwd)/build-tools/muon/build:$PATH
+ scripts/build.sh -b release -c gcc fallback
+ - uses: actions/upload-artifact@v3
+ if: failure()
+ with:
+ name: log files
+ path: |
+ .build-ci/meson-logs/*.txt
- muon setup \
- -Dlibnvme:python=disabled \
- -Dlibnvme:json-c=disabled \
- -Djson-c=disabled \
- build
- samu -C build
- - name: test
+ build-muon:
+ name: muon minimal static
+ runs-on: ubuntu-latest
+ container:
+ image: ghcr.io/igaw/linux-nvme/debian:0.30
+ steps:
+ - uses: actions/checkout@v3
+ - name: build
run: |
- export PATH=$(pwd)/build-tools/muon/build:$PATH
-
- muon -C build test
+ scripts/build.sh -m muon
diff --git a/Documentation/meson.build b/Documentation/meson.build
index a526b99..0dc0300 100644
--- a/Documentation/meson.build
+++ b/Documentation/meson.build
@@ -84,10 +84,14 @@ adoc_sources = [
'nvme-netapp-smdevices',
'nvme-ns-descs',
'nvme-ns-rescan',
+ 'nvme-nvme-mi-recv',
+ 'nvme-nvme-mi-send',
'nvme-nvm-id-ctrl',
'nvme-ocp-latency-monitor-log',
'nvme-ocp-smart-add-log',
'nvme-ocp-clear-fw-activate-history',
+ 'nvme-ocp-clear-pcie-correctable-error-counters',
+ 'nvme-ocp-eol-plp-failure-mode',
'nvme-persistent-event-log',
'nvme-pred-lat-event-agg-log',
'nvme-predictable-lat-log',
diff --git a/Documentation/nvme-admin-passthru.1 b/Documentation/nvme-admin-passthru.1
index 90b0f8c..4929a23 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: 03/31/2023
+.\" Date: 06/30/2023
.\" Manual: NVMe Manual
.\" Source: NVMe
.\" Language: English
.\"
-.TH "NVME\-ADMIN\-PASSTHR" "1" "03/31/2023" "NVMe" "NVMe Manual"
+.TH "NVME\-ADMIN\-PASSTHR" "1" "06/30/2023" "NVMe" "NVMe Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -34,9 +34,11 @@ nvme-admin-passthru \- Submit an arbitrary admin command, return results
.nf
\fInvme\-admin\-passthru\fR [\-\-opcode= | \-o ]
[\-\-flags= | \-f ] [\-rsvd= | \-R ]
- [\-\-namespace\-id=] [\-\-cdw2=] [\-\-cdw3=]
- [\-\-cdw10=] [\-\-cdw11=] [\-\-cdw12=]
- [\-\-cdw13=] [\-\-cdw14=] [\-\-cdw15=]
+ [\-\-namespace\-id= | \-n ] [\-\-cdw2= | \-2 ]
+ [\-\-cdw3= | \-3 ] [\-\-cdw10= | \-4 ]
+ [\-\-cdw11= | \-5 ] [\-\-cdw12= | \-6 ]
+ [\-\-cdw13= | \-7 ] [\-\-cdw14= | \-8 ]
+ [\-\-cdw15= | \-9 ]
[\-\-data\-len= | \-l ]
[\-\-metadata\-len= | \-m ]
[\-\-input\-file= | \-i ]
@@ -77,7 +79,7 @@ The value for the reserved field in the command\&.
The value for the ns\-id in the command\&.
.RE
.PP
-\-\-cdw[2\-3,10\-15]=
+\-[2\-9] , \-\-cdw[2\-3,10\-15]=
.RS 4
Specifies the command dword value for that specified entry in the command
.RE
diff --git a/Documentation/nvme-admin-passthru.html b/Documentation/nvme-admin-passthru.html
index 2e9a379..065f553 100644
--- a/Documentation/nvme-admin-passthru.html
+++ b/Documentation/nvme-admin-passthru.html
@@ -751,9 +751,11 @@ nvme-admin-passthru(1) Manual Page
nvme-admin-passthru <device> [--opcode=<opcode> | -o <opcode>]
[--flags=<flags> | -f <flags>] [-rsvd=<rsvd> | -R <rsvd>]
- [--namespace-id=<nsid>] [--cdw2=<cdw2>] [--cdw3=<cdw3>]
- [--cdw10=<cdw10>] [--cdw11=<cdw11>] [--cdw12=<cdw12>]
- [--cdw13=<cdw13>] [--cdw14=<cdw14>] [--cdw15=<cdw15>]
+ [--namespace-id=<nsid> | -n <nsid>] [--cdw2=<cdw2> | -2 <cdw2>]
+ [--cdw3=<cdw3> | -3 <cdw3>] [--cdw10=<cdw10> | -4 <cdw4>]
+ [--cdw11=<cdw11> | -5 <cdw5>] [--cdw12=<cdw12> | -6 <cdw6>]
+ [--cdw13=<cdw13> | -7 <cdw7>] [--cdw14=<cdw14> | -8 <cdw8>]
+ [--cdw15=<cdw15> | -9 <cdw9>]
[--data-len=<data-len> | -l <data-len>]
[--metadata-len=<len> | -m <len>]
[--input-file=<file> | -i <file>]
@@ -832,6 +834,9 @@ printed to stdout for another program to parse.
+-[2-9] <cdw>
+
+
--cdw[2-3,10-15]=<cdw>
@@ -998,7 +1003,7 @@ Or if you want to save that structure to a file: