From e4376063b0f36bb154d19de9a008d432cd6e5ba4 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 16 Feb 2025 12:15:45 +0100 Subject: [PATCH] Merging upstream version 2.0. Signed-off-by: Daniel Baumann --- .github/workflows/c-cpp.yml | 18 - .github/workflows/meson.yml | 27 + .gitignore | 13 +- .gitmodules | 0 Documentation/Makefile | 265 - Documentation/cmd-plugins.txt | 200 + Documentation/cmds-main.txt | 104 +- Documentation/meson.build | 257 + Documentation/nvme-admin-passthru.1 | 4 +- Documentation/nvme-admin-passthru.html | 6 +- Documentation/nvme-ana-log.1 | 4 +- Documentation/nvme-ana-log.html | 6 +- Documentation/nvme-attach-ns.1 | 4 +- Documentation/nvme-attach-ns.html | 6 +- Documentation/nvme-boot-part-log.1 | 4 +- Documentation/nvme-boot-part-log.html | 6 +- Documentation/nvme-capacity-mgmt.1 | 4 +- Documentation/nvme-capacity-mgmt.html | 15 +- Documentation/nvme-changed-ns-list-log.1 | 4 +- Documentation/nvme-changed-ns-list-log.html | 6 +- ...me-lnvm-list.1 => nvme-check-dhchap-key.1} | 25 +- ...m-info.html => nvme-check-dhchap-key.html} | 42 +- Documentation/nvme-check-dhchap-key.txt | 31 + Documentation/nvme-check-tls-key.txt | 31 + Documentation/nvme-cmdset-ind-id-ns.1 | 4 +- Documentation/nvme-cmdset-ind-id-ns.html | 14 +- Documentation/nvme-compare.1 | 12 +- Documentation/nvme-compare.html | 24 +- Documentation/nvme-compare.txt | 12 +- .../{nvme-connect.txt => nvme-config.txt} | 83 +- Documentation/nvme-connect-all.1 | 31 +- Documentation/nvme-connect-all.html | 70 +- Documentation/nvme-connect-all.txt | 38 +- Documentation/nvme-connect.1 | 35 +- Documentation/nvme-connect.html | 98 +- Documentation/nvme-connect.txt | 35 +- Documentation/nvme-copy.1 | 4 +- Documentation/nvme-copy.html | 6 +- Documentation/nvme-create-ns.1 | 10 +- Documentation/nvme-create-ns.html | 18 +- Documentation/nvme-create-ns.txt | 5 + Documentation/nvme-delete-ns.1 | 4 +- Documentation/nvme-delete-ns.html | 6 +- Documentation/nvme-dera-stat.1 | 4 +- Documentation/nvme-dera-stat.html | 6 +- Documentation/nvme-detach-ns.1 | 4 +- Documentation/nvme-detach-ns.html | 6 +- Documentation/nvme-device-self-test.1 | 4 +- Documentation/nvme-device-self-test.html | 6 +- Documentation/nvme-dim.1 | 113 + ...vme-lnvm-diag-bbtbl.html => nvme-dim.html} | 102 +- Documentation/nvme-dim.txt | 75 + Documentation/nvme-dir-receive.1 | 4 +- Documentation/nvme-dir-receive.html | 6 +- Documentation/nvme-dir-send.1 | 4 +- Documentation/nvme-dir-send.html | 6 +- Documentation/nvme-disconnect-all.1 | 4 +- Documentation/nvme-disconnect-all.html | 6 +- Documentation/nvme-disconnect.1 | 4 +- Documentation/nvme-disconnect.html | 6 +- Documentation/nvme-discover.1 | 31 +- Documentation/nvme-discover.html | 63 +- Documentation/nvme-discover.txt | 35 +- Documentation/nvme-dsm.1 | 4 +- Documentation/nvme-dsm.html | 6 +- Documentation/nvme-effects-log.1 | 4 +- Documentation/nvme-effects-log.html | 6 +- Documentation/nvme-endurance-event-agg-log.1 | 4 +- .../nvme-endurance-event-agg-log.html | 6 +- Documentation/nvme-endurance-log.1 | 4 +- Documentation/nvme-endurance-log.html | 6 +- Documentation/nvme-error-log.1 | 4 +- Documentation/nvme-error-log.html | 6 +- Documentation/nvme-fid-support-effects-log.1 | 4 +- .../nvme-fid-support-effects-log.html | 6 +- Documentation/nvme-flush.1 | 4 +- Documentation/nvme-flush.html | 6 +- Documentation/nvme-format.1 | 8 +- Documentation/nvme-format.html | 11 +- Documentation/nvme-format.txt | 3 +- Documentation/nvme-fw-commit.1 | 4 +- Documentation/nvme-fw-commit.html | 6 +- Documentation/nvme-fw-download.1 | 4 +- Documentation/nvme-fw-download.html | 6 +- Documentation/nvme-fw-log.1 | 4 +- Documentation/nvme-fw-log.html | 6 +- Documentation/nvme-gen-dhchap-key.1 | 69 + ...vm-id-ns.html => nvme-gen-dhchap-key.html} | 76 +- Documentation/nvme-gen-dhchap-key.txt | 52 + Documentation/nvme-gen-hostnqn.1 | 4 +- Documentation/nvme-gen-hostnqn.html | 6 +- Documentation/nvme-gen-tls-key.txt | 40 + Documentation/nvme-get-feature.1 | 4 +- Documentation/nvme-get-feature.html | 6 +- Documentation/nvme-get-lba-status.1 | 4 +- Documentation/nvme-get-lba-status.html | 6 +- Documentation/nvme-get-log.1 | 26 +- Documentation/nvme-get-log.html | 35 +- Documentation/nvme-get-log.txt | 29 +- Documentation/nvme-get-ns-id.1 | 4 +- Documentation/nvme-get-ns-id.html | 6 +- Documentation/nvme-get-property.1 | 4 +- Documentation/nvme-get-property.html | 6 +- Documentation/nvme-help.1 | 4 +- Documentation/nvme-help.html | 6 +- Documentation/nvme-huawei-id-ctrl.1 | 4 +- Documentation/nvme-huawei-id-ctrl.html | 6 +- Documentation/nvme-huawei-list.1 | 4 +- Documentation/nvme-huawei-list.html | 6 +- Documentation/nvme-id-ctrl.1 | 4 +- Documentation/nvme-id-ctrl.html | 6 +- Documentation/nvme-id-domain.1 | 4 +- Documentation/nvme-id-domain.html | 6 +- Documentation/nvme-id-iocs.1 | 4 +- Documentation/nvme-id-iocs.html | 6 +- ...nvme-id-ctrl.1 => nvme-id-ns-lba-format.1} | 76 +- ...d-ctrl.html => nvme-id-ns-lba-format.html} | 104 +- Documentation/nvme-id-ns-lba-format.txt | 102 + Documentation/nvme-id-ns.1 | 8 +- Documentation/nvme-id-ns.html | 11 +- Documentation/nvme-id-ns.txt | 3 +- Documentation/nvme-id-nvmset.1 | 4 +- Documentation/nvme-id-nvmset.html | 6 +- Documentation/nvme-intel-id-ctrl.1 | 4 +- Documentation/nvme-intel-id-ctrl.html | 6 +- Documentation/nvme-intel-internal-log.1 | 4 +- Documentation/nvme-intel-internal-log.html | 6 +- Documentation/nvme-intel-lat-stats.1 | 4 +- Documentation/nvme-intel-lat-stats.html | 6 +- Documentation/nvme-intel-market-name.1 | 4 +- Documentation/nvme-intel-market-name.html | 6 +- Documentation/nvme-intel-smart-log-add.1 | 4 +- Documentation/nvme-intel-smart-log-add.html | 6 +- Documentation/nvme-intel-temp-stats.1 | 4 +- Documentation/nvme-intel-temp-stats.html | 6 +- Documentation/nvme-io-passthru.1 | 12 +- Documentation/nvme-io-passthru.html | 26 +- Documentation/nvme-io-passthru.txt | 13 +- Documentation/nvme-lba-status-log.1 | 4 +- Documentation/nvme-lba-status-log.html | 6 +- Documentation/nvme-list-ctrl.1 | 4 +- Documentation/nvme-list-ctrl.html | 6 +- Documentation/nvme-list-endgrp.1 | 4 +- Documentation/nvme-list-endgrp.html | 6 +- Documentation/nvme-list-ns.1 | 4 +- Documentation/nvme-list-ns.html | 6 +- Documentation/nvme-list-subsys.1 | 4 +- Documentation/nvme-list-subsys.html | 6 +- Documentation/nvme-list.1 | 4 +- Documentation/nvme-list.html | 6 +- Documentation/nvme-lnvm-create.1 | 100 - Documentation/nvme-lnvm-create.html | 865 --- Documentation/nvme-lnvm-create.txt | 60 - Documentation/nvme-lnvm-diag-bbtbl.1 | 117 - Documentation/nvme-lnvm-diag-bbtbl.txt | 65 - Documentation/nvme-lnvm-diag-set-bbtbl.1 | 99 - Documentation/nvme-lnvm-diag-set-bbtbl.html | 869 --- Documentation/nvme-lnvm-diag-set-bbtbl.txt | 63 - Documentation/nvme-lnvm-factory.1 | 109 - Documentation/nvme-lnvm-factory.html | 861 --- Documentation/nvme-lnvm-factory.txt | 54 - Documentation/nvme-lnvm-id-ns.1 | 88 - Documentation/nvme-lnvm-id-ns.txt | 49 - Documentation/nvme-lnvm-info.1 | 48 - Documentation/nvme-lnvm-info.txt | 27 - Documentation/nvme-lnvm-init.1 | 97 - Documentation/nvme-lnvm-init.html | 837 --- Documentation/nvme-lnvm-init.txt | 44 - Documentation/nvme-lnvm-list.txt | 27 - Documentation/nvme-lnvm-remove.1 | 53 - Documentation/nvme-lnvm-remove.txt | 32 - Documentation/nvme-lockdown.1 | 4 +- Documentation/nvme-lockdown.html | 6 +- ...log-pages.1 => nvme-media-unit-stat-log.1} | 30 +- ...ove.html => nvme-media-unit-stat-log.html} | 1635 +++--- Documentation/nvme-media-unit-stat-log.txt | 47 + ...og.1 => nvme-mi-cmd-support-effects-log.1} | 15 +- ...l => nvme-mi-cmd-support-effects-log.html} | 23 +- .../nvme-mi-cmd-support-effects-log.txt | 45 + Documentation/nvme-micron-clear-pcie-errors.1 | 4 +- .../nvme-micron-clear-pcie-errors.html | 6 +- Documentation/nvme-micron-internal-log.1 | 4 +- Documentation/nvme-micron-internal-log.html | 6 +- Documentation/nvme-micron-nand-stats.1 | 4 +- Documentation/nvme-micron-nand-stats.html | 6 +- Documentation/nvme-micron-pcie-stats.1 | 4 +- Documentation/nvme-micron-pcie-stats.html | 6 +- .../nvme-micron-selective-download.1 | 4 +- .../nvme-micron-selective-download.html | 6 +- Documentation/nvme-micron-smart-add-log.1 | 4 +- Documentation/nvme-micron-smart-add-log.html | 6 +- Documentation/nvme-micron-temperature-stats.1 | 4 +- .../nvme-micron-temperature-stats.html | 6 +- Documentation/nvme-netapp-ontapdevices.1 | 4 +- Documentation/nvme-netapp-ontapdevices.html | 6 +- Documentation/nvme-netapp-smdevices.1 | 4 +- Documentation/nvme-netapp-smdevices.html | 6 +- Documentation/nvme-ns-descs.1 | 4 +- Documentation/nvme-ns-descs.html | 6 +- Documentation/nvme-ns-rescan.1 | 4 +- Documentation/nvme-ns-rescan.html | 6 +- Documentation/nvme-nvm-id-ctrl.1 | 4 +- Documentation/nvme-nvm-id-ctrl.html | 6 +- ...trl-caps.1 => nvme-nvm-id-ns-lba-format.1} | 85 +- ...rl.html => nvme-nvm-id-ns-lba-format.html} | 83 +- Documentation/nvme-nvm-id-ns-lba-format.txt | 67 + .../{nvme-id-nvmset.1 => nvme-nvm-id-ns.1} | 80 +- ...vme-id-nvmset.html => nvme-nvm-id-ns.html} | 93 +- Documentation/nvme-nvm-id-ns.txt | 83 + ...r-log.1 => nvme-ocp-latency-monitor-log.1} | 16 +- ...html => nvme-ocp-latency-monitor-log.html} | 21 +- .../nvme-ocp-latency-monitor-log.txt | 44 + ...monitor-log.1 => nvme-ocp-smart-add-log.1} | 20 +- ...r-log.html => nvme-ocp-smart-add-log.html} | 28 +- Documentation/nvme-ocp-smart-add-log.txt | 44 + Documentation/nvme-persistent-event-log.1 | 4 +- Documentation/nvme-persistent-event-log.html | 6 +- Documentation/nvme-pred-lat-event-agg-log.1 | 4 +- .../nvme-pred-lat-event-agg-log.html | 6 +- Documentation/nvme-predictable-lat-log.1 | 4 +- Documentation/nvme-predictable-lat-log.html | 6 +- Documentation/nvme-primary-ctrl-caps.1 | 4 +- Documentation/nvme-primary-ctrl-caps.html | 6 +- Documentation/nvme-read.1 | 12 +- Documentation/nvme-read.html | 24 +- Documentation/nvme-read.txt | 11 +- Documentation/nvme-reset.1 | 4 +- Documentation/nvme-reset.html | 6 +- Documentation/nvme-resv-acquire.1 | 4 +- Documentation/nvme-resv-acquire.html | 6 +- Documentation/nvme-resv-notif-log.1 | 4 +- Documentation/nvme-resv-notif-log.html | 6 +- Documentation/nvme-resv-register.1 | 4 +- Documentation/nvme-resv-register.html | 6 +- Documentation/nvme-resv-release.1 | 4 +- Documentation/nvme-resv-release.html | 6 +- Documentation/nvme-resv-report.1 | 11 +- Documentation/nvme-resv-report.html | 14 +- Documentation/nvme-resv-report.txt | 8 +- Documentation/nvme-rpmb.1 | 4 +- Documentation/nvme-rpmb.html | 6 +- Documentation/nvme-sanitize-log.1 | 4 +- Documentation/nvme-sanitize-log.html | 6 +- Documentation/nvme-sanitize.1 | 10 +- Documentation/nvme-sanitize.html | 18 +- Documentation/nvme-sanitize.txt | 5 + Documentation/nvme-security-recv.1 | 4 +- Documentation/nvme-security-recv.html | 6 +- Documentation/nvme-security-send.1 | 4 +- Documentation/nvme-security-send.html | 6 +- Documentation/nvme-self-test-log.1 | 4 +- Documentation/nvme-self-test-log.html | 6 +- Documentation/nvme-set-feature.1 | 4 +- Documentation/nvme-set-feature.html | 6 +- Documentation/nvme-set-property.1 | 4 +- Documentation/nvme-set-property.html | 6 +- Documentation/nvme-show-hostnqn.1 | 4 +- Documentation/nvme-show-hostnqn.html | 6 +- Documentation/nvme-show-hostnqn.txt | 2 +- Documentation/nvme-show-regs.1 | 4 +- Documentation/nvme-show-regs.html | 6 +- Documentation/nvme-smart-log.1 | 4 +- Documentation/nvme-smart-log.html | 6 +- Documentation/nvme-subsystem-reset.1 | 4 +- Documentation/nvme-subsystem-reset.html | 6 +- .../nvme-supported-cap-config-log.txt | 49 + Documentation/nvme-supported-log-pages.1 | 4 +- Documentation/nvme-supported-log-pages.html | 6 +- Documentation/nvme-telemetry-log.1 | 4 +- Documentation/nvme-telemetry-log.html | 6 +- ...me-toshiba-clear-pcie-correctable-errors.1 | 4 +- ...toshiba-clear-pcie-correctable-errors.html | 6 +- Documentation/nvme-toshiba-vs-internal-log.1 | 4 +- .../nvme-toshiba-vs-internal-log.html | 6 +- Documentation/nvme-toshiba-vs-smart-add-log.1 | 4 +- .../nvme-toshiba-vs-smart-add-log.html | 6 +- Documentation/nvme-transcend-badblock.1 | 4 +- Documentation/nvme-transcend-badblock.html | 6 +- Documentation/nvme-transcend-healthvalue.1 | 4 +- Documentation/nvme-transcend-healthvalue.html | 6 +- Documentation/nvme-verify.1 | 4 +- Documentation/nvme-verify.html | 6 +- .../nvme-virtium-save-smart-to-vtview-log.1 | 4 +- ...nvme-virtium-save-smart-to-vtview-log.html | 6 +- Documentation/nvme-virtium-show-identify.1 | 4 +- Documentation/nvme-virtium-show-identify.html | 6 +- Documentation/nvme-wdc-cap-diag.1 | 4 +- Documentation/nvme-wdc-cap-diag.html | 6 +- Documentation/nvme-wdc-capabilities.1 | 4 +- Documentation/nvme-wdc-capabilities.html | 6 +- Documentation/nvme-wdc-clear-assert-dump.1 | 4 +- Documentation/nvme-wdc-clear-assert-dump.html | 6 +- .../nvme-wdc-clear-fw-activate-history.1 | 4 +- .../nvme-wdc-clear-fw-activate-history.html | 6 +- ...le-errors.1 => nvme-wdc-clear-pcie-corr.1} | 12 +- ...ist.html => nvme-wdc-clear-pcie-corr.html} | 1596 +++--- .../nvme-wdc-clear-pcie-correctable-errors.1 | 4 +- ...vme-wdc-clear-pcie-correctable-errors.html | 6 +- .../nvme-wdc-cloud-SSD-plugin-version.1 | 4 +- .../nvme-wdc-cloud-SSD-plugin-version.html | 6 +- Documentation/nvme-wdc-drive-essentials.1 | 4 +- Documentation/nvme-wdc-drive-essentials.html | 6 +- Documentation/nvme-wdc-drive-log.1 | 4 +- Documentation/nvme-wdc-drive-log.html | 6 +- Documentation/nvme-wdc-drive-resize.1 | 4 +- Documentation/nvme-wdc-drive-resize.html | 6 +- Documentation/nvme-wdc-enc-get-log.1 | 4 +- Documentation/nvme-wdc-enc-get-log.html | 6 +- Documentation/nvme-wdc-get-crash-dump.1 | 4 +- Documentation/nvme-wdc-get-crash-dump.html | 6 +- ....1 => nvme-wdc-get-dev-capabilities-log.1} | 21 +- ...=> nvme-wdc-get-dev-capabilities-log.html} | 32 +- .../nvme-wdc-get-dev-capabilities-log.txt | 48 + Documentation/nvme-wdc-get-drive-status.1 | 4 +- Documentation/nvme-wdc-get-drive-status.html | 6 +- ...ts.1 => nvme-wdc-get-error-recovery-log.1} | 21 +- ...l => nvme-wdc-get-error-recovery-log.html} | 32 +- .../nvme-wdc-get-error-recovery-log.txt | 48 + .../nvme-wdc-get-latency-monitor-log.1 | 4 +- .../nvme-wdc-get-latency-monitor-log.html | 6 +- Documentation/nvme-wdc-get-pfail-dump.1 | 4 +- Documentation/nvme-wdc-get-pfail-dump.html | 6 +- ....1 => nvme-wdc-get-unsupported-reqs-log.1} | 21 +- ...=> nvme-wdc-get-unsupported-reqs-log.html} | 32 +- .../nvme-wdc-get-unsupported-reqs-log.txt | 48 + Documentation/nvme-wdc-id-ctrl.1 | 4 +- Documentation/nvme-wdc-id-ctrl.html | 6 +- Documentation/nvme-wdc-log-page-directory.1 | 4 +- .../nvme-wdc-log-page-directory.html | 6 +- Documentation/nvme-wdc-namespace-resize.1 | 4 +- Documentation/nvme-wdc-namespace-resize.html | 6 +- Documentation/nvme-wdc-purge-monitor.1 | 4 +- Documentation/nvme-wdc-purge-monitor.html | 6 +- Documentation/nvme-wdc-purge.1 | 4 +- Documentation/nvme-wdc-purge.html | 6 +- Documentation/nvme-wdc-smart-add-log.1 | 496 ++ ...d-log.html => nvme-wdc-smart-add-log.html} | 361 +- Documentation/nvme-wdc-vs-drive-info.1 | 4 +- Documentation/nvme-wdc-vs-drive-info.html | 6 +- .../nvme-wdc-vs-error-reason-identifier.1 | 4 +- .../nvme-wdc-vs-error-reason-identifier.html | 6 +- .../nvme-wdc-vs-fw-activate-history.1 | 4 +- .../nvme-wdc-vs-fw-activate-history.html | 6 +- Documentation/nvme-wdc-vs-internal-log.1 | 4 +- Documentation/nvme-wdc-vs-internal-log.html | 6 +- Documentation/nvme-wdc-vs-nand-stats.1 | 4 +- Documentation/nvme-wdc-vs-nand-stats.html | 6 +- Documentation/nvme-wdc-vs-smart-add-log.1 | 4 +- Documentation/nvme-wdc-vs-smart-add-log.html | 6 +- .../nvme-wdc-vs-telemetry-controller-option.1 | 4 +- ...me-wdc-vs-telemetry-controller-option.html | 6 +- Documentation/nvme-wdc-vs-temperature-stats.1 | 4 +- .../nvme-wdc-vs-temperature-stats.html | 6 +- Documentation/nvme-write-uncor.1 | 10 +- Documentation/nvme-write-uncor.html | 18 +- Documentation/nvme-write-uncor.txt | 5 + Documentation/nvme-write-zeroes.1 | 10 +- Documentation/nvme-write-zeroes.html | 18 +- Documentation/nvme-write-zeroes.txt | 5 + Documentation/nvme-write.1 | 12 +- Documentation/nvme-write.html | 24 +- Documentation/nvme-write.txt | 11 +- Documentation/nvme-zns-changed-zone-list.1 | 4 +- Documentation/nvme-zns-changed-zone-list.html | 6 +- Documentation/nvme-zns-close-zone.1 | 4 +- Documentation/nvme-zns-close-zone.html | 14 +- Documentation/nvme-zns-finish-zone.1 | 4 +- Documentation/nvme-zns-finish-zone.html | 14 +- Documentation/nvme-zns-id-ctrl.1 | 4 +- Documentation/nvme-zns-id-ctrl.html | 6 +- Documentation/nvme-zns-id-ns.1 | 6 +- Documentation/nvme-zns-id-ns.html | 16 +- Documentation/nvme-zns-id-ns.txt | 2 +- Documentation/nvme-zns-offline-zone.1 | 4 +- Documentation/nvme-zns-offline-zone.html | 14 +- Documentation/nvme-zns-open-zone.1 | 16 +- Documentation/nvme-zns-open-zone.html | 32 +- Documentation/nvme-zns-open-zone.txt | 13 +- Documentation/nvme-zns-report-zones.1 | 4 +- Documentation/nvme-zns-report-zones.html | 6 +- Documentation/nvme-zns-reset-zone.1 | 4 +- Documentation/nvme-zns-reset-zone.html | 14 +- Documentation/nvme-zns-set-zone-desc.1 | 10 +- Documentation/nvme-zns-set-zone-desc.html | 26 +- Documentation/nvme-zns-set-zone-desc.txt | 5 + Documentation/nvme-zns-zone-append.1 | 4 +- Documentation/nvme-zns-zone-append.html | 6 +- Documentation/nvme-zns-zone-mgmt-recv.1 | 4 +- Documentation/nvme-zns-zone-mgmt-recv.html | 6 +- Documentation/nvme-zns-zone-mgmt-send.1 | 14 +- Documentation/nvme-zns-zone-mgmt-send.html | 30 +- Documentation/nvme-zns-zone-mgmt-send.txt | 9 +- ...eset-zone.1 => nvme-zns-zrwa-flush-zone.1} | 30 +- ...one.html => nvme-zns-zrwa-flush-zone.html} | 54 +- ...-zone.txt => nvme-zns-zrwa-flush-zone.txt} | 30 +- Documentation/nvme.1 | 512 +- Documentation/nvme.html | 821 ++- Documentation/nvme.txt | 5 + Makefile | 283 +- NVME-VERSION-GEN | 42 - README.md | 60 +- ccan/ccan/build_assert/LICENSE | 1 + ccan/ccan/build_assert/_info | 49 + ccan/ccan/build_assert/build_assert.h | 40 + ccan/ccan/check_type/LICENSE | 1 + ccan/ccan/check_type/_info | 33 + ccan/ccan/check_type/check_type.h | 64 + ccan/ccan/container_of/LICENSE | 1 + ccan/ccan/container_of/_info | 65 + ccan/ccan/container_of/container_of.h | 145 + ccan/ccan/endian/LICENSE | 1 + ccan/ccan/endian/_info | 55 + ccan/ccan/endian/endian.h | 363 ++ ccan/ccan/list/LICENSE | 1 + ccan/ccan/list/_info | 72 + ccan/ccan/list/list.c | 43 + ccan/ccan/list/list.h | 842 +++ ccan/ccan/str/LICENSE | 1 + ccan/ccan/str/_info | 52 + ccan/ccan/str/debug.c | 108 + ccan/ccan/str/str.c | 13 + ccan/ccan/str/str.h | 228 + ccan/ccan/str/str_debug.h | 30 + ccan/licenses/BSD-MIT | 17 + ccan/licenses/CC0 | 28 + ccan/meson.build | 10 + common.h | 25 +- completions/_nvme | 87 +- completions/bash-nvme-completion.sh | 119 +- fabrics.c | 2642 ++++----- fabrics.h | 62 +- linux/lightnvm.h | 174 - linux/nvme.h | 2013 ------- linux/nvme_ioctl.h | 75 - meson.build | 276 + meson_options.txt | 8 + nvme-builtin.h | 14 +- nvme-filters.c | 104 - nvme-ioctl.c | 1157 ---- nvme-ioctl.h | 193 - nvme-lightnvm.c | 700 --- nvme-lightnvm.h | 329 -- nvme-print.c | 3713 +++++++------ nvme-print.h | 96 +- nvme-rpmb.c | 78 +- nvme-status.c | 190 - nvme-status.h | 14 - nvme-topology.c | 801 --- nvme.c | 4800 +++++++++++------ nvme.control.in | 4 +- nvme.h | 105 +- nvme.spec.in | 55 +- .../dracut-conf/70-nvmf-autoconnect.conf.in | 2 +- ...ice => nvmefc-boot-connections.service.in} | 0 ...ct.service => nvmf-autoconnect.service.in} | 4 +- ...-connect.target => nvmf-connect.target.in} | 0 ...nect@.service => nvmf-connect@.service.in} | 2 +- ...ect.rules => 70-nvmf-autoconnect.rules.in} | 4 +- ...rules => 71-nvmf-iopolicy-netapp.rules.in} | 0 plugin.c | 32 +- plugins/amzn/amzn-nvme.c | 8 +- plugins/dera/dera-nvme.c | 17 +- plugins/huawei/huawei-nvme.c | 22 +- plugins/intel/intel-nvme.c | 238 +- plugins/lnvm/lnvm-nvme.c | 436 -- plugins/lnvm/lnvm-nvme.h | 27 - plugins/memblaze/memblaze-nvme.c | 223 +- plugins/meson.build | 21 + plugins/micron/micron-nvme.c | 688 ++- plugins/micron/micron-nvme.h | 7 +- plugins/netapp/netapp-nvme.c | 67 +- plugins/nvidia/nvidia-nvme.c | 8 +- plugins/ocp/ocp-nvme.c | 788 +++ plugins/ocp/ocp-nvme.h | 25 + plugins/scaleflux/sfx-nvme.c | 78 +- plugins/seagate/seagate-nvme.c | 140 +- plugins/shannon/shannon-nvme.c | 73 +- plugins/shannon/shannon-nvme.h | 8 +- plugins/toshiba/toshiba-nvme.c | 40 +- plugins/transcend/transcend-nvme.c | 10 +- plugins/virtium/virtium-nvme.c | 29 +- plugins/wdc/wdc-nvme.c | 2509 ++++++--- plugins/wdc/wdc-nvme.h | 5 +- plugins/ymtc/ymtc-nvme.c | 18 +- plugins/zns/zns.c | 461 +- plugins/zns/zns.h | 29 +- scripts/gen-hostnqn.sh | 29 +- subprojects/json-c.wrap | 12 + subprojects/libnvme.wrap | 6 + subprojects/zlib.wrap | 12 + tests/Makefile | 48 - tests/README | 32 +- tests/meson.build | 79 + tests/nvme_attach_detach_ns_test.py | 1 + tests/nvme_copy_test.py | 60 + tests/nvme_create_max_ns_test.py | 4 +- tests/nvme_dsm_test.py | 57 + tests/nvme_format_test.py | 7 +- tests/nvme_fw_log_test.py | 3 +- tests/nvme_get_features_test.py | 1 + tests/nvme_get_lba_status_test.py | 71 + tests/nvme_id_ns_test.py | 3 +- tests/nvme_lba_status_log_test.py | 60 + tests/nvme_read_write_test.py | 2 + tests/nvme_smart_log_test.py | 4 +- tests/nvme_test.py | 34 +- tests/nvme_test_io.py | 1 + tests/nvme_test_logger.py | 1 + tests/nvme_verify_test.py | 56 + tests/nvme_writezeros_test.py | 2 + tests/run_py_linters.py | 123 + update-docs.sh | 10 + util/argconfig.c | 22 +- util/argconfig.h | 8 +- util/base64.c | 105 + util/base64.h | 7 + util/json.h | 1 + util/log.c | 90 - util/log.h | 34 - util/meson.build | 8 + util/parser.c | 46 +- 521 files changed, 21541 insertions(+), 21644 deletions(-) delete mode 100644 .github/workflows/c-cpp.yml create mode 100644 .github/workflows/meson.yml create mode 100644 .gitmodules delete mode 100644 Documentation/Makefile create mode 100644 Documentation/cmd-plugins.txt create mode 100644 Documentation/meson.build rename Documentation/{nvme-lnvm-list.1 => nvme-check-dhchap-key.1} (64%) rename Documentation/{nvme-lnvm-info.html => nvme-check-dhchap-key.html} (91%) create mode 100644 Documentation/nvme-check-dhchap-key.txt create mode 100644 Documentation/nvme-check-tls-key.txt copy Documentation/{nvme-connect.txt => nvme-config.txt} (63%) create mode 100644 Documentation/nvme-dim.1 rename Documentation/{nvme-lnvm-diag-bbtbl.html => nvme-dim.html} (82%) create mode 100644 Documentation/nvme-dim.txt create mode 100644 Documentation/nvme-gen-dhchap-key.1 rename Documentation/{nvme-lnvm-id-ns.html => nvme-gen-dhchap-key.html} (87%) create mode 100644 Documentation/nvme-gen-dhchap-key.txt create mode 100644 Documentation/nvme-gen-tls-key.txt copy Documentation/{nvme-id-ctrl.1 => nvme-id-ns-lba-format.1} (60%) copy Documentation/{nvme-id-ctrl.html => nvme-id-ns-lba-format.html} (85%) create mode 100644 Documentation/nvme-id-ns-lba-format.txt delete mode 100644 Documentation/nvme-lnvm-create.1 delete mode 100644 Documentation/nvme-lnvm-create.html delete mode 100644 Documentation/nvme-lnvm-create.txt delete mode 100644 Documentation/nvme-lnvm-diag-bbtbl.1 delete mode 100644 Documentation/nvme-lnvm-diag-bbtbl.txt delete mode 100644 Documentation/nvme-lnvm-diag-set-bbtbl.1 delete mode 100644 Documentation/nvme-lnvm-diag-set-bbtbl.html delete mode 100644 Documentation/nvme-lnvm-diag-set-bbtbl.txt delete mode 100644 Documentation/nvme-lnvm-factory.1 delete mode 100644 Documentation/nvme-lnvm-factory.html delete mode 100644 Documentation/nvme-lnvm-factory.txt delete mode 100644 Documentation/nvme-lnvm-id-ns.1 delete mode 100644 Documentation/nvme-lnvm-id-ns.txt delete mode 100644 Documentation/nvme-lnvm-info.1 delete mode 100644 Documentation/nvme-lnvm-info.txt delete mode 100644 Documentation/nvme-lnvm-init.1 delete mode 100644 Documentation/nvme-lnvm-init.html delete mode 100644 Documentation/nvme-lnvm-init.txt delete mode 100644 Documentation/nvme-lnvm-list.txt delete mode 100644 Documentation/nvme-lnvm-remove.1 delete mode 100644 Documentation/nvme-lnvm-remove.txt copy Documentation/{nvme-supported-log-pages.1 => nvme-media-unit-stat-log.1} (61%) rename Documentation/{nvme-lnvm-remove.html => nvme-media-unit-stat-log.html} (92%) create mode 100644 Documentation/nvme-media-unit-stat-log.txt copy Documentation/{nvme-fid-support-effects-log.1 => nvme-mi-cmd-support-effects-log.1} (76%) copy Documentation/{nvme-fid-support-effects-log.html => nvme-mi-cmd-support-effects-log.html} (91%) create mode 100644 Documentation/nvme-mi-cmd-support-effects-log.txt copy Documentation/{nvme-primary-ctrl-caps.1 => nvme-nvm-id-ns-lba-format.1} (57%) copy Documentation/{nvme-intel-id-ctrl.html => nvme-nvm-id-ns-lba-format.html} (87%) create mode 100644 Documentation/nvme-nvm-id-ns-lba-format.txt copy Documentation/{nvme-id-nvmset.1 => nvme-nvm-id-ns.1} (60%) copy Documentation/{nvme-id-nvmset.html => nvme-nvm-id-ns.html} (86%) create mode 100644 Documentation/nvme-nvm-id-ns.txt copy Documentation/{nvme-wdc-get-latency-monitor-log.1 => nvme-ocp-latency-monitor-log.1} (74%) copy Documentation/{nvme-wdc-get-latency-monitor-log.html => nvme-ocp-latency-monitor-log.html} (91%) create mode 100644 Documentation/nvme-ocp-latency-monitor-log.txt copy Documentation/{nvme-wdc-get-latency-monitor-log.1 => nvme-ocp-smart-add-log.1} (68%) copy Documentation/{nvme-wdc-get-latency-monitor-log.html => nvme-ocp-smart-add-log.html} (90%) create mode 100644 Documentation/nvme-ocp-smart-add-log.txt create mode 100644 Documentation/nvme-supported-cap-config-log.txt copy Documentation/{nvme-wdc-clear-pcie-correctable-errors.1 => nvme-wdc-clear-pcie-corr.1} (82%) rename Documentation/{nvme-lnvm-list.html => nvme-wdc-clear-pcie-corr.html} (92%) copy Documentation/{nvme-wdc-vs-nand-stats.1 => nvme-wdc-get-dev-capabilities-log.1} (65%) copy Documentation/{nvme-wdc-vs-nand-stats.html => nvme-wdc-get-dev-capabilities-log.html} (89%) create mode 100644 Documentation/nvme-wdc-get-dev-capabilities-log.txt copy Documentation/{nvme-wdc-vs-nand-stats.1 => nvme-wdc-get-error-recovery-log.1} (66%) copy Documentation/{nvme-wdc-vs-nand-stats.html => nvme-wdc-get-error-recovery-log.html} (89%) create mode 100644 Documentation/nvme-wdc-get-error-recovery-log.txt copy Documentation/{nvme-wdc-vs-nand-stats.1 => nvme-wdc-get-unsupported-reqs-log.1} (65%) copy Documentation/{nvme-wdc-vs-nand-stats.html => nvme-wdc-get-unsupported-reqs-log.html} (89%) create mode 100644 Documentation/nvme-wdc-get-unsupported-reqs-log.txt create mode 100644 Documentation/nvme-wdc-smart-add-log.1 copy Documentation/{nvme-wdc-vs-smart-add-log.html => nvme-wdc-smart-add-log.html} (52%) copy Documentation/{nvme-zns-reset-zone.1 => nvme-zns-zrwa-flush-zone.1} (72%) copy Documentation/{nvme-zns-reset-zone.html => nvme-zns-zrwa-flush-zone.html} (89%) copy Documentation/{nvme-zns-open-zone.txt => nvme-zns-zrwa-flush-zone.txt} (56%) delete mode 100755 NVME-VERSION-GEN create mode 120000 ccan/ccan/build_assert/LICENSE create mode 100644 ccan/ccan/build_assert/_info create mode 100644 ccan/ccan/build_assert/build_assert.h create mode 120000 ccan/ccan/check_type/LICENSE create mode 100644 ccan/ccan/check_type/_info create mode 100644 ccan/ccan/check_type/check_type.h create mode 120000 ccan/ccan/container_of/LICENSE create mode 100644 ccan/ccan/container_of/_info create mode 100644 ccan/ccan/container_of/container_of.h create mode 120000 ccan/ccan/endian/LICENSE create mode 100644 ccan/ccan/endian/_info create mode 100644 ccan/ccan/endian/endian.h create mode 120000 ccan/ccan/list/LICENSE create mode 100644 ccan/ccan/list/_info create mode 100644 ccan/ccan/list/list.c create mode 100644 ccan/ccan/list/list.h create mode 120000 ccan/ccan/str/LICENSE create mode 100644 ccan/ccan/str/_info create mode 100644 ccan/ccan/str/debug.c create mode 100644 ccan/ccan/str/str.c create mode 100644 ccan/ccan/str/str.h create mode 100644 ccan/ccan/str/str_debug.h create mode 100644 ccan/licenses/BSD-MIT create mode 100644 ccan/licenses/CC0 create mode 100644 ccan/meson.build delete mode 100644 linux/lightnvm.h delete mode 100644 linux/nvme.h delete mode 100644 linux/nvme_ioctl.h create mode 100644 meson.build create mode 100644 meson_options.txt delete mode 100644 nvme-filters.c delete mode 100644 nvme-ioctl.c delete mode 100644 nvme-ioctl.h delete mode 100644 nvme-lightnvm.c delete mode 100644 nvme-lightnvm.h mode change 100755 => 100644 nvme-print.c delete mode 100644 nvme-status.c delete mode 100644 nvme-status.h delete mode 100644 nvme-topology.c rename nvmf-autoconnect/systemd/{nvmefc-boot-connections.service => nvmefc-boot-connections.service.in} (100%) rename nvmf-autoconnect/systemd/{nvmf-autoconnect.service => nvmf-autoconnect.service.in} (71%) rename nvmf-autoconnect/systemd/{nvmf-connect.target => nvmf-connect.target.in} (100%) rename nvmf-autoconnect/systemd/{nvmf-connect@.service => nvmf-connect@.service.in} (73%) rename nvmf-autoconnect/udev-rules/{70-nvmf-autoconnect.rules => 70-nvmf-autoconnect.rules.in} (64%) rename nvmf-autoconnect/udev-rules/{71-nvmf-iopolicy-netapp.rules => 71-nvmf-iopolicy-netapp.rules.in} (100%) delete mode 100644 plugins/lnvm/lnvm-nvme.c delete mode 100644 plugins/lnvm/lnvm-nvme.h create mode 100644 plugins/meson.build create mode 100644 plugins/ocp/ocp-nvme.c create mode 100644 plugins/ocp/ocp-nvme.h create mode 100644 subprojects/json-c.wrap create mode 100644 subprojects/libnvme.wrap create mode 100644 subprojects/zlib.wrap delete mode 100644 tests/Makefile create mode 100644 tests/meson.build create mode 100644 tests/nvme_copy_test.py create mode 100644 tests/nvme_dsm_test.py create mode 100644 tests/nvme_get_lba_status_test.py create mode 100644 tests/nvme_lba_status_log_test.py create mode 100644 tests/nvme_verify_test.py create mode 100644 tests/run_py_linters.py create mode 100755 update-docs.sh create mode 100644 util/base64.c create mode 100644 util/base64.h delete mode 100644 util/log.c delete mode 100644 util/log.h create mode 100644 util/meson.build diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml deleted file mode 100644 index 03471d7..0000000 --- a/.github/workflows/c-cpp.yml +++ /dev/null @@ -1,18 +0,0 @@ -gname: C/C++ CI - -on: - push: - branches: [ master nvme-cli-monolithic ] - pull_request: - branches: [ master nvme-cli-monolithic ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: make - run: sudo apt-get install gcc-10-powerpc* && make clean && make && make clean && make LD=powerpc64le-linux-gnu-ld CC=powerpc64le-linux-gnu-gcc-10 CFLAGS='-O2 -g -Wall -Wformat-security -Werror -m64 -mcpu=power8 -mtune=power8 -I -I/usr/powerpc64-linux-gnu/include/' - diff --git a/.github/workflows/meson.yml b/.github/workflows/meson.yml new file mode 100644 index 0000000..0d6350f --- /dev/null +++ b/.github/workflows/meson.yml @@ -0,0 +1,27 @@ +name: nvme-cli meson CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + + workflow_dispatch: + +jobs: + meson-build: + runs-on: ubuntu-latest + + steps: + - name: install libraries + run: sudo apt-get install libjson-c-dev libhugetlbfs-dev + - uses: actions/checkout@v2 + - uses: actions/setup-python@v1 + # - name: install python dependencies + # run: | + # python -m pip install --upgrade pip + # pip install nose nose2 + - uses: BSFishy/meson-build@v1.0.3 + with: + setup-options: --werror + action: build diff --git a/.gitignore b/.gitignore index 8e5ae00..0745eff 100644 --- a/.gitignore +++ b/.gitignore @@ -4,18 +4,15 @@ a.out *.o *~ *.swp -NVME-VERSION-FILE -nvme.spec nvme-*.tar.gz -version + +subprojects/* +!subprojects/*.wrap cscope.* -/debian/files -/debian/nvme-cli.debhelper.log -/debian/nvme-cli.substvars -/debian/nvme-cli - tests/__pycache__ tests/nvmetests tests/*.pyc + +.build \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e69de29 diff --git a/Documentation/Makefile b/Documentation/Makefile deleted file mode 100644 index 9edae99..0000000 --- a/Documentation/Makefile +++ /dev/null @@ -1,265 +0,0 @@ -# Guard against environment variables -MAN1_TXT = -TECH_DOCS = -ARTICLES = -SP_ARTICLES = - -MAN1_TXT += $(filter-out \ - $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \ - $(wildcard nvme-*.txt)) -MAN1_TXT += nvme.txt -MAN_TXT = $(MAN1_TXT) -MAN_XML = $(patsubst %.txt,%.xml,$(MAN_TXT)) -MAN_HTML = $(patsubst %.txt,%.html,$(MAN_TXT)) - -DOC_HTML = $(MAN_HTML) $(OBSOLETE_HTML) - -API_DOCS = -SP_ARTICLES += $(API_DOCS) -SP_ARTICLES += $(TECH_DOCS) - -ifneq ($(findstring $(MAKEFLAGS),s),s) -ifndef V - QUIET_ASCIIDOC = @echo ' ' ASCIIDOC $@; - QUIET_XMLTO = @echo ' ' XMLTO $@; - QUIET_DB2TEXI = @echo ' ' DB2TEXI $@; - QUIET_MAKEINFO = @echo ' ' MAKEINFO $@; - QUIET_DBLATEX = @echo ' ' DBLATEX $@; - QUIET_XSLTPROC = @echo ' ' XSLTPROC $@; - QUIET_GEN = @echo ' ' GEN $@; - QUIET_LINT = @echo ' ' LINT $@; - QUIET_STDERR = 2> /dev/null - QUIET_SUBDIR0 = +@subdir= - QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \ - $(MAKE) $(PRINT_DIR) -C $$subdir - export V -endif -endif - -DOC_MAN1 = $(patsubst %.txt,%.1,$(MAN1_TXT)) - -ASCIIDOC = asciidoc -ASCIIDOC_EXTRA = -ASCIIDOC_DOCBOOK = docbook -ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) -TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK) -MANPAGE_XSL = manpage-normal.xsl -XMLTO = xmlto -XMLTO_EXTRA = --skip-validation -INSTALL ?= install -RM ?= rm -f -MAN_REPO = ../../nvme-manpages - -ASCIIDOC_HTML = xhtml11 -ASCIIDOC_CONF = -f asciidoc.conf - -ifdef USE_ASCIIDOCTOR -ASCIIDOC = asciidoctor -ASCIIDOC_CONF = -ASCIIDOC_HTML = xhtml5 -ASCIIDOC_DOCBOOK = docbook5 -ASCIIDOC_EXTRA += -acompat-mode -ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions -ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;' -ASCIIDOC_EXTRA += -amansource='NVMe' -ASCIIDOC_EXTRA += -amanmanual='NVMe Manual' -endif - -ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) -TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML) - -MAKEINFO = makeinfo -INSTALL_INFO = install-info -DOCBOOK2X_TEXI = docbook2x-texi -DBLATEX = dblatex -ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex -ifndef PERL_PATH - PERL_PATH = /usr/bin/perl -endif - -ifdef DOCBOOK_XSL_172 -MANPAGE_XSL = manpage-1.72.xsl -else - ifndef ASCIIDOC_ROFF - endif -endif -ifdef MAN_BOLD_LITERAL -XMLTO_EXTRA += -m manpage-bold-literal.xsl -endif -ifdef DOCBOOK_SUPPRESS_SP -XMLTO_EXTRA += -m manpage-suppress-sp.xsl -endif - -ifndef MAN_BASE_URL -MAN_BASE_URL = file://$(htmldir)/ -endif -XMLTO_EXTRA += - -ifdef GNU_ROFF -XMLTO_EXTRA += -endif - -SHELL_PATH ?= $(SHELL) -# Shell quote; -SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) - -ifdef DEFAULT_PAGER -DEFAULT_PAGER_SQ = $(subst ','\'',$(DEFAULT_PAGER)) -endif - -ifdef DEFAULT_EDITOR -DEFAULT_EDITOR_SQ = $(subst ','\'',$(DEFAULT_EDITOR)) -endif - -QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir -QUIET_SUBDIR1 = - -ifneq ($(findstring $(MAKEFLAGS),w),w) -PRINT_DIR = --no-print-directory -else # "make -w" -NO_SUBDIR = : -endif - -DESTDIR = -PREFIX ?= /usr/local - -all: man html - -html: $(DOC_HTML) - -man: man1 -man1: $(DOC_MAN1) - -install-no-build: - $(INSTALL) -d -m 755 $(DESTDIR)$(PREFIX)/share/man/man1 - $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(PREFIX)/share/man/man1 - -install: install-man - -install-man: man - $(INSTALL) -d -m 755 $(DESTDIR)$(PREFIX)/share/man/man1 - $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(PREFIX)/share/man/man1 - -docdep_prereqs = \ - cmd-list.made $(cmds_txt) - -doc.dep : $(docdep_prereqs) $(wildcard *.txt) build-docdep.perl - $(QUIET_GEN)$(RM) $@+ $@ && \ - $(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \ - mv $@+ $@ - --include doc.dep - -cmds_txt = cmds-ancillaryinterrogators.txt \ - cmds-ancillarymanipulators.txt \ - cmds-mainporcelain.txt \ - cmds-plumbinginterrogators.txt \ - cmds-plumbingmanipulators.txt \ - cmds-synchingrepositories.txt \ - cmds-synchelpers.txt \ - cmds-purehelpers.txt \ - cmds-foreignscminterface.txt - -$(cmds_txt): cmd-list.made - -cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT) - $(QUIET_GEN)$(RM) $@ && \ - $(PERL_PATH) ./cmd-list.perl ../command-list.txt $(QUIET_STDERR) && \ - date >$@ - -clean: - $(RM) *.xml *.xml+ *.html+ - $(RM) *.texi *.texi+ *.texi++ nvme.info nvmeman.info - $(RM) *.pdf - $(RM) howto-index.txt howto/*.html doc.dep - $(RM) technical/*.html technical/api-index.txt - $(RM) $(cmds_txt) *.made - $(RM) manpage-base-url.xsl - $(RM) *~ - -clobber: clean - $(RM) *.html *.1 - -%.1 : %.xml - $(QUIET_XMLTO)$(RM) $@ && \ - $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $< - -%.xml : %.txt - $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ - $(TXT_TO_XML) -d manpage -o $@+ $< && \ - mv $@+ $@ - -user-manual.xml: user-manual.txt user-manual.conf - $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ - $(TXT_TO_XML) -d article -o $@+ $< && \ - mv $@+ $@ - -technical/api-index.txt: technical/api-index-skel.txt \ - technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS)) - $(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh - -XSLT = docbook.xsl -XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css - -nvme.info: user-manual.texi - $(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi - -user-manual.texi: user-manual.xml - $(QUIET_DB2TEXI)$(RM) $@+ $@ && \ - $(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@++ && \ - $(PERL_PATH) fix-texi.perl <$@++ >$@+ && \ - rm $@++ && \ - mv $@+ $@ - -user-manual.pdf: user-manual.xml - $(QUIET_DBLATEX)$(RM) $@+ $@ && \ - $(DBLATEX) -o $@+ -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty $< && \ - mv $@+ $@ - -nvmeman.texi: $(MAN_XML) cat-texi.perl - $(QUIET_DB2TEXI)$(RM) $@+ $@ && \ - ($(foreach xml,$(MAN_XML),$(DOCBOOK2X_TEXI) --encoding=UTF-8 \ - --to-stdout $(xml) &&) true) > $@++ && \ - $(PERL_PATH) cat-texi.perl $@ <$@++ >$@+ && \ - rm $@++ && \ - mv $@+ $@ - -nvmeman.info: nvmeman.texi - $(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $*.texi - -$(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml - $(QUIET_DB2TEXI)$(RM) $@+ $@ && \ - $(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@+ && \ - mv $@+ $@ - -howto-index.txt: howto-index.sh $(wildcard howto/*.txt) - $(QUIET_GEN)$(RM) $@+ $@ && \ - '$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(wildcard howto/*.txt)) >$@+ && \ - mv $@+ $@ - -WEBDOC_DEST = /pub/software/scm/nvme/docs - -$(MAN_HTML): %.html : %.txt - $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ - $(TXT_TO_HTML) -d manpage -o $@+ $< && \ - mv $@+ $@ - -quick-install: quick-install-man - -$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt - $(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt - -install-webdoc : html - '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST) - -require-manrepo:: - @if test ! -d $(MAN_REPO); \ - then echo "nvme-manpages repository must exist at $(MAN_REPO)"; exit 1; fi - -quick-install-man: require-manrepo - '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(MAN_REPO) $(DESTDIR)$(mandir) - -print-man1: - @for i in $(MAN1_TXT); do echo $$i; done - -.PHONY: FORCE diff --git a/Documentation/cmd-plugins.txt b/Documentation/cmd-plugins.txt new file mode 100644 index 0000000..4e66cf1 --- /dev/null +++ b/Documentation/cmd-plugins.txt @@ -0,0 +1,200 @@ +linknvme:nvme-intel-id-ctrl[1]:: + Intel - NVMe Identify Controller + +linknvme:nvme-intel-internal-log[1]:: + Retrieve Intel device's internal log and save to file + +linknvme:nvme-intel-lat-stats[1]:: + Retrieve NVMe Identify Controller, return result and structure + +linknvme:nvme-intel-market-name[1]:: + Intel vendor specific marketing name log page + +linknvme:nvme-intel-smart-log-add[1]:: + NVMe Intel Additional SMART log page + +linknvme:nvme-intel-temp-stats[1]:: + NVMe Intel Additional SMART log page for temp stats + +linknvme:nvme-huawei-id-ctrl[1]:: + NVMe huawei Identify Controller + +linknvme:nvme-huawei-list[1]:: + List all recognized Huawei NVMe devices + +linknvme:nvme-dera-stat[1]:: + NVMe Dera Device status and Additional SMART log page request + +linknvme:nvme-micron-clear-pcie-errors[1]:: + Clears correctable PCIe correctable errors of given Micron device + +linknvme:nvme-micron-internal-log[1]:: + Retrieve Micron device's internal logs and save to given zip file + +linknvme:nvme-micron-nand-stats[1]:: + Retrieves NAND statistics of given micron device + +linknvme:nvme-micron-pcie-stats[1]:: + Retrieves pcie error statistics for given micron device + +linknvme:nvme-micron-selective-download[1]:: + Performs selective firmware download + +linknvme:nvme-micron-smart-add-log[1]:: + Retrieves NAND statistics + +linknvme:nvme-micron-temperature-stats[1]:: + Retrieves temperature information of given micron device + +linknvme:nvme-netapp-ontapdevices[1]:: + Display information about ONTAP devices + +linknvme:nvme-netapp-smdevices[1]:: + Display information for each NVMe path to an E-Series volume + +linknvme:nvme-toshiba-clear-pcie-correctable-errors[1]:: + Reset the PCIe correctable errors count to zero + +linknvme:nvme-toshiba-vs-internal-log[1]:: + Retrieve a Toshiba device's vendor specific internal log + +linknvme:nvme-toshiba-vs-smart-add-log[1]:: + Retrieve a Toshiba device's vendor specific extended SMART log page + +linknvme:nvme-transcend-badblock[1]:: + Retrieve Transcend NVMe device's bad blocks + +linknvme:nvme-transcend-healthvalue[1]:: + Use NVMe SMART table to analyse the health value of Transcend device + +linknvme:nvme-virtium-show-identify[1]:: + Show a complete detail of identify device information in json format + +linknvme:nvme-virtium-save-smart-to-vtview-log[1]:: + Periodically save smart attributes into a log file + +linknvme:nvme-wdc-cap-diag[1]:: + Retrieve WDC device's diagnostic log and save to file + +linknvme:nvme-wdc-capabilities[1]:: + Display WDC plugin command capabilities + +linknvme:nvme-wdc-clear-assert-dump[1]:: + Clears the assert dump (if present) + +linknvme:nvme-wdc-clear-fw-activate-history[1]:: + Clears the firmware activate history table + +linknvme:nvme-wdc-clear-pcie-corr[1]:: + Clears the pcie correctable errors field + +linknvme:nvme-wdc-clear-pcie-correctable-errors[1]:: + Clears the pcie correctable errors returned in the smart-log-add command + +linknvme:nvme-wdc-cloud-SSD-plugin-version[1]:: + Display WDC plugin Cloud SSD Plugin Version + +linknvme:nvme-wdc-drive-essentials[1]:: + Retrieve WDC device's drive essentials bin files + +linknvme:nvme-wdc-drive-log[1]:: + Retrieve WDC device's drive log and save to file + +linknvme:nvme-wdc-drive-resize[1]:: + Send NVMe WDC Resize Vendor Unique Command + +linknvme:nvme-wdc-enc-get-log[1]:: + Send NVMe WDC enc-get-log Vendor Unique Command + +linknvme:nvme-wdc-get-crash-dump[1]:: + Retrieve WDC device's crash dump + +linknvme:nvme-wdc-get-drive-status[1]:: + Send the NVMe WDC get-drive-status command + +linknvme:nvme-wdc-get-latency-monitor-log[1]:: + Display latency monitor log page data in human readable format + +linknvme:nvme-wdc-get-pfail-dump[1]:: + Retrieve WDC device's pfail crash dump + +linknvme:nvme-wdc-id-ctrl[1]:: + Send NVMe Identify Controller, return result and structure + +linknvme:nvme-wdc-log-page-directory[1]:: + Retrieves the list of Log IDs supported by the drive + +linknvme:nvme-wdc-namespace-resize[1]:: + Resizes the device's namespace + +linknvme:nvme-wdc-purge-monitor[1]:: + Send NVMe WDC Purge-Monitor Vendor Unique Command + +linknvme:nvme-wdc-purge[1]:: + Send NVMe WDC Purge Vendor Unique Command + +linknvme:nvme-wdc-smart-add-log[1]:: + Send NVMe WDC smart add log Vendor Unique Command + +linknvme:nvme-wdc-vs-drive-info[1]:: + Send the NVMe WDC vs-drive-info command + +linknvme:nvme-wdc-vs-error-reason-identifier[1]:: + Retrieve WDC device's telemetry log error reason identifier field + +linknvme:nvme-wdc-vs-fw-activate-history[1]:: + Execute NVMe WDC vs-fw-activate-history Vendor Unique Command + +linknvme:nvme-wdc-vs-internal-log[1]:: + Retrieve WDC device's internal firmware log and save to file + +linknvme:nvme-wdc-vs-nand-stats[1]:: + Send NVMe WDC vs-nand-stats Vendor Unique Command + +linknvme:nvme-wdc-vs-telemetry-controller-option[1]:: + Disable/Enable the controller initiated option of the telemetry log page + +linknvme:nvme-wdc-vs-temperature-stats[1]:: + Display temperature-related statistics + +linknvme:nvme-zns-changed-zone-list[1]:: + Retrieve Changed Zone log for the given device + +linknvme:nvme-zns-close-zone[1]:: + Closes one or all zones + +linknvme:nvme-zns-finish-zone[1]:: + Finishes one or all zones + +linknvme:nvme-zns-id-ctrl[1]:: + Send NVMe Zoned Command Set Identify Controller + +linknvme:nvme-zns-id-ns[1]:: + Send NVMe Zoned Command Set Identify Namespace + +linknvme:nvme-zns-offline-zone[1]:: + Offlines one or all zones + +linknvme:nvme-zns-open-zone[1]:: + Opens one or all zones + +linknvme:nvme-zns-report-zones[1]:: + Retrieve and display the Report Zones data structure + +linknvme:nvme-zns-reset-zone[1]:: + Resets one or all zones + +linknvme:nvme-zns-set-zone-desc[1]:: + Set extended descriptor data for a zone + +linknvme:nvme-zns-zone-append[1]:: + Send an NVMe write command, provide results + +linknvme:nvme-zns-zone-mgmt-recv[1]:: + Zone Management Receive command + +linknvme:nvme-zns-zone-mgmt-send[1]:: + Zone Management Send command + +linknvme:nvme-zns-zrwa-flush-zone[1]:: + Flush LBAs associated with a ZRWA to a zone diff --git a/Documentation/cmds-main.txt b/Documentation/cmds-main.txt index 46df03d..ab8ee3b 100644 --- a/Documentation/cmds-main.txt +++ b/Documentation/cmds-main.txt @@ -10,7 +10,7 @@ linknvme:nvme-error-log[1]:: linknvme:nvme-flush[1]:: Submit flush -linknvme:nvme-dms[1]:: +linknvme:nvme-dsm[1]:: Submit Data Set Management linknvme:nvme-format[1]:: @@ -160,6 +160,9 @@ linknvme:nvme-connect-all[1]:: linknvme:nvme-connect[1]:: Connect to an NVMe-over-Fabrics subsystem +linknvme:nvme-dim[1]:: + Send Discovery Information Management command to a Discovery Controller + linknvme:nvme-disconnect[1]:: Disconnect from an NVMe-over-Fabrics subsystem @@ -168,3 +171,102 @@ linknvme:nvme-disconnect-all[1]:: linknvme:nvme-get-property[1]:: Reads and shows NVMe-over-Fabrics controller property + +linknvme:nvme-media-unit-stat-log[1]:: + Retrieve and show the configuration and wear of media units + +linknvme:nvme-supported-cap-config-log[1]:: + Retrieve and show the list of Supported Capacity Configuration Descriptors + +linknvme:nvme-boot-part-log[1]:: + Retrieve Boot Partition Log + +linknvme:nvme-capacity-mgmt[1]:: + Capacity Management Command + +linknvme:nvme-check-dhchap-key[1]:: + Generate NVMeoF DH-HMAC-CHAP host key + +linknvme:nvme-check-tls-key[1]:: + Validate NVMeoF TLS PSK + +linknvme:nvme-cmdset-ind-id-ns[1]:: + I/O Command Set Independent Identify Namespace + +linknvme:nvme-endurance-event-agg-log[1]:: + Retrieve Endurance Group Event Aggregate Log + +linknvme:nvme-fid-support-effects-log[1]:: + Retrieve FID Support and Effects log + +linknvme:nvme-gen-dhchap-key[1]:: + Generate NVMeoF DH-HMAC-CHAP host key + +linknvme:nvme-gen-hostnqn[1]:: + Generate NVMeoF host NQN + +linknvme:nvme-gen-tls-key[1]:: + Generate NVMeoF TLS PSK + +linknvme:nvme-get-lba-status[1]:: + Get LBA Status command + +linknvme:nvme-id-domain[1]:: + NVMe Identify Domain List + +linknvme:nvme-id-ns-lba-format[1]:: + NVMe Identify Namespace for the specified LBA Format index + +linknvme:nvme-lba-status-log[1]:: + Retrieve LBA Status Information Log + +linknvme:nvme-list-endgrp[1]:: + NVMe Identify Endurance Group List + +linknvme:nvme-ns-rescan[1]:: + Rescans the NVME namespaces + +linknvme:nvme-nvm-id-ctrl[1]:: + NVMe Identify Controller NVM Command Set + +linknvme:nvme-nvm-id-ns[1]:: + NVMe Identify Namespace NVM Command Set + +linknvme:nvme-nvm-id-ns-lba-format[1]:: + NVMe Identify Namespace NVM Command Set for the specified LBA Format index + +linknvme:nvme-persistent-event-log[1]:: + Retrieve Presistent Event Log + +linknvme:nvme-predictable-lat-log[1]:: + Retrieve Predictable Latency per Nvmset Log + +linknvme:nvme-pred-lat-event-agg-log[1]:: + Retrieve Predictable Latency Event Aggregate Log + +linknvme:nvme-primary-ctrl-caps[1]:: + NVMe Identify Primary Controller Capabilities + +linknvme:nvme-reset[1]:: + Resets the controller + +linknvme:nvme-rpmb[1]:: + Replay Protection Memory Block commands + +linknvme:nvme-sanitize-log[1]:: + Retrieve sanitize log + +linknvme:nvme-set-property[1]:: + Set a property and show the resulting value + +linknvme:nvme-show-hostnqn[1]:: + Show NVMeoF host NQN + +linknvme:nvme-subsystem-reset[1]:: + Resets the subsystem + +linknvme:nvme-supported-log-pages[1]:: + Retrieve the Supported Log pages details + +linknvme:nvme-verify[1]:: + verify command diff --git a/Documentation/meson.build b/Documentation/meson.build new file mode 100644 index 0000000..a12eec4 --- /dev/null +++ b/Documentation/meson.build @@ -0,0 +1,257 @@ +adoc_sources = [ + 'nvme', + 'nvme-admin-passthru', + 'nvme-ana-log', + 'nvme-attach-ns', + 'nvme-boot-part-log', + 'nvme-capacity-mgmt', + 'nvme-changed-ns-list-log', + 'nvme-cmdset-ind-id-ns', + 'nvme-compare', + 'nvme-connect', + 'nvme-connect-all', + 'nvme-copy', + 'nvme-create-ns', + 'nvme-delete-ns', + 'nvme-dera-stat', + 'nvme-detach-ns', + 'nvme-device-self-test', + 'nvme-dim', + 'nvme-dir-receive', + 'nvme-dir-send', + 'nvme-disconnect', + 'nvme-disconnect-all', + 'nvme-discover', + 'nvme-dsm', + 'nvme-effects-log', + 'nvme-endurance-event-agg-log', + 'nvme-endurance-log', + 'nvme-error-log', + 'nvme-fid-support-effects-log', + 'nvme-mi-cmd-support-effects-log', + 'nvme-flush', + 'nvme-format', + 'nvme-fw-commit', + 'nvme-fw-download', + 'nvme-fw-log', + 'nvme-gen-hostnqn', + 'nvme-get-feature', + 'nvme-get-lba-status', + 'nvme-get-log', + 'nvme-get-ns-id', + 'nvme-get-property', + 'nvme-help', + 'nvme-huawei-id-ctrl', + 'nvme-huawei-list', + 'nvme-id-ctrl', + 'nvme-id-domain', + 'nvme-id-iocs', + 'nvme-id-ns', + 'nvme-id-nvmset', + 'nvme-intel-id-ctrl', + 'nvme-intel-internal-log', + 'nvme-intel-lat-stats', + 'nvme-intel-market-name', + 'nvme-intel-smart-log-add', + 'nvme-intel-temp-stats', + 'nvme-io-passthru', + 'nvme-lba-status-log', + 'nvme-list', + 'nvme-list-ctrl', + 'nvme-list-endgrp', + 'nvme-list-ns', + 'nvme-list-subsys', + 'nvme-lockdown', + 'nvme-micron-clear-pcie-errors', + 'nvme-micron-internal-log', + 'nvme-micron-nand-stats', + 'nvme-micron-pcie-stats', + 'nvme-micron-selective-download', + 'nvme-micron-smart-add-log', + 'nvme-micron-temperature-stats', + 'nvme-netapp-ontapdevices', + 'nvme-netapp-smdevices', + 'nvme-ns-descs', + 'nvme-ns-rescan', + 'nvme-nvm-id-ctrl', + 'nvme-ocp-latency-monitor-log', + 'nvme-ocp-smart-add-log', + 'nvme-persistent-event-log', + 'nvme-pred-lat-event-agg-log', + 'nvme-predictable-lat-log', + 'nvme-primary-ctrl-caps', + 'nvme-read', + 'nvme-reset', + 'nvme-resv-acquire', + 'nvme-resv-notif-log', + 'nvme-resv-register', + 'nvme-resv-release', + 'nvme-resv-report', + 'nvme-rpmb', + 'nvme-sanitize', + 'nvme-sanitize-log', + 'nvme-security-recv', + 'nvme-security-send', + 'nvme-self-test-log', + 'nvme-set-feature', + 'nvme-set-property', + 'nvme-show-hostnqn', + 'nvme-show-regs', + 'nvme-smart-log', + 'nvme-subsystem-reset', + 'nvme-supported-log-pages', + 'nvme-telemetry-log', + 'nvme-toshiba-clear-pcie-correctable-errors', + 'nvme-toshiba-vs-internal-log', + 'nvme-toshiba-vs-smart-add-log', + 'nvme-transcend-badblock', + 'nvme-transcend-healthvalue', + 'nvme-verify', + 'nvme-virtium-save-smart-to-vtview-log', + 'nvme-virtium-show-identify', + 'nvme-wdc-cap-diag', + 'nvme-wdc-capabilities', + 'nvme-wdc-clear-assert-dump', + 'nvme-wdc-clear-fw-activate-history', + 'nvme-wdc-clear-pcie-correctable-errors', + 'nvme-wdc-cloud-SSD-plugin-version', + 'nvme-wdc-drive-essentials', + 'nvme-wdc-drive-log', + 'nvme-wdc-drive-resize', + 'nvme-wdc-enc-get-log', + 'nvme-wdc-get-crash-dump', + 'nvme-wdc-get-dev-capabilities-log', + 'nvme-wdc-get-drive-status', + 'nvme-wdc-get-error-recovery-log', + 'nvme-wdc-get-latency-monitor-log', + 'nvme-wdc-get-pfail-dump', + 'nvme-wdc-get-unsupported-reqs-log', + 'nvme-wdc-id-ctrl', + 'nvme-wdc-log-page-directory', + 'nvme-wdc-namespace-resize', + 'nvme-wdc-purge', + 'nvme-wdc-purge-monitor', + 'nvme-wdc-vs-drive-info', + 'nvme-wdc-vs-error-reason-identifier', + 'nvme-wdc-vs-fw-activate-history', + 'nvme-wdc-vs-internal-log', + 'nvme-wdc-vs-nand-stats', + 'nvme-wdc-vs-smart-add-log', + 'nvme-wdc-vs-telemetry-controller-option', + 'nvme-wdc-vs-temperature-stats', + 'nvme-write', + 'nvme-write-uncor', + 'nvme-write-zeroes', + 'nvme-zns-changed-zone-list', + 'nvme-zns-close-zone', + 'nvme-zns-finish-zone', + 'nvme-zns-id-ctrl', + 'nvme-zns-id-ns', + 'nvme-zns-offline-zone', + 'nvme-zns-open-zone', + 'nvme-zns-report-zones', + 'nvme-zns-reset-zone', + 'nvme-zns-set-zone-desc', + 'nvme-zns-zone-append', + 'nvme-zns-zone-mgmt-recv', + 'nvme-zns-zone-mgmt-send', +] + +adoc_includes = [ + 'cmd-plugins.txt', + 'cmds-main.txt', +] + +want_docs = get_option('docs') +want_docs_build = get_option('docs-build') +if want_docs != 'false' + mandir = join_paths(get_option('mandir'), 'man1') + htmldir = join_paths(get_option('htmldir'), 'nvme') + + asciidoctor = find_program('asciidoc', required : false) + if want_docs_build and asciidoctor.found() + # Build documentation before installing + + foreach file : adoc_includes + configure_file( + input: file, + output: file, + copy: true) + endforeach + + # man pages + if want_docs == 'all' or want_docs == 'man' + xmlto = find_program('xmlto', required: false) + if xmlto.found() + foreach adoc : adoc_sources + input = adoc + '.txt' + subst = configure_file( + input: adoc + '.txt', + output: adoc + '.msubst', + configuration: substs) + xml = custom_target( + adoc.underscorify() + '_xml', + input: subst, + output: '@BASENAME@.xml', + command: [asciidoctor, + '-f', files('asciidoc.conf'), + '-b', 'docbook', + '-d', 'manpage', + '-o', '@OUTPUT@', + '@INPUT@'], + ) + custom_target( + adoc.underscorify() + '_man', + input: xml, + output: '@BASENAME@.1', + command: [xmlto, + '-m', files('manpage-normal.xsl'), + '-o', '@OUTDIR@', + '--skip-validation', + 'man', + '@INPUT@'], + install: true, + install_dir: mandir) + endforeach + endif + endif + + # html + if want_docs == 'all' or want_docs == 'html' + foreach adoc : adoc_sources + input = adoc + '.txt' + subst = configure_file( + input: adoc + '.txt', + output: adoc + '.hsubst', + configuration: substs) + custom_target( + adoc.underscorify() + '_html', + input: subst, + output: '@BASENAME@.html', + command: [asciidoctor, + '-f', files('asciidoc.conf'), + '-b', 'xhtml11', + '-d', 'manpage', + '-o', '@OUTPUT@', + '@INPUT@'], + install: true, + install_dir: htmldir) + endforeach + endif + + else + # asciidoctor not found, install pre compiled documetationx + + foreach adoc : adoc_sources + if want_docs == 'all' or want_docs == 'man' + man = files(adoc + '.1') + install_data(man, install_dir: mandir) + endif + if want_docs == 'all' or want_docs == 'html' + html = files(adoc + '.html') + install_data(html, install_dir: htmldir) + endif + endforeach + + endif +endif diff --git a/Documentation/nvme-admin-passthru.1 b/Documentation/nvme-admin-passthru.1 index fecabb4..1beb822 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: 11/11/2021 +.\" Date: 04/08/2022 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" -.TH "NVME\-ADMIN\-PASSTHR" "1" "11/11/2021" "NVMe" "NVMe Manual" +.TH "NVME\-ADMIN\-PASSTHR" "1" "04/08/2022" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/Documentation/nvme-admin-passthru.html b/Documentation/nvme-admin-passthru.html index 064f852..b6b7675 100644 --- a/Documentation/nvme-admin-passthru.html +++ b/Documentation/nvme-admin-passthru.html @@ -4,7 +4,7 @@ - + nvme-admin-passthru(1) - - - - -
-
-

SYNOPSIS

-
-
-
nvme lnvm-create [--device-name=<DEVICE> | -d <DEVICE>]
-                        [--target-name=<TARGET> | -n <TARGET>]
-                        [--target-type=<TARGETTYPE> | -t <TARGETTYPE>]
-                        [--lun-begin <NUM> | -b <NUM>]
-                        [--lun-end <NUM> | -e <NUM>]
-
-
-
-
-
-

DESCRIPTION

-
-

Instantiate a target on top of a LightNVM enabled device. This exposes the -physical for the user to use.

-

The target name is the name of which the media is exposed as in -/dev/<targetname>

-

The target type is the target to be instantiated. Typically pblk or rrpc.

-

LUN begin and end defines the range of LUNs to use for a target instantiation.

-
-
-
-

OPTIONS

-
-
-
---device-name=<DEVICE> -
-
--d <DEVICE> -
-
-

- Device name to initialize. -

-
-
---target-name=<TARGET> -
-
--n <TARGET> -
-
-

- Target name of the device to initialize. For example: target0. -

-
-
---target-type=<TARGETTYPE> -
-
--t <TARGETTYPE> -
-
-

- Target type of the device to use. For example: pblk -

-
-
---lun-begin <NUM> -
-
--b <NUM> -
-
-

- Begin LUN id offset to use for target -

-
-
---lun-end <NUM> -
-
--e <NUM> -
-
-

- End LUN id offset to use for target -

-
-
-
-
-
-

EXAMPLES

-
-
    -
  • -

    -Initialize nvme0n1 with pblk target with 64 LUNs. -

    -
  • -
-
-
-
# nvme lnvm-create -d nvme0n1 -t pblk -n target0 -b 0 -e 63
-
-
-
-
-

NVME

-
-

Part of the nvme-user suite

-
-
-
-

- - - diff --git a/Documentation/nvme-lnvm-create.txt b/Documentation/nvme-lnvm-create.txt deleted file mode 100644 index 3c9109d..0000000 --- a/Documentation/nvme-lnvm-create.txt +++ /dev/null @@ -1,60 +0,0 @@ -nvme-lnvm-create(1) -=================== - -NAME ----- -nvme-lnvm-create - Instantiate a target on top of a LightNVM enabled device - -SYNOPSIS --------- -[verse] -'nvme lnvm-create' [--device-name= | -d ] - [--target-name= | -n ] - [--target-type= | -t ] - [--lun-begin | -b ] - [--lun-end | -e ] - -DESCRIPTION ------------ -Instantiate a target on top of a LightNVM enabled device. This exposes the -physical for the user to use. - -The target name is the name of which the media is exposed as in -/dev/ - -The target type is the target to be instantiated. Typically pblk or rrpc. - -LUN begin and end defines the range of LUNs to use for a target instantiation. - -OPTIONS -------- ---device-name=:: --d :: - Device name to initialize. - ---target-name=:: --n :: - Target name of the device to initialize. For example: target0. - ---target-type=:: --t :: - Target type of the device to use. For example: pblk - ---lun-begin :: --b :: - Begin LUN id offset to use for target - ---lun-end :: --e :: - End LUN id offset to use for target - -EXAMPLES --------- -* Initialize nvme0n1 with pblk target with 64 LUNs. ------------- -# nvme lnvm-create -d nvme0n1 -t pblk -n target0 -b 0 -e 63 ------------- - -NVME ----- -Part of the nvme-user suite diff --git a/Documentation/nvme-lnvm-diag-bbtbl.1 b/Documentation/nvme-lnvm-diag-bbtbl.1 deleted file mode 100644 index 4afe42f..0000000 --- a/Documentation/nvme-lnvm-diag-bbtbl.1 +++ /dev/null @@ -1,117 +0,0 @@ -'\" t -.\" Title: nvme-lnvm-diag-bbtbl -.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/11/2021 -.\" Manual: NVMe Manual -.\" Source: NVMe -.\" Language: English -.\" -.TH "NVME\-LNVM\-DIAG\-BB" "1" "11/11/2021" "NVMe" "NVMe Manual" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -nvme-lnvm-diag-bbtbl \- Diagnose the bad block table -.SH "SYNOPSIS" -.sp -.nf -\fInvme lnvm\-diag\-bbtbl\fR [\-\-namespace\-id= | \-n ] - [\-\-channel\-id= | \-c ] - [\-\-lun\-id= | \-l ] - [\-\-raw\-binary | \-b] -.fi -.SH "DESCRIPTION" -.sp -Retrieve the bad block table for a given channel and lun\&. -.sp -The statistics will be shown in the default case, and the actual output bad block information can be retrieved when \-\-raw\-binary is passed\&. -.sp -The raw binary output follows this format: -.sp -Channel 0, LUN0 (Dual plane flash) -.sp -Byte 0 \(-> Plane 0, Block 0 Byte 1 \(-> Plane 1, Block 0 Byte 2 \(-> Plane 0, Block 1 \&... -.SH "OPTIONS" -.PP -\-\-namespace\-id=, \-n -.RS 4 -Namespace id to use -.RE -.PP -\-\-channel\-id=, \-c -.RS 4 -Channel id -.RE -.PP -\-\-lun\-id=, \-l -.RS 4 -LUN id -.RE -.PP -\-\-raw\-binary, \-b -.RS 4 -Returns the bad block table in binary form without statistics\&. -.RE -.SH "EXAMPLES" -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Retrieve bad block table statistics for physical device nvme0, channel 0, and lun 0: -.RE -.sp -.if n \{\ -.RS 4 -.\} -.nf -# nvme lnvm\-diag\-bbtbl /dev/nvme0 \-c 0 \-n 0 -.fi -.if n \{\ -.RE -.\} -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Display the bad block table in raw form without statistics for same query: -.RE -.sp -.if n \{\ -.RS 4 -.\} -.nf -# nvme lnvm\-diag\-bbtbl /dev/nvme0 \-c 0 \-n 0 \-b | hexdump -.fi -.if n \{\ -.RE -.\} -.SH "NVME" -.sp -Part of the nvme\-user suite diff --git a/Documentation/nvme-lnvm-diag-bbtbl.txt b/Documentation/nvme-lnvm-diag-bbtbl.txt deleted file mode 100644 index 7324807..0000000 --- a/Documentation/nvme-lnvm-diag-bbtbl.txt +++ /dev/null @@ -1,65 +0,0 @@ -nvme-lnvm-diag-bbtbl(1) -======================= - -NAME ----- -nvme-lnvm-diag-bbtbl - Diagnose the bad block table - -SYNOPSIS --------- -[verse] -'nvme lnvm-diag-bbtbl' [--namespace-id= | -n ] - [--channel-id= | -c ] - [--lun-id= | -l ] - [--raw-binary | -b] - -DESCRIPTION ------------ -Retrieve the bad block table for a given channel and lun. - -The statistics will be shown in the default case, and the actual output bad -block information can be retrieved when --raw-binary is passed. - -The raw binary output follows this format: - -Channel 0, LUN0 (Dual plane flash) - -Byte 0 -> Plane 0, Block 0 -Byte 1 -> Plane 1, Block 0 -Byte 2 -> Plane 0, Block 1 -... - -OPTIONS -------- ---namespace-id=:: --n :: - Namespace id to use - ---channel-id=:: --c:: - Channel id - ---lun-id=:: --l:: - LUN id - ---raw-binary:: --b:: - Returns the bad block table in binary form without statistics. - -EXAMPLES --------- -* Retrieve bad block table statistics for physical device nvme0, channel 0, and -lun 0: ------------- -# nvme lnvm-diag-bbtbl /dev/nvme0 -c 0 -n 0 ------------- - -* Display the bad block table in raw form without statistics for same query: ------------- -# nvme lnvm-diag-bbtbl /dev/nvme0 -c 0 -n 0 -b | hexdump ------------- - -NVME ----- -Part of the nvme-user suite diff --git a/Documentation/nvme-lnvm-diag-set-bbtbl.1 b/Documentation/nvme-lnvm-diag-set-bbtbl.1 deleted file mode 100644 index d46ee65..0000000 --- a/Documentation/nvme-lnvm-diag-set-bbtbl.1 +++ /dev/null @@ -1,99 +0,0 @@ -'\" t -.\" Title: nvme-lnvm-diag-set-bbtbl -.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/11/2021 -.\" Manual: NVMe Manual -.\" Source: NVMe -.\" Language: English -.\" -.TH "NVME\-LNVM\-DIAG\-SE" "1" "11/11/2021" "NVMe" "NVMe Manual" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -nvme-lnvm-diag-set-bbtbl \- Set a block state in the bad block table -.SH "SYNOPSIS" -.sp -.nf -\fInvme lnvm\-diag\-set\-bbtbl\fR [\-\-namespace\-id= | \-n ] - [\-\-channel\-id= | \-c ] - [\-\-lun\-id= | \-l ] - [\-\-plane\-id= | \-p ] - [\-\-block\-id= | \-b ] - [\-\-value= | \-v ] -.fi -.SH "DESCRIPTION" -.sp -Set the bad block table for a given channel, lun, plane and block with value v\&. -.sp -For each block available, the status byte is read as follows: -.sp -0: Good block 1: Bad block 2: Grown bad block 4: Device reserved block 8: Host\-side reserved block 16: Media managed reserved block -.SH "OPTIONS" -.PP -\-\-namespace\-id=, \-n -.RS 4 -Namespace id to use -.RE -.PP -\-\-channel\-id, \-c -.RS 4 -Channel id -.RE -.PP -\-\-lun\-id, \-l -.RS 4 -LUN id -.RE -.PP -\-\-plane\-id, \-p -.RS 4 -Plane id -.RE -.PP -\-\-block\-id, \-b -.RS 4 -Block id -.RE -.SH "EXAMPLES" -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Set channel 0, lun 0, plane 0, block 10 to bad block value 2 (grown bad) on physical device /dev/nvme0 -.RE -.sp -.if n \{\ -.RS 4 -.\} -.nf -# nvme lnvm\-diag\-set\-bbtbl /dev/nvme0 \-c 0 \-l 0 \-p 0 \-b 10 \-v 2 -.fi -.if n \{\ -.RE -.\} -.SH "NVME" -.sp -Part of the nvme\-user suite diff --git a/Documentation/nvme-lnvm-diag-set-bbtbl.html b/Documentation/nvme-lnvm-diag-set-bbtbl.html deleted file mode 100644 index b8e5943..0000000 --- a/Documentation/nvme-lnvm-diag-set-bbtbl.html +++ /dev/null @@ -1,869 +0,0 @@ - - - - - - -nvme-lnvm-diag-set-bbtbl(1) - - - - - -
-
-

SYNOPSIS

-
-
-
nvme lnvm-diag-set-bbtbl [--namespace-id=<NUM> | -n <NUM>]
-                        [--channel-id=<CHID> | -c <CHID>]
-                        [--lun-id=<LUNID> | -l <LUNID>]
-                        [--plane-id=<PLANEID> | -p <PLANEID>]
-                        [--block-id=<BLKID> | -b <BLKID>]
-                        [--value=<NUM> | -v <NUM>]
-
-
-
-
-
-

DESCRIPTION

-
-

Set the bad block table for a given channel, lun, plane and block with value v.

-

For each block available, the status byte is read as follows:

-

0: Good block -1: Bad block -2: Grown bad block -4: Device reserved block -8: Host-side reserved block -16: Media managed reserved block

-
-
-
-

OPTIONS

-
-
-
---namespace-id=<NUM> -
-
--n <NUM> -
-
-

- Namespace id to use -

-
-
---channel-id -
-
--c -
-
-

- Channel id -

-
-
---lun-id -
-
--l -
-
-

- LUN id -

-
-
---plane-id -
-
--p -
-
-

- Plane id -

-
-
---block-id -
-
--b -
-
-

- Block id -

-
-
-
-
-
-

EXAMPLES

-
-
    -
  • -

    -Set channel 0, lun 0, plane 0, block 10 to bad block value 2 (grown bad) - on physical device /dev/nvme0 -

    -
  • -
-
-
-
# nvme lnvm-diag-set-bbtbl /dev/nvme0 -c 0 -l 0 -p 0 -b 10 -v 2
-
-
-
-
-

NVME

-
-

Part of the nvme-user suite

-
-
-
-

- - - diff --git a/Documentation/nvme-lnvm-diag-set-bbtbl.txt b/Documentation/nvme-lnvm-diag-set-bbtbl.txt deleted file mode 100644 index f5dd004..0000000 --- a/Documentation/nvme-lnvm-diag-set-bbtbl.txt +++ /dev/null @@ -1,63 +0,0 @@ -nvme-lnvm-diag-set-bbtbl(1) -=========================== - -NAME ----- -nvme-lnvm-diag-set-bbtbl - Set a block state in the bad block table - -SYNOPSIS --------- -[verse] -'nvme lnvm-diag-set-bbtbl' [--namespace-id= | -n ] - [--channel-id= | -c ] - [--lun-id= | -l ] - [--plane-id= | -p ] - [--block-id= | -b ] - [--value= | -v ] - -DESCRIPTION ------------ -Set the bad block table for a given channel, lun, plane and block with value v. - -For each block available, the status byte is read as follows: - -0: Good block -1: Bad block -2: Grown bad block -4: Device reserved block -8: Host-side reserved block -16: Media managed reserved block - -OPTIONS -------- ---namespace-id=:: --n :: - Namespace id to use - ---channel-id:: --c:: - Channel id - ---lun-id:: --l:: - LUN id - ---plane-id:: --p:: - Plane id - ---block-id:: --b:: - Block id - -EXAMPLES --------- -* Set channel 0, lun 0, plane 0, block 10 to bad block value 2 (grown bad) - on physical device /dev/nvme0 ------------- -# nvme lnvm-diag-set-bbtbl /dev/nvme0 -c 0 -l 0 -p 0 -b 10 -v 2 ------------- - -NVME ----- -Part of the nvme-user suite diff --git a/Documentation/nvme-lnvm-factory.1 b/Documentation/nvme-lnvm-factory.1 deleted file mode 100644 index c95396c..0000000 --- a/Documentation/nvme-lnvm-factory.1 +++ /dev/null @@ -1,109 +0,0 @@ -'\" t -.\" Title: nvme-lnvm-factory -.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/11/2021 -.\" Manual: NVMe Manual -.\" Source: NVMe -.\" Language: English -.\" -.TH "NVME\-LNVM\-FACTORY" "1" "11/11/2021" "NVMe" "NVMe Manual" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -nvme-lnvm-factory \- Factory reset a LightNVM device -.SH "SYNOPSIS" -.sp -.nf -\fInvme lnvm\-factory\fR [\-\-device\-name= | \-d ] - [\-\-erase\-only\-marked | \-e] - [\-\-clear\-host\-side\-blks | \-s] - [\-\-clear\-bb\-blks | \-b] -.fi -.SH "DESCRIPTION" -.sp -Instantiate a target on top of a LightNVM enabled device\&. This exposes the physical for the user to use\&. -.SH "OPTIONS" -.PP -\-\-device\-name=, \-d -.RS 4 -Device name to factory initialize -.RE -.PP -\-\-erase\-only\-marked, \-e -.RS 4 -Erases only blocks that are marked in the bad block list -.RE -.PP -\-\-clear\-host\-side\-blks, \-s -.RS 4 -Remove host\-side bad block marks\&. This clear the media manager registration -.RE -.PP -\-\-clear\-bb\-blks, \-b -.RS 4 -Removes the grown bad block marks\&. Allowing them to be rediscovered\&. -.RE -.SH "EXAMPLES" -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Factory reset of device nvme0n1 -.RE -.sp -.if n \{\ -.RS 4 -.\} -.nf -# nvme lnvm\-factory \-d nvme0n1 -.fi -.if n \{\ -.RE -.\} -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Complete factory reset of device nvme0n1 -.RE -.sp -.if n \{\ -.RS 4 -.\} -.nf -# nvme lnvm\-factory \-d nvme0n1 \-s \-b -.fi -.if n \{\ -.RE -.\} -.SH "NVME" -.sp -Part of the nvme\-user suite diff --git a/Documentation/nvme-lnvm-factory.html b/Documentation/nvme-lnvm-factory.html deleted file mode 100644 index 44a3b1c..0000000 --- a/Documentation/nvme-lnvm-factory.html +++ /dev/null @@ -1,861 +0,0 @@ - - - - - - -nvme-lnvm-factory(1) - - - - - -
-
-

SYNOPSIS

-
-
-
nvme lnvm-factory [--device-name=<DEVICE> | -d <DEVICE>]
-                        [--erase-only-marked | -e]
-                        [--clear-host-side-blks | -s]
-                        [--clear-bb-blks | -b]
-
-
-
-
-
-

DESCRIPTION

-
-

Instantiate a target on top of a LightNVM enabled device. This exposes the -physical for the user to use.

-
-
-
-

OPTIONS

-
-
-
---device-name=<DEVICE> -
-
--d <DEVICE> -
-
-

- Device name to factory initialize -

-
-
---erase-only-marked -
-
--e -
-
-

- Erases only blocks that are marked in the bad block list -

-
-
---clear-host-side-blks -
-
--s -
-
-

- Remove host-side bad block marks. This clear the media manager - registration -

-
-
---clear-bb-blks -
-
--b -
-
-

- Removes the grown bad block marks. Allowing them to be rediscovered. -

-
-
-
-
-
-

EXAMPLES

-
-
    -
  • -

    -Factory reset of device nvme0n1 -

    -
  • -
-
-
-
# nvme lnvm-factory -d nvme0n1
-
-
    -
  • -

    -Complete factory reset of device nvme0n1 -

    -
  • -
-
-
-
# nvme lnvm-factory -d nvme0n1 -s -b
-
-
-
-
-

NVME

-
-

Part of the nvme-user suite

-
-
-
-

- - - diff --git a/Documentation/nvme-lnvm-factory.txt b/Documentation/nvme-lnvm-factory.txt deleted file mode 100644 index baa7a69..0000000 --- a/Documentation/nvme-lnvm-factory.txt +++ /dev/null @@ -1,54 +0,0 @@ -nvme-lnvm-factory(1) -==================== - -NAME ----- -nvme-lnvm-factory - Factory reset a LightNVM device - -SYNOPSIS --------- -[verse] -'nvme lnvm-factory' [--device-name= | -d ] - [--erase-only-marked | -e] - [--clear-host-side-blks | -s] - [--clear-bb-blks | -b] - -DESCRIPTION ------------ -Instantiate a target on top of a LightNVM enabled device. This exposes the -physical for the user to use. - -OPTIONS -------- ---device-name=:: --d :: - Device name to factory initialize - ---erase-only-marked:: --e:: - Erases only blocks that are marked in the bad block list - ---clear-host-side-blks:: --s:: - Remove host-side bad block marks. This clear the media manager - registration - ---clear-bb-blks:: --b:: - Removes the grown bad block marks. Allowing them to be rediscovered. - -EXAMPLES --------- -* Factory reset of device nvme0n1 ------------- -# nvme lnvm-factory -d nvme0n1 ------------- - -* Complete factory reset of device nvme0n1 ------------- -# nvme lnvm-factory -d nvme0n1 -s -b ------------- - -NVME ----- -Part of the nvme-user suite diff --git a/Documentation/nvme-lnvm-id-ns.1 b/Documentation/nvme-lnvm-id-ns.1 deleted file mode 100644 index 32e7029..0000000 --- a/Documentation/nvme-lnvm-id-ns.1 +++ /dev/null @@ -1,88 +0,0 @@ -'\" t -.\" Title: nvme-lnvm-id-ns -.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/11/2021 -.\" Manual: NVMe Manual -.\" Source: NVMe -.\" Language: English -.\" -.TH "NVME\-LNVM\-ID\-NS" "1" "11/11/2021" "NVMe" "NVMe Manual" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -nvme-lnvm-id-ns \- Identify Geometry for LightNVM NVMe device -.SH "SYNOPSIS" -.sp -.nf -\fInvme lnvm\-id\-ns\fR [\-\-namespace\-id= | \-n ] - [\-\-force | \-f] - [\-\-raw\-binary | \-b] - [\-\-human\-readable | \-H] -.fi -.SH "DESCRIPTION" -.sp -Send an Identify Geometry command to the given LightNVM device, returns properties of the specified namespace in either human\-readable or binary format\&. -.SH "OPTIONS" -.PP -\-\-namespace\-id=, \-n -.RS 4 -Retrieve the geometry from the selected namespace\&. -.RE -.PP -\-\-force, \-f -.RS 4 -Try to read the data and assume it is a LightNVM device -.RE -.PP -\-\-raw\-binary, \-b -.RS 4 -Output the raw output -.RE -.PP -\-\-human\-readable, \-H -.RS 4 -Output the status in human readable format -.RE -.SH "EXAMPLES" -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Retrieve the geometry from nvme0 -.RE -.sp -.if n \{\ -.RS 4 -.\} -.nf -# nvme lnvm\-id\-ns /dev/nvme0 \-n 1 -.fi -.if n \{\ -.RE -.\} -.SH "NVME" -.sp -Part of the nvme\-user suite diff --git a/Documentation/nvme-lnvm-id-ns.txt b/Documentation/nvme-lnvm-id-ns.txt deleted file mode 100644 index 1a3565f..0000000 --- a/Documentation/nvme-lnvm-id-ns.txt +++ /dev/null @@ -1,49 +0,0 @@ -nvme-lnvm-id-ns(1) -================== - -NAME ----- -nvme-lnvm-id-ns - Identify Geometry for LightNVM NVMe device - -SYNOPSIS --------- -[verse] -'nvme lnvm-id-ns' [--namespace-id= | -n ] - [--force | -f] - [--raw-binary | -b] - [--human-readable | -H] - -DESCRIPTION ------------ -Send an Identify Geometry command to the given LightNVM device, returns -properties of the specified namespace in either human-readable or binary -format. - -OPTIONS -------- ---namespace-id=:: --n :: - Retrieve the geometry from the selected namespace. - ---force:: --f:: - Try to read the data and assume it is a LightNVM device - ---raw-binary:: --b:: - Output the raw output - ---human-readable:: --H:: - Output the status in human readable format - -EXAMPLES --------- -* Retrieve the geometry from nvme0 ------------- -# nvme lnvm-id-ns /dev/nvme0 -n 1 ------------- - -NVME ----- -Part of the nvme-user suite diff --git a/Documentation/nvme-lnvm-info.1 b/Documentation/nvme-lnvm-info.1 deleted file mode 100644 index 80a0288..0000000 --- a/Documentation/nvme-lnvm-info.1 +++ /dev/null @@ -1,48 +0,0 @@ -'\" t -.\" Title: nvme-lnvm-info -.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/11/2021 -.\" Manual: NVMe Manual -.\" Source: NVMe -.\" Language: English -.\" -.TH "NVME\-LNVM\-INFO" "1" "11/11/2021" "NVMe" "NVMe Manual" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -nvme-lnvm-info \- Show general information and registered target types with LightNVM -.SH "SYNOPSIS" -.sp -.nf -\fInvme lnvm\-info\fR -.fi -.SH "DESCRIPTION" -.sp -Show general information and registered target types with LightNVM\&. -.SH "OPTIONS" -.sp -No options yet\&. -.SH "EXAMPLES" -.sp -No examples yet\&. -.SH "NVME" -.sp -Part of the nvme\-user suite diff --git a/Documentation/nvme-lnvm-info.txt b/Documentation/nvme-lnvm-info.txt deleted file mode 100644 index e755c9c..0000000 --- a/Documentation/nvme-lnvm-info.txt +++ /dev/null @@ -1,27 +0,0 @@ -nvme-lnvm-info(1) -================= - -NAME ----- -nvme-lnvm-info - Show general information and registered target types with LightNVM - -SYNOPSIS --------- -[verse] -'nvme lnvm-info' - -DESCRIPTION ------------ -Show general information and registered target types with LightNVM. - -OPTIONS -------- -No options yet. - -EXAMPLES --------- -No examples yet. - -NVME ----- -Part of the nvme-user suite diff --git a/Documentation/nvme-lnvm-init.1 b/Documentation/nvme-lnvm-init.1 deleted file mode 100644 index a6eff88..0000000 --- a/Documentation/nvme-lnvm-init.1 +++ /dev/null @@ -1,97 +0,0 @@ -'\" t -.\" Title: nvme-lnvm-init -.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/11/2021 -.\" Manual: NVMe Manual -.\" Source: NVMe -.\" Language: English -.\" -.TH "NVME\-LNVM\-INIT" "1" "11/11/2021" "NVMe" "NVMe Manual" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -nvme-lnvm-init \- Initialize LightNVM device with media manager -.SH "SYNOPSIS" -.sp -.nf -\fInvme lnvm\-init\fR [\-\-device\-name= | \-d ] - [\-\-mediamgr\-name | \-m] -.fi -.SH "DESCRIPTION" -.sp -Initialize LightNVM device\&. A LightNVM/Open\-Channel SSD must have a media manager associated before it can be exposed to the user\&. The default is to initialize the general media manager on top of the device\&. -.SH "OPTIONS" -.PP -\-\-device\-name=, \-d -.RS 4 -Device name to initialize\&. -.RE -.PP -\-\-mediamgr\-name=, \-m -.RS 4 -Media Manager name to use for initialization\&. -.RE -.SH "EXAMPLES" -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Initialize nvme0n1 -.RE -.sp -.if n \{\ -.RS 4 -.\} -.nf -# nvme lnvm\-init \-d nvme0n1 -.fi -.if n \{\ -.RE -.\} -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Initialize nvme0n1 with gennvm media manager (default media manager) -.RE -.sp -.if n \{\ -.RS 4 -.\} -.nf -# nvme lnvm\-init \-d nvme0n1 \-m gennvm -.fi -.if n \{\ -.RE -.\} -.SH "NVME" -.sp -Part of the nvme\-user suite diff --git a/Documentation/nvme-lnvm-init.html b/Documentation/nvme-lnvm-init.html deleted file mode 100644 index d1bee83..0000000 --- a/Documentation/nvme-lnvm-init.html +++ /dev/null @@ -1,837 +0,0 @@ - - - - - - -nvme-lnvm-init(1) - - - - - -
-
-

SYNOPSIS

-
-
-
nvme lnvm-init [--device-name=<DEVICE> | -d <DEVICE>]
-                        [--mediamgr-name | -m]
-
-
-
-
-
-

DESCRIPTION

-
-

Initialize LightNVM device. A LightNVM/Open-Channel SSD must have a media -manager associated before it can be exposed to the user. The default is to -initialize the general media manager on top of the device.

-
-
-
-

OPTIONS

-
-
-
---device-name=<DEVICE> -
-
--d <DEVICE> -
-
-

- Device name to initialize. -

-
-
---mediamgr-name=<MediaMgr> -
-
--m <MediaMgr> -
-
-

- Media Manager name to use for initialization. -

-
-
-
-
-
-

EXAMPLES

-
-
    -
  • -

    -Initialize nvme0n1 -

    -
  • -
-
-
-
# nvme lnvm-init -d nvme0n1
-
-
    -
  • -

    -Initialize nvme0n1 with gennvm media manager (default media manager) -

    -
  • -
-
-
-
# nvme lnvm-init -d nvme0n1 -m gennvm
-
-
-
-
-

NVME

-
-

Part of the nvme-user suite

-
-
-
-

- - - diff --git a/Documentation/nvme-lnvm-init.txt b/Documentation/nvme-lnvm-init.txt deleted file mode 100644 index 0d922a9..0000000 --- a/Documentation/nvme-lnvm-init.txt +++ /dev/null @@ -1,44 +0,0 @@ -nvme-lnvm-init(1) -================= - -NAME ----- -nvme-lnvm-init - Initialize LightNVM device with media manager - -SYNOPSIS --------- -[verse] -'nvme lnvm-init' [--device-name= | -d ] - [--mediamgr-name | -m] - -DESCRIPTION ------------ -Initialize LightNVM device. A LightNVM/Open-Channel SSD must have a media -manager associated before it can be exposed to the user. The default is to -initialize the general media manager on top of the device. - -OPTIONS -------- ---device-name=:: --d :: - Device name to initialize. - ---mediamgr-name=:: --m :: - Media Manager name to use for initialization. - -EXAMPLES --------- -* Initialize nvme0n1 ------------- -# nvme lnvm-init -d nvme0n1 ------------- - -* Initialize nvme0n1 with gennvm media manager (default media manager) ------------- -# nvme lnvm-init -d nvme0n1 -m gennvm ------------- - -NVME ----- -Part of the nvme-user suite diff --git a/Documentation/nvme-lnvm-list.txt b/Documentation/nvme-lnvm-list.txt deleted file mode 100644 index 959f6b9..0000000 --- a/Documentation/nvme-lnvm-list.txt +++ /dev/null @@ -1,27 +0,0 @@ -nvme-lnvm-list(1) -================= - -NAME ----- -nvme-lnvm-list - List all recognized LightNVM NVMe devices - -SYNOPSIS --------- -[verse] -'nvme lnvm-list' - -DESCRIPTION ------------ -List all registered LightNVM devices. - -OPTIONS -------- -No options yet. - -EXAMPLES --------- -No examples yet. - -NVME ----- -Part of the nvme-user suite diff --git a/Documentation/nvme-lnvm-remove.1 b/Documentation/nvme-lnvm-remove.1 deleted file mode 100644 index 8b6bb76..0000000 --- a/Documentation/nvme-lnvm-remove.1 +++ /dev/null @@ -1,53 +0,0 @@ -'\" t -.\" Title: nvme-lnvm-remove -.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] -.\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/11/2021 -.\" Manual: NVMe Manual -.\" Source: NVMe -.\" Language: English -.\" -.TH "NVME\-LNVM\-REMOVE" "1" "11/11/2021" "NVMe" "NVMe Manual" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -nvme-lnvm-remove \- Remove an initialized LightNVM target\&. -.SH "SYNOPSIS" -.sp -.nf -\fInvme lnvm\-remove\fR [\-\-target\-name= | \-n ] -.fi -.SH "DESCRIPTION" -.sp -Remove an initialized target\&. -.sp -The target name is the name of which the media is exposed as in /dev/ -.SH "OPTIONS" -.PP -\-\-target\-name=, \-n -.RS 4 -Target name of the device to initialize\&. For example: target0\&. -.RE -.SH "EXAMPLES" -.sp -None yet -.SH "NVME" -.sp -Part of the nvme\-user suite diff --git a/Documentation/nvme-lnvm-remove.txt b/Documentation/nvme-lnvm-remove.txt deleted file mode 100644 index f5cdd6e..0000000 --- a/Documentation/nvme-lnvm-remove.txt +++ /dev/null @@ -1,32 +0,0 @@ -nvme-lnvm-remove(1) -=================== - -NAME ----- -nvme-lnvm-remove - Remove an initialized LightNVM target. - -SYNOPSIS --------- -[verse] -'nvme lnvm-remove' [--target-name= | -n ] - -DESCRIPTION ------------ -Remove an initialized target. - -The target name is the name of which the media is exposed as in -/dev/ - -OPTIONS -------- ---target-name=:: --n :: - Target name of the device to initialize. For example: target0. - -EXAMPLES --------- -None yet - -NVME ----- -Part of the nvme-user suite diff --git a/Documentation/nvme-lockdown.1 b/Documentation/nvme-lockdown.1 index dcf7c22..79754d0 100644 --- a/Documentation/nvme-lockdown.1 +++ b/Documentation/nvme-lockdown.1 @@ -2,12 +2,12 @@ .\" Title: nvme-lockdown .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/11/2021 +.\" Date: 04/08/2022 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" -.TH "NVME\-LOCKDOWN" "1" "11/11/2021" "NVMe" "NVMe Manual" +.TH "NVME\-LOCKDOWN" "1" "04/08/2022" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/Documentation/nvme-lockdown.html b/Documentation/nvme-lockdown.html index cb2e86c..7fd48c1 100644 --- a/Documentation/nvme-lockdown.html +++ b/Documentation/nvme-lockdown.html @@ -4,7 +4,7 @@ - + nvme-lockdown(1) - - - - -
-
-

SYNOPSIS

-
-
-
nvme lnvm-remove [--target-name=<TARGET> | -n <TARGET>]
-
-
-
-
-
-

DESCRIPTION

-
-

Remove an initialized target.

-

The target name is the name of which the media is exposed as in -/dev/<TARGET>

-
-
-
-

OPTIONS

-
-
-
---target-name=<TARGET> -
-
--n <TARGET> -
-
-

- Target name of the device to initialize. For example: target0. -

-
-
-
-
-
-

EXAMPLES

-
-

None yet

-
-
-
-

NVME

-
-

Part of the nvme-user suite

-
-
-
-

- - - + + + + + + +nvme-media-unit-stat-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme supported-log-pages <device> [--output-format=<fmt> | -o <fmt>]
+                            [-b | --raw-binary]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe supportd log pages details from an NVMe device and provides +the returned structure.

+

The <device> parameter is mandatory and should be the NVMe character +device (ex: /dev/nvme0).

+

On success, the returned supportd log pages log structure will be printed +for each command that is supported.

+
+
+
+

OPTIONS

+
+
+
+-o <format> +
+
+--output-format=<format> +
+
+

+ This option will set the reporting format to normal, json, or binary. + Only one output format can be used at a time. +

+
+
+ -b +
+
+ --raw-binary +
+
+

+ This option will get the data in raw binary format. +

+
+
+ -d +
+
+ --dom-id +
+
+

+ This option is to get the domain ID. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples provided yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + \ No newline at end of file diff --git a/Documentation/nvme-media-unit-stat-log.txt b/Documentation/nvme-media-unit-stat-log.txt new file mode 100644 index 0000000..427b77c --- /dev/null +++ b/Documentation/nvme-media-unit-stat-log.txt @@ -0,0 +1,47 @@ +nvme-media-unit-stat-log(1) +=========================== + +NAME +---- +nvme-media-unit-stat-log - Send NVMe Media unit status Log pages +request, returns result and log. + +SYNOPSIS +-------- +[verse] +'nvme media-unit-stat-log' [--dom-id | -d ] + [--output-format= | -o ] + [--raw-binary | -b] + +DESCRIPTION +----------- +Retrieves the NVMe Media unit status log pages details from +an NVMe device and provides the returned structure. + +The parameter is mandatory and should be the NVMe character +device (ex: /dev/nvme0). + +On success, the returned Media unit status log pages log structure will be printed. + +OPTIONS +------- + +-o :: +--output-format=:: + This option will set the reporting format to normal, json, or binary. + Only one output format can be used at a time. + +-d:: +--dom-id:: + To get the domain ID. +-b:: +--raw-binary:: + To show raw binary data. + +EXAMPLES +-------- +No examples provided yet. + +NVME +---- +Part of the nvme-user suite \ No newline at end of file diff --git a/Documentation/nvme-fid-support-effects-log.1 b/Documentation/nvme-mi-cmd-support-effects-log.1 similarity index 76% copy from Documentation/nvme-fid-support-effects-log.1 copy to Documentation/nvme-mi-cmd-support-effects-log.1 index b6b6fa6..c15184d 100644 --- a/Documentation/nvme-fid-support-effects-log.1 +++ b/Documentation/nvme-mi-cmd-support-effects-log.1 @@ -1,13 +1,13 @@ '\" t -.\" Title: nvme-fid-support-effects-log +.\" Title: nvme-mi-cmd-support-effects-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/11/2021 +.\" Date: 04/08/2022 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" -.TH "NVME\-FID\-SUPPORT\-" "1" "11/11/2021" "NVMe" "NVMe Manual" +.TH "NVME\-MI\-CMD\-SUPPO" "1" "04/08/2022" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,15 +28,16 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -nvme-fid-support-effects-log \- Send NVMe FID Support and Effects log, return result and structure +nvme-mi-cmd-support-effects-log \- Send NVMe MI Command Support and Effects log, returns results and structure .SH "SYNOPSIS" .sp .nf -\fInvme fid\-support\-effects\-log\fR [\-o | \-\-output\-format=] +\fInvme\-mi\-cmd\-support\-effects\-log\fR [\-o | \-\-output\-format=] + [\-H | \-\-human\-readable] .fi .SH "DESCRIPTION" .sp -For the NVMe device given, sends an FID Support and Effects log and provides the result and returned logstructure\&. +For the NVMe device given, sends an MI Command Support and Effects log (id 13h) and provides the result and returned log structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp @@ -57,7 +58,7 @@ This option will parse and format many of the bit fields into human\-readable fo .RE .SH "EXAMPLES" .sp -No examples yet\&. +nvme mi\-cmd\-support\-effects\-log /dev/nvme0 \-H .SH "NVME" .sp Part of the nvme\-user suite diff --git a/Documentation/nvme-fid-support-effects-log.html b/Documentation/nvme-mi-cmd-support-effects-log.html similarity index 91% copy from Documentation/nvme-fid-support-effects-log.html copy to Documentation/nvme-mi-cmd-support-effects-log.html index b617100..1afb0c0 100644 --- a/Documentation/nvme-fid-support-effects-log.html +++ b/Documentation/nvme-mi-cmd-support-effects-log.html @@ -4,8 +4,8 @@ - -nvme-fid-support-effects-log(1) + +nvme-mi-cmd-support-effects-log(1) - - - - -
-
-

SYNOPSIS

-
-
-
nvme lnvm-list
-
-
-
-
-
-

DESCRIPTION

-
-

List all registered LightNVM devices.

-
-
-
-

OPTIONS

-
-

No options yet.

-
-
-
-

EXAMPLES

-
-

No examples yet.

-
-
-
-

NVME

-
-

Part of the nvme-user suite

-
-
-
-

- - - + + + + + + +nvme-wdc-clear-pcie-corr(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc clear-pcie-corr <device>
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the wdc vendor unique clear pcie +correctable errors command.

+

The <device> parameter is mandatory and may be either the NVMe +character device (ex: /dev/nvme0), or a namespace block device (ex: +/dev/nvme0n1).

+

This will only work on WDC devices supporting this feature. +Results for any other device are undefined.

+
+
+
+

OPTIONS

+
+

None

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Clears the PCIe Correctable Error Count field returned in the smart-log-add command: +

    +
    +
    +
    # nvme wdc clear-pcie-corr /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-clear-pcie-correctable-errors.1 b/Documentation/nvme-wdc-clear-pcie-correctable-errors.1 index 7d3e090..50225e9 100644 --- a/Documentation/nvme-wdc-clear-pcie-correctable-errors.1 +++ b/Documentation/nvme-wdc-clear-pcie-correctable-errors.1 @@ -2,12 +2,12 @@ .\" Title: nvme-wdc-clear-pcie-correctable-errors .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/11/2021 +.\" Date: 04/08/2022 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" -.TH "NVME\-WDC\-CLEAR\-PC" "1" "11/11/2021" "NVMe" "NVMe Manual" +.TH "NVME\-WDC\-CLEAR\-PC" "1" "04/08/2022" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/Documentation/nvme-wdc-clear-pcie-correctable-errors.html b/Documentation/nvme-wdc-clear-pcie-correctable-errors.html index 2b4b49c..4aa66ab 100644 --- a/Documentation/nvme-wdc-clear-pcie-correctable-errors.html +++ b/Documentation/nvme-wdc-clear-pcie-correctable-errors.html @@ -4,7 +4,7 @@ - + nvme-wdc-clear-pcie-correctable-errors(1)