From f26f66d866ba1a9f3204e6fdfe2b07e67b5492ad Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 21:41:32 +0200 Subject: Adding upstream version 2.8. Signed-off-by: Daniel Baumann --- .github/AppImageBuilder.yml | 57 + .github/azure-pipelines.yml | 38 + .github/codeql/codeql-config.yml | 3 + .github/cross/ubuntu-cross-armhf.txt | 18 + .github/cross/ubuntu-cross-ppc64le.txt | 18 + .github/cross/ubuntu-cross-s390x.txt | 18 + .github/dependabot.yml | 7 + .github/workflows/appimage.yml | 56 + .github/workflows/build.yml | 101 + .github/workflows/checkpatch.yml | 15 + .github/workflows/codeql.yml | 71 + .github/workflows/coverage.yml | 22 + .github/workflows/release.yml | 20 + .gitignore | 20 + .gitmodules | 0 .mailmap | 1 + CONTRIBUTING.md | 24 + Documentation/asciidoc.conf | 91 + Documentation/asciidoctor-extensions.rb | 29 + Documentation/cmd-plugins.txt | 203 + Documentation/cmds-main.txt | 275 + Documentation/install-webdoc.sh | 39 + Documentation/manpage-base.xsl | 35 + Documentation/manpage-normal.xsl | 13 + Documentation/meson.build | 293 + Documentation/nvme-admin-passthru.1 | 194 + Documentation/nvme-admin-passthru.html | 1034 ++ Documentation/nvme-admin-passthru.txt | 146 + Documentation/nvme-ana-log.1 | 89 + Documentation/nvme-ana-log.html | 842 ++ Documentation/nvme-ana-log.txt | 50 + Documentation/nvme-attach-ns.1 | 90 + Documentation/nvme-attach-ns.html | 848 ++ Documentation/nvme-attach-ns.txt | 49 + Documentation/nvme-boot-part-log.1 | 95 + Documentation/nvme-boot-part-log.html | 853 ++ Documentation/nvme-boot-part-log.txt | 55 + Documentation/nvme-capacity-mgmt.1 | 86 + Documentation/nvme-capacity-mgmt.html | 870 ++ Documentation/nvme-capacity-mgmt.txt | 64 + Documentation/nvme-changed-ns-list-log.1 | 112 + Documentation/nvme-changed-ns-list-log.html | 853 ++ Documentation/nvme-changed-ns-list-log.txt | 62 + Documentation/nvme-check-dhchap-key.1 | 51 + Documentation/nvme-check-dhchap-key.html | 800 ++ Documentation/nvme-check-dhchap-key.txt | 41 + Documentation/nvme-check-tls-key.txt | 79 + Documentation/nvme-cmdset-ind-id-ns.1 | 147 + Documentation/nvme-cmdset-ind-id-ns.html | 896 ++ Documentation/nvme-cmdset-ind-id-ns.txt | 88 + Documentation/nvme-compare.1 | 229 + Documentation/nvme-compare.html | 1123 ++ Documentation/nvme-compare.txt | 172 + Documentation/nvme-config.txt | 213 + Documentation/nvme-connect-all.1 | 385 + Documentation/nvme-connect-all.html | 1283 ++ Documentation/nvme-connect-all.txt | 267 + Documentation/nvme-connect.1 | 304 + Documentation/nvme-connect.html | 1226 ++ Documentation/nvme-connect.txt | 221 + Documentation/nvme-copy.1 | 168 + Documentation/nvme-copy.html | 1037 ++ Documentation/nvme-copy.txt | 131 + Documentation/nvme-create-ns.1 | 197 + Documentation/nvme-create-ns.html | 1078 ++ Documentation/nvme-create-ns.txt | 160 + Documentation/nvme-delete-ns.1 | 68 + Documentation/nvme-delete-ns.html | 830 ++ Documentation/nvme-delete-ns.txt | 44 + Documentation/nvme-dera-stat.1 | 71 + Documentation/nvme-dera-stat.html | 804 ++ Documentation/nvme-dera-stat.txt | 37 + Documentation/nvme-detach-ns.1 | 72 + Documentation/nvme-detach-ns.html | 841 ++ Documentation/nvme-detach-ns.txt | 47 + Documentation/nvme-device-self-test.1 | 121 + Documentation/nvme-device-self-test.html | 879 ++ Documentation/nvme-device-self-test.txt | 72 + Documentation/nvme-dim.1 | 126 + Documentation/nvme-dim.html | 892 ++ Documentation/nvme-dim.txt | 84 + Documentation/nvme-dir-receive.1 | 235 + Documentation/nvme-dir-receive.html | 996 ++ Documentation/nvme-dir-receive.txt | 126 + Documentation/nvme-dir-send.1 | 241 + Documentation/nvme-dir-send.html | 1009 ++ Documentation/nvme-dir-send.txt | 132 + Documentation/nvme-disconnect-all.1 | 84 + Documentation/nvme-disconnect-all.html | 832 ++ Documentation/nvme-disconnect-all.txt | 45 + Documentation/nvme-disconnect.1 | 115 + Documentation/nvme-disconnect.html | 869 ++ Documentation/nvme-disconnect.txt | 64 + Documentation/nvme-discover.1 | 414 + Documentation/nvme-discover.html | 1332 ++ Documentation/nvme-discover.txt | 301 + Documentation/nvme-dsm.1 | 113 + Documentation/nvme-dsm.html | 925 ++ Documentation/nvme-dsm.txt | 92 + Documentation/nvme-effects-log.1 | 116 + Documentation/nvme-effects-log.html | 864 ++ Documentation/nvme-effects-log.txt | 66 + Documentation/nvme-endurance-event-agg-log.1 | 118 + Documentation/nvme-endurance-event-agg-log.html | 869 ++ Documentation/nvme-endurance-event-agg-log.txt | 70 + Documentation/nvme-endurance-log.1 | 112 + Documentation/nvme-endurance-log.html | 852 ++ Documentation/nvme-endurance-log.txt | 60 + Documentation/nvme-error-log.1 | 118 + Documentation/nvme-error-log.html | 867 ++ Documentation/nvme-error-log.txt | 68 + Documentation/nvme-fdp-configs.1 | 68 + Documentation/nvme-fdp-configs.html | 833 ++ Documentation/nvme-fdp-configs.txt | 41 + Documentation/nvme-fdp-events.1 | 67 + Documentation/nvme-fdp-events.html | 832 ++ Documentation/nvme-fdp-events.txt | 40 + Documentation/nvme-fdp-set-events.1 | 63 + Documentation/nvme-fdp-set-events.html | 823 ++ Documentation/nvme-fdp-set-events.txt | 38 + Documentation/nvme-fdp-stats.1 | 62 + Documentation/nvme-fdp-stats.html | 821 ++ Documentation/nvme-fdp-stats.txt | 36 + Documentation/nvme-fdp-status.1 | 62 + Documentation/nvme-fdp-status.html | 821 ++ Documentation/nvme-fdp-status.txt | 36 + Documentation/nvme-fdp-update.1 | 54 + Documentation/nvme-fdp-update.html | 809 ++ Documentation/nvme-fdp-update.txt | 31 + Documentation/nvme-fdp-usage.1 | 62 + Documentation/nvme-fdp-usage.html | 822 ++ Documentation/nvme-fdp-usage.txt | 37 + Documentation/nvme-fid-support-effects-log.1 | 69 + Documentation/nvme-fid-support-effects-log.html | 832 ++ Documentation/nvme-fid-support-effects-log.txt | 47 + Documentation/nvme-flush.1 | 66 + Documentation/nvme-flush.html | 831 ++ Documentation/nvme-flush.txt | 44 + Documentation/nvme-format.1 | 237 + Documentation/nvme-format.html | 1063 ++ Documentation/nvme-format.txt | 163 + Documentation/nvme-fw-commit.1 | 162 + Documentation/nvme-fw-commit.html | 936 ++ Documentation/nvme-fw-commit.txt | 103 + Documentation/nvme-fw-download.1 | 103 + Documentation/nvme-fw-download.html | 883 ++ Documentation/nvme-fw-download.txt | 78 + Documentation/nvme-fw-log.1 | 112 + Documentation/nvme-fw-log.html | 853 ++ Documentation/nvme-fw-log.txt | 61 + Documentation/nvme-gen-dhchap-key.1 | 69 + Documentation/nvme-gen-dhchap-key.html | 842 ++ Documentation/nvme-gen-dhchap-key.txt | 62 + Documentation/nvme-gen-hostnqn.1 | 60 + Documentation/nvme-gen-hostnqn.html | 816 ++ Documentation/nvme-gen-hostnqn.txt | 36 + Documentation/nvme-gen-tls-key.txt | 99 + Documentation/nvme-get-feature.1 | 247 + Documentation/nvme-get-feature.html | 1008 ++ Documentation/nvme-get-feature.txt | 137 + Documentation/nvme-get-lba-status.1 | 140 + Documentation/nvme-get-lba-status.html | 914 ++ Documentation/nvme-get-lba-status.txt | 86 + Documentation/nvme-get-log.1 | 181 + Documentation/nvme-get-log.html | 1004 ++ Documentation/nvme-get-log.txt | 137 + Documentation/nvme-get-ns-id.1 | 79 + Documentation/nvme-get-ns-id.html | 825 ++ Documentation/nvme-get-ns-id.txt | 39 + Documentation/nvme-get-property.1 | 138 + Documentation/nvme-get-property.html | 874 ++ Documentation/nvme-get-property.txt | 68 + Documentation/nvme-help.1 | 69 + Documentation/nvme-help.html | 801 ++ Documentation/nvme-help.txt | 33 + Documentation/nvme-huawei-id-ctrl.1 | 97 + Documentation/nvme-huawei-id-ctrl.html | 862 ++ Documentation/nvme-huawei-id-ctrl.txt | 66 + Documentation/nvme-huawei-list.1 | 54 + Documentation/nvme-huawei-list.html | 804 ++ Documentation/nvme-huawei-list.txt | 31 + Documentation/nvme-id-ctrl.1 | 202 + Documentation/nvme-id-ctrl.html | 928 ++ Documentation/nvme-id-ctrl.txt | 117 + Documentation/nvme-id-domain.1 | 68 + Documentation/nvme-id-domain.html | 830 ++ Documentation/nvme-id-domain.txt | 44 + Documentation/nvme-id-iocs.1 | 113 + Documentation/nvme-id-iocs.html | 862 ++ Documentation/nvme-id-iocs.txt | 58 + Documentation/nvme-id-ns-granularity.txt | 46 + Documentation/nvme-id-ns-lba-format.1 | 172 + Documentation/nvme-id-ns-lba-format.html | 901 ++ Documentation/nvme-id-ns-lba-format.txt | 102 + Documentation/nvme-id-ns.1 | 235 + Documentation/nvme-id-ns.html | 973 ++ Documentation/nvme-id-ns.txt | 148 + Documentation/nvme-id-nvmset.1 | 148 + Documentation/nvme-id-nvmset.html | 869 ++ Documentation/nvme-id-nvmset.txt | 77 + Documentation/nvme-id-uuid.txt | 55 + Documentation/nvme-inspur-nvme-vendor-log.1 | 71 + Documentation/nvme-inspur-nvme-vendor-log.html | 803 ++ Documentation/nvme-inspur-nvme-vendor-log.txt | 36 + Documentation/nvme-intel-id-ctrl.1 | 95 + Documentation/nvme-intel-id-ctrl.html | 860 ++ Documentation/nvme-intel-id-ctrl.txt | 63 + Documentation/nvme-intel-internal-log.1 | 120 + Documentation/nvme-intel-internal-log.html | 880 ++ Documentation/nvme-intel-internal-log.txt | 73 + Documentation/nvme-intel-lat-stats.1 | 100 + Documentation/nvme-intel-lat-stats.html | 839 ++ Documentation/nvme-intel-lat-stats.txt | 53 + Documentation/nvme-intel-market-name.1 | 74 + Documentation/nvme-intel-market-name.html | 820 ++ Documentation/nvme-intel-market-name.txt | 43 + Documentation/nvme-intel-smart-log-add.1 | 108 + Documentation/nvme-intel-smart-log-add.html | 856 ++ Documentation/nvme-intel-smart-log-add.txt | 65 + Documentation/nvme-intel-temp-stats.1 | 97 + Documentation/nvme-intel-temp-stats.html | 829 ++ Documentation/nvme-intel-temp-stats.txt | 51 + Documentation/nvme-io-mgmt-recv.1 | 86 + Documentation/nvme-io-mgmt-recv.html | 876 ++ Documentation/nvme-io-mgmt-recv.txt | 63 + Documentation/nvme-io-mgmt-send.1 | 86 + Documentation/nvme-io-mgmt-send.html | 875 ++ Documentation/nvme-io-mgmt-send.txt | 62 + Documentation/nvme-io-passthru.1 | 158 + Documentation/nvme-io-passthru.html | 1022 ++ Documentation/nvme-io-passthru.txt | 138 + Documentation/nvme-lba-status-log.1 | 112 + Documentation/nvme-lba-status-log.html | 850 ++ Documentation/nvme-lba-status-log.txt | 59 + Documentation/nvme-list-ctrl.1 | 76 + Documentation/nvme-list-ctrl.html | 849 ++ Documentation/nvme-list-ctrl.txt | 57 + Documentation/nvme-list-endgrp.1 | 68 + Documentation/nvme-list-endgrp.html | 833 ++ Documentation/nvme-list-endgrp.txt | 48 + Documentation/nvme-list-ns.1 | 122 + Documentation/nvme-list-ns.html | 878 ++ Documentation/nvme-list-ns.txt | 70 + Documentation/nvme-list-secondary.txt | 54 + Documentation/nvme-list-subsys.1 | 132 + Documentation/nvme-list-subsys.html | 872 ++ Documentation/nvme-list-subsys.txt | 89 + Documentation/nvme-list.1 | 63 + Documentation/nvme-list.html | 823 ++ Documentation/nvme-list.txt | 41 + Documentation/nvme-lockdown.1 | 90 + Documentation/nvme-lockdown.html | 881 ++ Documentation/nvme-lockdown.txt | 65 + Documentation/nvme-media-unit-stat-log.1 | 67 + Documentation/nvme-media-unit-stat-log.html | 831 ++ Documentation/nvme-media-unit-stat-log.txt | 47 + Documentation/nvme-mi-cmd-support-effects-log.1 | 70 + Documentation/nvme-mi-cmd-support-effects-log.html | 833 ++ Documentation/nvme-mi-cmd-support-effects-log.txt | 49 + Documentation/nvme-micron-clear-pcie-errors.1 | 71 + Documentation/nvme-micron-clear-pcie-errors.html | 805 ++ Documentation/nvme-micron-clear-pcie-errors.txt | 39 + Documentation/nvme-micron-internal-log.1 | 74 + Documentation/nvme-micron-internal-log.html | 821 ++ Documentation/nvme-micron-internal-log.txt | 45 + Documentation/nvme-micron-nand-stats.1 | 71 + Documentation/nvme-micron-nand-stats.html | 806 ++ Documentation/nvme-micron-nand-stats.txt | 40 + Documentation/nvme-micron-pcie-stats.1 | 71 + Documentation/nvme-micron-pcie-stats.html | 806 ++ Documentation/nvme-micron-pcie-stats.txt | 40 + Documentation/nvme-micron-selective-download.1 | 140 + Documentation/nvme-micron-selective-download.html | 876 ++ Documentation/nvme-micron-selective-download.txt | 66 + Documentation/nvme-micron-smart-add-log.1 | 90 + Documentation/nvme-micron-smart-add-log.html | 824 ++ Documentation/nvme-micron-smart-add-log.txt | 54 + Documentation/nvme-micron-temperature-stats.1 | 71 + Documentation/nvme-micron-temperature-stats.html | 806 ++ Documentation/nvme-micron-temperature-stats.txt | 40 + Documentation/nvme-netapp-ontapdevices.1 | 74 + Documentation/nvme-netapp-ontapdevices.html | 814 ++ Documentation/nvme-netapp-ontapdevices.txt | 35 + Documentation/nvme-netapp-smdevices.1 | 74 + Documentation/nvme-netapp-smdevices.html | 816 ++ Documentation/nvme-netapp-smdevices.txt | 37 + Documentation/nvme-ns-descs.1 | 120 + Documentation/nvme-ns-descs.html | 874 ++ Documentation/nvme-ns-descs.txt | 76 + Documentation/nvme-ns-rescan.1 | 79 + Documentation/nvme-ns-rescan.html | 825 ++ Documentation/nvme-ns-rescan.txt | 39 + Documentation/nvme-nvm-id-ctrl.1 | 104 + Documentation/nvme-nvm-id-ctrl.html | 839 ++ Documentation/nvme-nvm-id-ctrl.txt | 53 + Documentation/nvme-nvm-id-ns-lba-format.1 | 117 + Documentation/nvme-nvm-id-ns-lba-format.html | 863 ++ Documentation/nvme-nvm-id-ns-lba-format.txt | 66 + Documentation/nvme-nvm-id-ns.1 | 162 + Documentation/nvme-nvm-id-ns.html | 881 ++ Documentation/nvme-nvm-id-ns.txt | 82 + Documentation/nvme-nvme-mi-recv.1 | 124 + Documentation/nvme-nvme-mi-recv.html | 912 ++ Documentation/nvme-nvme-mi-recv.txt | 79 + Documentation/nvme-nvme-mi-send.1 | 124 + Documentation/nvme-nvme-mi-send.html | 912 ++ Documentation/nvme-nvme-mi-send.txt | 79 + Documentation/nvme-ocp-clear-fw-activate-history.1 | 78 + .../nvme-ocp-clear-fw-activate-history.html | 824 ++ .../nvme-ocp-clear-fw-activate-history.txt | 49 + ...vme-ocp-clear-pcie-correctable-error-counters.1 | 78 + ...-ocp-clear-pcie-correctable-error-counters.html | 824 ++ ...e-ocp-clear-pcie-correctable-error-counters.txt | 49 + Documentation/nvme-ocp-device-capability-log.txt | 42 + Documentation/nvme-ocp-eol-plp-failure-mode.1 | 137 + Documentation/nvme-ocp-eol-plp-failure-mode.html | 893 ++ Documentation/nvme-ocp-eol-plp-failure-mode.txt | 72 + Documentation/nvme-ocp-error-recovery-log.txt | 42 + .../nvme-ocp-get-plp-health-check-interval.txt | 54 + Documentation/nvme-ocp-latency-monitor-log.1 | 79 + Documentation/nvme-ocp-latency-monitor-log.html | 818 ++ Documentation/nvme-ocp-latency-monitor-log.txt | 44 + .../nvme-ocp-set-dssd-power-state-feature.txt | 43 + .../nvme-ocp-set-plp-health-check-interval.txt | 53 + Documentation/nvme-ocp-smart-add-log.1 | 79 + Documentation/nvme-ocp-smart-add-log.html | 819 ++ Documentation/nvme-ocp-smart-add-log.txt | 44 + .../nvme-ocp-telemetry-string-log-page.txt | 43 + .../nvme-ocp-unsupported-reqs-log-pages.txt | 45 + Documentation/nvme-persistent-event-log.1 | 123 + Documentation/nvme-persistent-event-log.html | 884 ++ Documentation/nvme-persistent-event-log.txt | 79 + Documentation/nvme-phy-rx-eom-log.txt | 68 + Documentation/nvme-pred-lat-event-agg-log.1 | 118 + Documentation/nvme-pred-lat-event-agg-log.html | 871 ++ Documentation/nvme-pred-lat-event-agg-log.txt | 73 + Documentation/nvme-predictable-lat-log.1 | 118 + Documentation/nvme-predictable-lat-log.html | 868 ++ Documentation/nvme-predictable-lat-log.txt | 70 + Documentation/nvme-primary-ctrl-caps.1 | 110 + Documentation/nvme-primary-ctrl-caps.html | 853 ++ Documentation/nvme-primary-ctrl-caps.txt | 57 + Documentation/nvme-read.1 | 214 + Documentation/nvme-read.html | 1094 ++ Documentation/nvme-read.txt | 158 + Documentation/nvme-reset.1 | 79 + Documentation/nvme-reset.html | 825 ++ Documentation/nvme-reset.txt | 39 + Documentation/nvme-resv-acquire.1 | 191 + Documentation/nvme-resv-acquire.html | 978 ++ Documentation/nvme-resv-acquire.txt | 101 + Documentation/nvme-resv-notif-log.1 | 104 + Documentation/nvme-resv-notif-log.html | 840 ++ Documentation/nvme-resv-notif-log.txt | 55 + Documentation/nvme-resv-register.1 | 167 + Documentation/nvme-resv-register.html | 967 ++ Documentation/nvme-resv-register.txt | 102 + Documentation/nvme-resv-release.1 | 179 + Documentation/nvme-resv-release.html | 960 ++ Documentation/nvme-resv-release.txt | 93 + Documentation/nvme-resv-report.1 | 86 + Documentation/nvme-resv-report.html | 872 ++ Documentation/nvme-resv-report.txt | 65 + Documentation/nvme-rpmb.1 | 340 + Documentation/nvme-rpmb.html | 1031 ++ Documentation/nvme-rpmb.txt | 158 + Documentation/nvme-sanitize-log.1 | 155 + Documentation/nvme-sanitize-log.html | 910 ++ Documentation/nvme-sanitize-log.txt | 90 + Documentation/nvme-sanitize.1 | 169 + Documentation/nvme-sanitize.html | 967 ++ Documentation/nvme-sanitize.txt | 112 + .../nvme-seagate-clear-fw-activate-history.1 | 60 + .../nvme-seagate-clear-fw-activate-history.html | 799 ++ .../nvme-seagate-clear-fw-activate-history.txt | 37 + .../nvme-seagate-clear-pcie-correctable-errors.1 | 63 + ...nvme-seagate-clear-pcie-correctable-errors.html | 809 ++ .../nvme-seagate-clear-pcie-correctable-errors.txt | 38 + .../nvme-seagate-cloud-SSD-plugin-version.1 | 58 + .../nvme-seagate-cloud-SSD-plugin-version.html | 794 ++ .../nvme-seagate-cloud-SSD-plugin-version.txt | 31 + Documentation/nvme-seagate-get-ctrl-tele.1 | 68 + Documentation/nvme-seagate-get-ctrl-tele.html | 820 ++ Documentation/nvme-seagate-get-ctrl-tele.txt | 42 + Documentation/nvme-seagate-get-host-tele.1 | 73 + Documentation/nvme-seagate-get-host-tele.html | 833 ++ Documentation/nvme-seagate-get-host-tele.txt | 48 + Documentation/nvme-seagate-help.1 | 85 + Documentation/nvme-seagate-help.html | 819 ++ Documentation/nvme-seagate-help.txt | 49 + Documentation/nvme-seagate-plugin-version.1 | 58 + Documentation/nvme-seagate-plugin-version.html | 794 ++ Documentation/nvme-seagate-plugin-version.txt | 31 + Documentation/nvme-seagate-version.1 | 58 + Documentation/nvme-seagate-version.html | 794 ++ Documentation/nvme-seagate-version.txt | 31 + .../nvme-seagate-vs-fw-activate-history.1 | 68 + .../nvme-seagate-vs-fw-activate-history.html | 820 ++ .../nvme-seagate-vs-fw-activate-history.txt | 42 + Documentation/nvme-seagate-vs-internal-log.1 | 68 + Documentation/nvme-seagate-vs-internal-log.html | 821 ++ Documentation/nvme-seagate-vs-internal-log.txt | 43 + Documentation/nvme-seagate-vs-log-page-sup.1 | 75 + Documentation/nvme-seagate-vs-log-page-sup.html | 821 ++ Documentation/nvme-seagate-vs-log-page-sup.txt | 50 + Documentation/nvme-seagate-vs-pcie-stats.1 | 63 + Documentation/nvme-seagate-vs-pcie-stats.html | 809 ++ Documentation/nvme-seagate-vs-pcie-stats.txt | 38 + Documentation/nvme-seagate-vs-smart-add-log.1 | 79 + Documentation/nvme-seagate-vs-smart-add-log.html | 837 ++ Documentation/nvme-seagate-vs-smart-add-log.txt | 55 + Documentation/nvme-seagate-vs-temperature-stats.1 | 63 + .../nvme-seagate-vs-temperature-stats.html | 809 ++ .../nvme-seagate-vs-temperature-stats.txt | 38 + Documentation/nvme-security-recv.1 | 105 + Documentation/nvme-security-recv.html | 916 ++ Documentation/nvme-security-recv.txt | 89 + Documentation/nvme-security-send.1 | 98 + Documentation/nvme-security-send.html | 903 ++ Documentation/nvme-security-send.txt | 82 + Documentation/nvme-self-test-log.1 | 133 + Documentation/nvme-self-test-log.html | 865 ++ Documentation/nvme-self-test-log.txt | 71 + Documentation/nvme-set-feature.1 | 146 + Documentation/nvme-set-feature.html | 929 ++ Documentation/nvme-set-feature.txt | 95 + Documentation/nvme-set-property.1 | 72 + Documentation/nvme-set-property.html | 836 ++ Documentation/nvme-set-property.txt | 45 + Documentation/nvme-show-hostnqn.1 | 60 + Documentation/nvme-show-hostnqn.html | 816 ++ Documentation/nvme-show-hostnqn.txt | 36 + Documentation/nvme-show-regs.1 | 129 + Documentation/nvme-show-regs.html | 866 ++ Documentation/nvme-show-regs.txt | 67 + Documentation/nvme-show-topology.1 | 84 + Documentation/nvme-show-topology.html | 852 ++ Documentation/nvme-show-topology.txt | 51 + Documentation/nvme-smart-log.1 | 118 + Documentation/nvme-smart-log.html | 868 ++ Documentation/nvme-smart-log.txt | 69 + Documentation/nvme-subsystem-reset.1 | 80 + Documentation/nvme-subsystem-reset.html | 826 ++ Documentation/nvme-subsystem-reset.txt | 40 + Documentation/nvme-supported-cap-config-log.txt | 52 + Documentation/nvme-supported-log-pages.1 | 64 + Documentation/nvme-supported-log-pages.html | 820 ++ Documentation/nvme-supported-log-pages.txt | 43 + Documentation/nvme-telemetry-log.1 | 102 + Documentation/nvme-telemetry-log.html | 869 ++ Documentation/nvme-telemetry-log.txt | 64 + .../nvme-toshiba-clear-pcie-correctable-errors.1 | 66 + ...nvme-toshiba-clear-pcie-correctable-errors.html | 798 ++ .../nvme-toshiba-clear-pcie-correctable-errors.txt | 32 + Documentation/nvme-toshiba-vs-internal-log.1 | 108 + Documentation/nvme-toshiba-vs-internal-log.html | 844 ++ Documentation/nvme-toshiba-vs-internal-log.txt | 62 + Documentation/nvme-toshiba-vs-smart-add-log.1 | 106 + Documentation/nvme-toshiba-vs-smart-add-log.html | 848 ++ Documentation/nvme-toshiba-vs-smart-add-log.txt | 63 + Documentation/nvme-transcend-badblock.1 | 71 + Documentation/nvme-transcend-badblock.html | 803 ++ Documentation/nvme-transcend-badblock.txt | 36 + Documentation/nvme-transcend-healthvalue.1 | 71 + Documentation/nvme-transcend-healthvalue.html | 804 ++ Documentation/nvme-transcend-healthvalue.txt | 38 + Documentation/nvme-verify.1 | 165 + Documentation/nvme-verify.html | 983 ++ Documentation/nvme-verify.txt | 101 + Documentation/nvme-virt-mgmt.txt | 70 + .../nvme-virtium-save-smart-to-vtview-log.1 | 138 + .../nvme-virtium-save-smart-to-vtview-log.html | 885 ++ .../nvme-virtium-save-smart-to-vtview-log.txt | 86 + Documentation/nvme-virtium-show-identify.1 | 71 + Documentation/nvme-virtium-show-identify.html | 805 ++ Documentation/nvme-virtium-show-identify.txt | 38 + Documentation/nvme-wdc-cap-diag.1 | 163 + Documentation/nvme-wdc-cap-diag.html | 863 ++ Documentation/nvme-wdc-cap-diag.txt | 64 + Documentation/nvme-wdc-capabilities.1 | 68 + Documentation/nvme-wdc-capabilities.html | 796 ++ Documentation/nvme-wdc-capabilities.txt | 32 + Documentation/nvme-wdc-clear-assert-dump.1 | 71 + Documentation/nvme-wdc-clear-assert-dump.html | 805 ++ Documentation/nvme-wdc-clear-assert-dump.txt | 38 + Documentation/nvme-wdc-clear-fw-activate-history.1 | 71 + .../nvme-wdc-clear-fw-activate-history.html | 804 ++ .../nvme-wdc-clear-fw-activate-history.txt | 37 + Documentation/nvme-wdc-clear-pcie-corr.1 | 71 + Documentation/nvme-wdc-clear-pcie-corr.html | 806 ++ .../nvme-wdc-clear-pcie-correctable-errors.1 | 71 + .../nvme-wdc-clear-pcie-correctable-errors.html | 806 ++ .../nvme-wdc-clear-pcie-correctable-errors.txt | 39 + Documentation/nvme-wdc-cloud-SSD-plugin-version.1 | 68 + .../nvme-wdc-cloud-SSD-plugin-version.html | 797 ++ .../nvme-wdc-cloud-SSD-plugin-version.txt | 33 + Documentation/nvme-wdc-cloud-boot-SSD-version.1 | 68 + Documentation/nvme-wdc-cloud-boot-SSD-version.html | 797 ++ Documentation/nvme-wdc-cloud-boot-SSD-version.txt | 33 + Documentation/nvme-wdc-drive-essentials.1 | 95 + Documentation/nvme-wdc-drive-essentials.html | 829 ++ Documentation/nvme-wdc-drive-essentials.txt | 50 + Documentation/nvme-wdc-drive-log.1 | 116 + Documentation/nvme-wdc-drive-log.html | 836 ++ Documentation/nvme-wdc-drive-log.txt | 51 + Documentation/nvme-wdc-drive-resize.1 | 76 + Documentation/nvme-wdc-drive-resize.html | 817 ++ Documentation/nvme-wdc-drive-resize.txt | 42 + Documentation/nvme-wdc-enc-get-log.1 | 106 + Documentation/nvme-wdc-enc-get-log.html | 844 ++ Documentation/nvme-wdc-enc-get-log.txt | 60 + Documentation/nvme-wdc-get-crash-dump.1 | 116 + Documentation/nvme-wdc-get-crash-dump.html | 837 ++ Documentation/nvme-wdc-get-crash-dump.txt | 52 + Documentation/nvme-wdc-get-dev-capabilities-log.1 | 78 + .../nvme-wdc-get-dev-capabilities-log.html | 822 ++ .../nvme-wdc-get-dev-capabilities-log.txt | 47 + Documentation/nvme-wdc-get-drive-status.1 | 122 + Documentation/nvme-wdc-get-drive-status.html | 843 ++ Documentation/nvme-wdc-get-drive-status.txt | 60 + Documentation/nvme-wdc-get-error-recovery-log.1 | 79 + Documentation/nvme-wdc-get-error-recovery-log.html | 823 ++ Documentation/nvme-wdc-get-error-recovery-log.txt | 48 + Documentation/nvme-wdc-get-latency-monitor-log.1 | 79 + .../nvme-wdc-get-latency-monitor-log.html | 817 ++ Documentation/nvme-wdc-get-latency-monitor-log.txt | 42 + Documentation/nvme-wdc-get-pfail-dump.1 | 116 + Documentation/nvme-wdc-get-pfail-dump.html | 839 ++ Documentation/nvme-wdc-get-pfail-dump.txt | 54 + Documentation/nvme-wdc-get-unsupported-reqs-log.1 | 79 + .../nvme-wdc-get-unsupported-reqs-log.html | 823 ++ .../nvme-wdc-get-unsupported-reqs-log.txt | 48 + Documentation/nvme-wdc-id-ctrl.1 | 98 + Documentation/nvme-wdc-id-ctrl.html | 863 ++ Documentation/nvme-wdc-id-ctrl.txt | 67 + Documentation/nvme-wdc-log-page-directory.1 | 79 + Documentation/nvme-wdc-log-page-directory.html | 819 ++ Documentation/nvme-wdc-log-page-directory.txt | 43 + Documentation/nvme-wdc-namespace-resize.1 | 101 + Documentation/nvme-wdc-namespace-resize.html | 843 ++ Documentation/nvme-wdc-namespace-resize.txt | 56 + Documentation/nvme-wdc-purge-monitor.1 | 126 + Documentation/nvme-wdc-purge-monitor.html | 844 ++ Documentation/nvme-wdc-purge-monitor.txt | 62 + Documentation/nvme-wdc-purge.1 | 73 + Documentation/nvme-wdc-purge.html | 806 ++ Documentation/nvme-wdc-purge.txt | 40 + .../nvme-wdc-set-latency-monitor-feature.txt | 118 + Documentation/nvme-wdc-smart-add-log.1 | 496 + Documentation/nvme-wdc-smart-add-log.html | 1139 ++ Documentation/nvme-wdc-vs-cloud-log.1 | 84 + Documentation/nvme-wdc-vs-cloud-log.html | 835 ++ Documentation/nvme-wdc-vs-cloud-log.txt | 52 + Documentation/nvme-wdc-vs-device-waf.1 | 84 + Documentation/nvme-wdc-vs-device-waf.html | 835 ++ Documentation/nvme-wdc-vs-device-waf.txt | 53 + Documentation/nvme-wdc-vs-drive-info.1 | 64 + Documentation/nvme-wdc-vs-drive-info.html | 802 ++ Documentation/nvme-wdc-vs-drive-info.txt | 47 + .../nvme-wdc-vs-error-reason-identifier.1 | 102 + .../nvme-wdc-vs-error-reason-identifier.html | 843 ++ .../nvme-wdc-vs-error-reason-identifier.txt | 56 + Documentation/nvme-wdc-vs-fw-activate-history.1 | 154 + Documentation/nvme-wdc-vs-fw-activate-history.html | 875 ++ Documentation/nvme-wdc-vs-fw-activate-history.txt | 75 + Documentation/nvme-wdc-vs-hw-rev-log.1 | 84 + Documentation/nvme-wdc-vs-hw-rev-log.html | 834 ++ Documentation/nvme-wdc-vs-hw-rev-log.txt | 51 + Documentation/nvme-wdc-vs-internal-log.1 | 258 + Documentation/nvme-wdc-vs-internal-log.html | 965 ++ Documentation/nvme-wdc-vs-internal-log.txt | 119 + Documentation/nvme-wdc-vs-nand-stats.1 | 78 + Documentation/nvme-wdc-vs-nand-stats.html | 821 ++ Documentation/nvme-wdc-vs-nand-stats.txt | 45 + Documentation/nvme-wdc-vs-smart-add-log.1 | 197 + Documentation/nvme-wdc-vs-smart-add-log.html | 935 ++ Documentation/nvme-wdc-vs-smart-add-log.txt | 107 + .../nvme-wdc-vs-telemetry-controller-option.1 | 130 + .../nvme-wdc-vs-telemetry-controller-option.html | 862 ++ .../nvme-wdc-vs-telemetry-controller-option.txt | 65 + Documentation/nvme-wdc-vs-temperature-stats.1 | 179 + Documentation/nvme-wdc-vs-temperature-stats.html | 864 ++ Documentation/nvme-wdc-vs-temperature-stats.txt | 78 + Documentation/nvme-write-uncor.1 | 90 + Documentation/nvme-write-uncor.html | 875 ++ Documentation/nvme-write-uncor.txt | 60 + Documentation/nvme-write-zeroes.1 | 182 + Documentation/nvme-write-zeroes.html | 1018 ++ Documentation/nvme-write-zeroes.txt | 115 + Documentation/nvme-write.1 | 224 + Documentation/nvme-write.html | 1116 ++ Documentation/nvme-write.txt | 166 + Documentation/nvme-zns-changed-zone-list.1 | 104 + Documentation/nvme-zns-changed-zone-list.html | 839 ++ Documentation/nvme-zns-changed-zone-list.txt | 53 + Documentation/nvme-zns-close-zone.1 | 90 + Documentation/nvme-zns-close-zone.html | 853 ++ Documentation/nvme-zns-close-zone.txt | 54 + Documentation/nvme-zns-finish-zone.1 | 90 + Documentation/nvme-zns-finish-zone.html | 854 ++ Documentation/nvme-zns-finish-zone.txt | 55 + Documentation/nvme-zns-id-ctrl.1 | 98 + Documentation/nvme-zns-id-ctrl.html | 828 ++ Documentation/nvme-zns-id-ctrl.txt | 50 + Documentation/nvme-zns-id-ns.1 | 109 + Documentation/nvme-zns-id-ns.html | 853 ++ Documentation/nvme-zns-id-ns.txt | 61 + Documentation/nvme-zns-offline-zone.1 | 90 + Documentation/nvme-zns-offline-zone.html | 853 ++ Documentation/nvme-zns-offline-zone.txt | 54 + Documentation/nvme-zns-open-zone.1 | 94 + Documentation/nvme-zns-open-zone.html | 863 ++ Documentation/nvme-zns-open-zone.txt | 57 + Documentation/nvme-zns-report-zones.1 | 198 + Documentation/nvme-zns-report-zones.html | 964 ++ Documentation/nvme-zns-report-zones.txt | 102 + Documentation/nvme-zns-reset-zone.1 | 90 + Documentation/nvme-zns-reset-zone.html | 854 ++ Documentation/nvme-zns-reset-zone.txt | 55 + Documentation/nvme-zns-set-zone-desc.1 | 94 + Documentation/nvme-zns-set-zone-desc.html | 866 ++ Documentation/nvme-zns-set-zone-desc.txt | 59 + Documentation/nvme-zns-zone-append.1 | 133 + Documentation/nvme-zns-zone-append.html | 947 ++ Documentation/nvme-zns-zone-append.txt | 96 + Documentation/nvme-zns-zone-mgmt-recv.1 | 119 + Documentation/nvme-zns-zone-mgmt-recv.html | 887 ++ Documentation/nvme-zns-zone-mgmt-recv.txt | 76 + Documentation/nvme-zns-zone-mgmt-send.1 | 136 + Documentation/nvme-zns-zone-mgmt-send.html | 921 ++ Documentation/nvme-zns-zone-mgmt-send.txt | 84 + Documentation/nvme-zns-zrwa-flush-zone.1 | 84 + Documentation/nvme-zns-zrwa-flush-zone.html | 842 ++ Documentation/nvme-zns-zrwa-flush-zone.txt | 50 + Documentation/nvme.1 | 886 ++ Documentation/nvme.html | 2121 ++++ Documentation/nvme.txt | 70 + LICENSE | 340 + Makefile | 64 + README.md | 335 + ccan/ccan/build_assert/LICENSE | 1 + ccan/ccan/build_assert/build_assert.h | 40 + ccan/ccan/check_type/LICENSE | 1 + ccan/ccan/check_type/check_type.h | 64 + ccan/ccan/compiler/LICENSE | 1 + ccan/ccan/compiler/compiler.h | 317 + ccan/ccan/container_of/LICENSE | 1 + ccan/ccan/container_of/container_of.h | 145 + ccan/ccan/endian/LICENSE | 1 + ccan/ccan/endian/endian.h | 363 + ccan/ccan/hash/LICENSE | 1 + ccan/ccan/hash/hash.c | 926 ++ ccan/ccan/hash/hash.h | 313 + ccan/ccan/htable/LICENSE | 1 + ccan/ccan/htable/htable.c | 491 + ccan/ccan/htable/htable.h | 290 + ccan/ccan/htable/htable_type.h | 188 + ccan/ccan/ilog/LICENSE | 1 + ccan/ccan/ilog/ilog.c | 141 + ccan/ccan/ilog/ilog.h | 154 + ccan/ccan/likely/LICENSE | 1 + ccan/ccan/likely/likely.c | 136 + ccan/ccan/likely/likely.h | 111 + ccan/ccan/list/LICENSE | 1 + ccan/ccan/list/list.c | 43 + ccan/ccan/list/list.h | 842 ++ ccan/ccan/short_types/LICENSE | 1 + ccan/ccan/short_types/short_types.h | 35 + ccan/ccan/str/LICENSE | 1 + 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/ccan/strset/strset.c | 309 + ccan/ccan/strset/strset.h | 167 + ccan/ccan/typesafe_cb/LICENSE | 1 + ccan/ccan/typesafe_cb/typesafe_cb.h | 134 + ccan/licenses/BSD-MIT | 17 + ccan/licenses/CC0 | 28 + ccan/licenses/LGPL-2.1 | 510 + ccan/meson.build | 17 + cmd.h | 11 + cmd_handler.h | 109 + codecov.yml | 6 + common.h | 38 + completions/README | 120 + completions/_nvme | 2316 ++++ completions/bash-nvme-completion.sh | 1604 +++ define_cmd.h | 20 + etc/discovery.conf.in | 4 + fabrics.c | 1448 +++ fabrics.h | 22 + libnvme-wrap.c | 73 + meson.build | 358 + meson_options.txt | 72 + nbft.c | 210 + nbft.h | 19 + nvme-builtin.h | 119 + nvme-models.c | 357 + nvme-models.h | 7 + nvme-print-binary.c | 386 + nvme-print-json.c | 4514 +++++++ nvme-print-stdout.c | 5174 ++++++++ nvme-print.c | 1076 ++ nvme-print.h | 313 + nvme-rpmb.c | 1057 ++ nvme-wrap.c | 436 + nvme-wrap.h | 151 + nvme.c | 9105 ++++++++++++++ nvme.control.in | 9 + nvme.h | 131 + nvme.spec.in | 66 + .../dracut-conf/70-nvmf-autoconnect.conf.in | 1 + .../systemd/nvmefc-boot-connections.service.in | 13 + .../systemd/nvmf-autoconnect.service.in | 15 + .../systemd/nvmf-connect-nbft.service.in | 14 + nvmf-autoconnect/systemd/nvmf-connect.target.in | 2 + nvmf-autoconnect/systemd/nvmf-connect@.service.in | 16 + .../udev-rules/65-persistent-net-nbft.rules.in | 2 + .../udev-rules/70-nvmf-autoconnect.rules.in | 32 + .../udev-rules/71-nvmf-netapp.rules.in | 6 + plugin.c | 218 + plugin.h | 37 + plugins/amzn/amzn-nvme.c | 54 + plugins/amzn/amzn-nvme.h | 18 + plugins/dell/dell-nvme.c | 54 + plugins/dell/dell-nvme.h | 18 + plugins/dera/dera-nvme.c | 205 + plugins/dera/dera-nvme.h | 18 + plugins/fdp/fdp.c | 541 + plugins/fdp/fdp.h | 24 + plugins/huawei/huawei-nvme.c | 383 + plugins/huawei/huawei-nvme.h | 19 + plugins/innogrit/innogrit-nvme.c | 466 + plugins/innogrit/innogrit-nvme.h | 20 + plugins/innogrit/typedef.h | 79 + plugins/inspur/inspur-nvme.c | 233 + plugins/inspur/inspur-nvme.h | 18 + plugins/inspur/inspur-utils.h | 175 + plugins/intel/intel-nvme.c | 1738 +++ plugins/intel/intel-nvme.h | 25 + plugins/memblaze/memblaze-nvme.c | 1842 +++ plugins/memblaze/memblaze-nvme.h | 29 + plugins/memblaze/memblaze-utils.h | 217 + plugins/meson.build | 35 + plugins/micron/micron-nvme.c | 3390 +++++ plugins/micron/micron-nvme.h | 36 + plugins/nbft/nbft-plugin.c | 563 + plugins/nbft/nbft-plugin.h | 18 + plugins/netapp/netapp-nvme.c | 654 + plugins/netapp/netapp-nvme.h | 19 + plugins/nvidia/nvidia-nvme.c | 53 + plugins/nvidia/nvidia-nvme.h | 18 + plugins/ocp/meson.build | 8 + plugins/ocp/ocp-clear-features.c | 93 + plugins/ocp/ocp-clear-features.h | 12 + plugins/ocp/ocp-fw-activation-history.c | 225 + plugins/ocp/ocp-fw-activation-history.h | 17 + plugins/ocp/ocp-nvme.c | 2971 +++++ plugins/ocp/ocp-nvme.h | 38 + plugins/ocp/ocp-smart-extended-log.c | 352 + plugins/ocp/ocp-smart-extended-log.h | 18 + plugins/ocp/ocp-utils.c | 32 + plugins/ocp/ocp-utils.h | 18 + plugins/scaleflux/sfx-nvme.c | 1687 +++ plugins/scaleflux/sfx-nvme.h | 26 + plugins/seagate/seagate-diag.h | 388 + plugins/seagate/seagate-nvme.c | 1968 +++ plugins/seagate/seagate-nvme.h | 51 + plugins/sed/meson.build | 4 + plugins/sed/sed.c | 178 + plugins/sed/sed.h | 19 + plugins/sed/sedopal_cmd.c | 512 + plugins/sed/sedopal_cmd.h | 55 + plugins/sed/sedopal_spec.h | 71 + plugins/shannon/shannon-nvme.c | 381 + plugins/shannon/shannon-nvme.h | 21 + plugins/solidigm/meson.build | 16 + plugins/solidigm/solidigm-garbage-collection.c | 138 + plugins/solidigm/solidigm-garbage-collection.h | 8 + plugins/solidigm/solidigm-get-drive-info.c | 79 + plugins/solidigm/solidigm-get-drive-info.h | 8 + plugins/solidigm/solidigm-id-ctrl.c | 73 + plugins/solidigm/solidigm-id-ctrl.h | 10 + plugins/solidigm/solidigm-internal-logs.c | 657 + plugins/solidigm/solidigm-internal-logs.h | 8 + plugins/solidigm/solidigm-latency-tracking.c | 474 + plugins/solidigm/solidigm-latency-tracking.h | 9 + plugins/solidigm/solidigm-log-page-dir.c | 286 + plugins/solidigm/solidigm-log-page-dir.h | 17 + plugins/solidigm/solidigm-market-log.c | 63 + plugins/solidigm/solidigm-market-log.h | 8 + plugins/solidigm/solidigm-nvme.c | 109 + plugins/solidigm/solidigm-nvme.h | 40 + plugins/solidigm/solidigm-ocp-version.c | 25 + plugins/solidigm/solidigm-ocp-version.h | 8 + plugins/solidigm/solidigm-smart.c | 271 + plugins/solidigm/solidigm-smart.h | 8 + plugins/solidigm/solidigm-telemetry.c | 189 + plugins/solidigm/solidigm-telemetry.h | 8 + plugins/solidigm/solidigm-telemetry/cod.c | 190 + plugins/solidigm/solidigm-telemetry/cod.h | 9 + plugins/solidigm/solidigm-telemetry/config.c | 76 + plugins/solidigm/solidigm-telemetry/config.h | 19 + plugins/solidigm/solidigm-telemetry/data-area.c | 472 + plugins/solidigm/solidigm-telemetry/data-area.h | 10 + plugins/solidigm/solidigm-telemetry/header.c | 223 + plugins/solidigm/solidigm-telemetry/header.h | 9 + plugins/solidigm/solidigm-telemetry/meson.build | 7 + plugins/solidigm/solidigm-telemetry/nlog.c | 131 + plugins/solidigm/solidigm-telemetry/nlog.h | 11 + .../solidigm/solidigm-telemetry/telemetry-log.h | 31 + plugins/solidigm/solidigm-temp-stats.c | 108 + plugins/solidigm/solidigm-temp-stats.h | 8 + plugins/solidigm/solidigm-util.c | 20 + plugins/solidigm/solidigm-util.h | 12 + plugins/toshiba/toshiba-nvme.c | 573 + plugins/toshiba/toshiba-nvme.h | 21 + plugins/transcend/transcend-nvme.c | 86 + plugins/transcend/transcend-nvme.h | 21 + plugins/virtium/virtium-nvme.c | 1051 ++ plugins/virtium/virtium-nvme.h | 22 + plugins/wdc/wdc-nvme.c | 12486 +++++++++++++++++++ plugins/wdc/wdc-nvme.h | 91 + plugins/wdc/wdc-utils.c | 196 + plugins/wdc/wdc-utils.h | 81 + plugins/ymtc/ymtc-nvme.c | 161 + plugins/ymtc/ymtc-nvme.h | 25 + plugins/ymtc/ymtc-utils.h | 81 + plugins/zns/zns.c | 1274 ++ plugins/zns/zns.h | 32 + scripts/build.sh | 230 + scripts/gen-hostnqn.sh | 4 + scripts/latency | 115 + scripts/meson-vcs-tag.sh | 17 + scripts/regress | 113 + scripts/release.sh | 132 + scripts/update-docs.sh | 17 + subprojects/json-c.wrap | 13 + subprojects/libnvme.wrap | 7 + tests/README | 98 + tests/TODO | 14 + tests/config.json | 5 + tests/meson.build | 99 + tests/nvme_attach_detach_ns_test.py | 92 + tests/nvme_compare_test.py | 80 + tests/nvme_copy_test.py | 113 + tests/nvme_create_max_ns_test.py | 100 + tests/nvme_ctrl_reset_test.py | 48 + tests/nvme_dsm_test.py | 56 + tests/nvme_error_log_test.py | 64 + tests/nvme_flush_test.py | 62 + tests/nvme_format_test.py | 150 + tests/nvme_fw_log_test.py | 73 + tests/nvme_get_features_test.py | 108 + tests/nvme_get_lba_status_test.py | 70 + tests/nvme_id_ctrl_test.py | 56 + tests/nvme_id_ns_test.py | 90 + tests/nvme_lba_status_log_test.py | 59 + tests/nvme_read_write_test.py | 75 + tests/nvme_simple_template_test.py | 57 + tests/nvme_smart_log_test.py | 89 + tests/nvme_test.py | 504 + tests/nvme_test_io.py | 98 + tests/nvme_test_logger.py | 55 + tests/nvme_verify_test.py | 55 + tests/nvme_writeuncor_test.py | 77 + tests/nvme_writezeros_test.py | 105 + tests/run_py_linters.py | 123 + unit/meson.build | 46 + unit/test-argconfig-parse.c | 164 + unit/test-suffix-binary-parse.c | 68 + unit/test-suffix-si-parse.c | 83 + unit/test-uint128-si.c | 66 + unit/test-uint128.c | 74 + util/argconfig.c | 589 + util/argconfig.h | 189 + util/base64.c | 107 + util/base64.h | 8 + util/cleanup.h | 37 + util/crc32.c | 100 + util/crc32.h | 11 + util/json.c | 74 + util/json.h | 61 + util/mem.c | 109 + util/mem.h | 20 + util/meson.build | 16 + util/suffix.c | 266 + util/suffix.h | 45 + util/types.c | 204 + util/types.h | 60 + 891 files changed, 296678 insertions(+) create mode 100644 .github/AppImageBuilder.yml create mode 100644 .github/azure-pipelines.yml create mode 100644 .github/codeql/codeql-config.yml create mode 100644 .github/cross/ubuntu-cross-armhf.txt create mode 100644 .github/cross/ubuntu-cross-ppc64le.txt create mode 100644 .github/cross/ubuntu-cross-s390x.txt create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/appimage.yml create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/checkpatch.yml create mode 100644 .github/workflows/codeql.yml create mode 100644 .github/workflows/coverage.yml create mode 100644 .github/workflows/release.yml create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .mailmap create mode 100644 CONTRIBUTING.md create mode 100644 Documentation/asciidoc.conf create mode 100644 Documentation/asciidoctor-extensions.rb create mode 100644 Documentation/cmd-plugins.txt create mode 100644 Documentation/cmds-main.txt create mode 100755 Documentation/install-webdoc.sh create mode 100644 Documentation/manpage-base.xsl create mode 100644 Documentation/manpage-normal.xsl create mode 100644 Documentation/meson.build create mode 100644 Documentation/nvme-admin-passthru.1 create mode 100644 Documentation/nvme-admin-passthru.html create mode 100644 Documentation/nvme-admin-passthru.txt create mode 100644 Documentation/nvme-ana-log.1 create mode 100644 Documentation/nvme-ana-log.html create mode 100644 Documentation/nvme-ana-log.txt create mode 100644 Documentation/nvme-attach-ns.1 create mode 100644 Documentation/nvme-attach-ns.html create mode 100644 Documentation/nvme-attach-ns.txt create mode 100644 Documentation/nvme-boot-part-log.1 create mode 100644 Documentation/nvme-boot-part-log.html create mode 100644 Documentation/nvme-boot-part-log.txt create mode 100644 Documentation/nvme-capacity-mgmt.1 create mode 100644 Documentation/nvme-capacity-mgmt.html create mode 100644 Documentation/nvme-capacity-mgmt.txt create mode 100644 Documentation/nvme-changed-ns-list-log.1 create mode 100644 Documentation/nvme-changed-ns-list-log.html create mode 100644 Documentation/nvme-changed-ns-list-log.txt create mode 100644 Documentation/nvme-check-dhchap-key.1 create mode 100644 Documentation/nvme-check-dhchap-key.html create mode 100644 Documentation/nvme-check-dhchap-key.txt create mode 100644 Documentation/nvme-check-tls-key.txt create mode 100644 Documentation/nvme-cmdset-ind-id-ns.1 create mode 100644 Documentation/nvme-cmdset-ind-id-ns.html create mode 100644 Documentation/nvme-cmdset-ind-id-ns.txt create mode 100644 Documentation/nvme-compare.1 create mode 100644 Documentation/nvme-compare.html create mode 100644 Documentation/nvme-compare.txt create mode 100644 Documentation/nvme-config.txt create mode 100644 Documentation/nvme-connect-all.1 create mode 100644 Documentation/nvme-connect-all.html create mode 100644 Documentation/nvme-connect-all.txt create mode 100644 Documentation/nvme-connect.1 create mode 100644 Documentation/nvme-connect.html create mode 100644 Documentation/nvme-connect.txt create mode 100644 Documentation/nvme-copy.1 create mode 100644 Documentation/nvme-copy.html create mode 100644 Documentation/nvme-copy.txt create mode 100644 Documentation/nvme-create-ns.1 create mode 100644 Documentation/nvme-create-ns.html create mode 100644 Documentation/nvme-create-ns.txt create mode 100644 Documentation/nvme-delete-ns.1 create mode 100644 Documentation/nvme-delete-ns.html create mode 100644 Documentation/nvme-delete-ns.txt create mode 100644 Documentation/nvme-dera-stat.1 create mode 100644 Documentation/nvme-dera-stat.html create mode 100644 Documentation/nvme-dera-stat.txt create mode 100644 Documentation/nvme-detach-ns.1 create mode 100644 Documentation/nvme-detach-ns.html create mode 100644 Documentation/nvme-detach-ns.txt create mode 100644 Documentation/nvme-device-self-test.1 create mode 100644 Documentation/nvme-device-self-test.html create mode 100644 Documentation/nvme-device-self-test.txt create mode 100644 Documentation/nvme-dim.1 create mode 100644 Documentation/nvme-dim.html create mode 100644 Documentation/nvme-dim.txt create mode 100644 Documentation/nvme-dir-receive.1 create mode 100644 Documentation/nvme-dir-receive.html create mode 100644 Documentation/nvme-dir-receive.txt create mode 100644 Documentation/nvme-dir-send.1 create mode 100644 Documentation/nvme-dir-send.html create mode 100644 Documentation/nvme-dir-send.txt create mode 100644 Documentation/nvme-disconnect-all.1 create mode 100644 Documentation/nvme-disconnect-all.html create mode 100644 Documentation/nvme-disconnect-all.txt create mode 100644 Documentation/nvme-disconnect.1 create mode 100644 Documentation/nvme-disconnect.html create mode 100644 Documentation/nvme-disconnect.txt create mode 100644 Documentation/nvme-discover.1 create mode 100644 Documentation/nvme-discover.html create mode 100644 Documentation/nvme-discover.txt create mode 100644 Documentation/nvme-dsm.1 create mode 100644 Documentation/nvme-dsm.html create mode 100644 Documentation/nvme-dsm.txt create mode 100644 Documentation/nvme-effects-log.1 create mode 100644 Documentation/nvme-effects-log.html create mode 100644 Documentation/nvme-effects-log.txt create mode 100644 Documentation/nvme-endurance-event-agg-log.1 create mode 100644 Documentation/nvme-endurance-event-agg-log.html create mode 100644 Documentation/nvme-endurance-event-agg-log.txt create mode 100644 Documentation/nvme-endurance-log.1 create mode 100644 Documentation/nvme-endurance-log.html create mode 100644 Documentation/nvme-endurance-log.txt create mode 100644 Documentation/nvme-error-log.1 create mode 100644 Documentation/nvme-error-log.html create mode 100644 Documentation/nvme-error-log.txt create mode 100644 Documentation/nvme-fdp-configs.1 create mode 100644 Documentation/nvme-fdp-configs.html create mode 100644 Documentation/nvme-fdp-configs.txt create mode 100644 Documentation/nvme-fdp-events.1 create mode 100644 Documentation/nvme-fdp-events.html create mode 100644 Documentation/nvme-fdp-events.txt create mode 100644 Documentation/nvme-fdp-set-events.1 create mode 100644 Documentation/nvme-fdp-set-events.html create mode 100644 Documentation/nvme-fdp-set-events.txt create mode 100644 Documentation/nvme-fdp-stats.1 create mode 100644 Documentation/nvme-fdp-stats.html create mode 100644 Documentation/nvme-fdp-stats.txt create mode 100644 Documentation/nvme-fdp-status.1 create mode 100644 Documentation/nvme-fdp-status.html create mode 100644 Documentation/nvme-fdp-status.txt create mode 100644 Documentation/nvme-fdp-update.1 create mode 100644 Documentation/nvme-fdp-update.html create mode 100644 Documentation/nvme-fdp-update.txt create mode 100644 Documentation/nvme-fdp-usage.1 create mode 100644 Documentation/nvme-fdp-usage.html create mode 100644 Documentation/nvme-fdp-usage.txt create mode 100644 Documentation/nvme-fid-support-effects-log.1 create mode 100644 Documentation/nvme-fid-support-effects-log.html create mode 100644 Documentation/nvme-fid-support-effects-log.txt create mode 100644 Documentation/nvme-flush.1 create mode 100644 Documentation/nvme-flush.html create mode 100644 Documentation/nvme-flush.txt create mode 100644 Documentation/nvme-format.1 create mode 100644 Documentation/nvme-format.html create mode 100644 Documentation/nvme-format.txt create mode 100644 Documentation/nvme-fw-commit.1 create mode 100644 Documentation/nvme-fw-commit.html create mode 100644 Documentation/nvme-fw-commit.txt create mode 100644 Documentation/nvme-fw-download.1 create mode 100644 Documentation/nvme-fw-download.html create mode 100644 Documentation/nvme-fw-download.txt create mode 100644 Documentation/nvme-fw-log.1 create mode 100644 Documentation/nvme-fw-log.html create mode 100644 Documentation/nvme-fw-log.txt create mode 100644 Documentation/nvme-gen-dhchap-key.1 create mode 100644 Documentation/nvme-gen-dhchap-key.html create mode 100644 Documentation/nvme-gen-dhchap-key.txt create mode 100644 Documentation/nvme-gen-hostnqn.1 create mode 100644 Documentation/nvme-gen-hostnqn.html create mode 100644 Documentation/nvme-gen-hostnqn.txt create mode 100644 Documentation/nvme-gen-tls-key.txt create mode 100644 Documentation/nvme-get-feature.1 create mode 100644 Documentation/nvme-get-feature.html create mode 100644 Documentation/nvme-get-feature.txt create mode 100644 Documentation/nvme-get-lba-status.1 create mode 100644 Documentation/nvme-get-lba-status.html create mode 100644 Documentation/nvme-get-lba-status.txt create mode 100644 Documentation/nvme-get-log.1 create mode 100644 Documentation/nvme-get-log.html create mode 100644 Documentation/nvme-get-log.txt create mode 100644 Documentation/nvme-get-ns-id.1 create mode 100644 Documentation/nvme-get-ns-id.html create mode 100644 Documentation/nvme-get-ns-id.txt create mode 100644 Documentation/nvme-get-property.1 create mode 100644 Documentation/nvme-get-property.html create mode 100644 Documentation/nvme-get-property.txt create mode 100644 Documentation/nvme-help.1 create mode 100644 Documentation/nvme-help.html create mode 100644 Documentation/nvme-help.txt create mode 100644 Documentation/nvme-huawei-id-ctrl.1 create mode 100644 Documentation/nvme-huawei-id-ctrl.html create mode 100644 Documentation/nvme-huawei-id-ctrl.txt create mode 100644 Documentation/nvme-huawei-list.1 create mode 100644 Documentation/nvme-huawei-list.html create mode 100644 Documentation/nvme-huawei-list.txt create mode 100644 Documentation/nvme-id-ctrl.1 create mode 100644 Documentation/nvme-id-ctrl.html create mode 100644 Documentation/nvme-id-ctrl.txt create mode 100644 Documentation/nvme-id-domain.1 create mode 100644 Documentation/nvme-id-domain.html create mode 100644 Documentation/nvme-id-domain.txt create mode 100644 Documentation/nvme-id-iocs.1 create mode 100644 Documentation/nvme-id-iocs.html create mode 100644 Documentation/nvme-id-iocs.txt create mode 100755 Documentation/nvme-id-ns-granularity.txt create mode 100644 Documentation/nvme-id-ns-lba-format.1 create mode 100644 Documentation/nvme-id-ns-lba-format.html create mode 100644 Documentation/nvme-id-ns-lba-format.txt create mode 100644 Documentation/nvme-id-ns.1 create mode 100644 Documentation/nvme-id-ns.html create mode 100644 Documentation/nvme-id-ns.txt create mode 100644 Documentation/nvme-id-nvmset.1 create mode 100644 Documentation/nvme-id-nvmset.html create mode 100644 Documentation/nvme-id-nvmset.txt create mode 100755 Documentation/nvme-id-uuid.txt create mode 100644 Documentation/nvme-inspur-nvme-vendor-log.1 create mode 100644 Documentation/nvme-inspur-nvme-vendor-log.html create mode 100644 Documentation/nvme-inspur-nvme-vendor-log.txt create mode 100644 Documentation/nvme-intel-id-ctrl.1 create mode 100644 Documentation/nvme-intel-id-ctrl.html create mode 100644 Documentation/nvme-intel-id-ctrl.txt create mode 100644 Documentation/nvme-intel-internal-log.1 create mode 100644 Documentation/nvme-intel-internal-log.html create mode 100644 Documentation/nvme-intel-internal-log.txt create mode 100644 Documentation/nvme-intel-lat-stats.1 create mode 100644 Documentation/nvme-intel-lat-stats.html create mode 100644 Documentation/nvme-intel-lat-stats.txt create mode 100644 Documentation/nvme-intel-market-name.1 create mode 100644 Documentation/nvme-intel-market-name.html create mode 100644 Documentation/nvme-intel-market-name.txt create mode 100644 Documentation/nvme-intel-smart-log-add.1 create mode 100644 Documentation/nvme-intel-smart-log-add.html create mode 100644 Documentation/nvme-intel-smart-log-add.txt create mode 100644 Documentation/nvme-intel-temp-stats.1 create mode 100644 Documentation/nvme-intel-temp-stats.html create mode 100644 Documentation/nvme-intel-temp-stats.txt create mode 100644 Documentation/nvme-io-mgmt-recv.1 create mode 100644 Documentation/nvme-io-mgmt-recv.html create mode 100644 Documentation/nvme-io-mgmt-recv.txt create mode 100644 Documentation/nvme-io-mgmt-send.1 create mode 100644 Documentation/nvme-io-mgmt-send.html create mode 100644 Documentation/nvme-io-mgmt-send.txt create mode 100644 Documentation/nvme-io-passthru.1 create mode 100644 Documentation/nvme-io-passthru.html create mode 100644 Documentation/nvme-io-passthru.txt create mode 100644 Documentation/nvme-lba-status-log.1 create mode 100644 Documentation/nvme-lba-status-log.html create mode 100644 Documentation/nvme-lba-status-log.txt create mode 100644 Documentation/nvme-list-ctrl.1 create mode 100644 Documentation/nvme-list-ctrl.html create mode 100644 Documentation/nvme-list-ctrl.txt create mode 100644 Documentation/nvme-list-endgrp.1 create mode 100644 Documentation/nvme-list-endgrp.html create mode 100644 Documentation/nvme-list-endgrp.txt create mode 100644 Documentation/nvme-list-ns.1 create mode 100644 Documentation/nvme-list-ns.html create mode 100644 Documentation/nvme-list-ns.txt create mode 100755 Documentation/nvme-list-secondary.txt create mode 100644 Documentation/nvme-list-subsys.1 create mode 100644 Documentation/nvme-list-subsys.html create mode 100644 Documentation/nvme-list-subsys.txt create mode 100644 Documentation/nvme-list.1 create mode 100644 Documentation/nvme-list.html create mode 100644 Documentation/nvme-list.txt create mode 100644 Documentation/nvme-lockdown.1 create mode 100644 Documentation/nvme-lockdown.html create mode 100644 Documentation/nvme-lockdown.txt create mode 100644 Documentation/nvme-media-unit-stat-log.1 create mode 100644 Documentation/nvme-media-unit-stat-log.html create mode 100644 Documentation/nvme-media-unit-stat-log.txt create mode 100644 Documentation/nvme-mi-cmd-support-effects-log.1 create mode 100644 Documentation/nvme-mi-cmd-support-effects-log.html create mode 100644 Documentation/nvme-mi-cmd-support-effects-log.txt create mode 100644 Documentation/nvme-micron-clear-pcie-errors.1 create mode 100644 Documentation/nvme-micron-clear-pcie-errors.html create mode 100644 Documentation/nvme-micron-clear-pcie-errors.txt create mode 100644 Documentation/nvme-micron-internal-log.1 create mode 100644 Documentation/nvme-micron-internal-log.html create mode 100644 Documentation/nvme-micron-internal-log.txt create mode 100644 Documentation/nvme-micron-nand-stats.1 create mode 100644 Documentation/nvme-micron-nand-stats.html create mode 100644 Documentation/nvme-micron-nand-stats.txt create mode 100644 Documentation/nvme-micron-pcie-stats.1 create mode 100644 Documentation/nvme-micron-pcie-stats.html create mode 100644 Documentation/nvme-micron-pcie-stats.txt create mode 100644 Documentation/nvme-micron-selective-download.1 create mode 100644 Documentation/nvme-micron-selective-download.html create mode 100644 Documentation/nvme-micron-selective-download.txt create mode 100644 Documentation/nvme-micron-smart-add-log.1 create mode 100644 Documentation/nvme-micron-smart-add-log.html create mode 100644 Documentation/nvme-micron-smart-add-log.txt create mode 100644 Documentation/nvme-micron-temperature-stats.1 create mode 100644 Documentation/nvme-micron-temperature-stats.html create mode 100644 Documentation/nvme-micron-temperature-stats.txt create mode 100644 Documentation/nvme-netapp-ontapdevices.1 create mode 100644 Documentation/nvme-netapp-ontapdevices.html create mode 100644 Documentation/nvme-netapp-ontapdevices.txt create mode 100644 Documentation/nvme-netapp-smdevices.1 create mode 100644 Documentation/nvme-netapp-smdevices.html create mode 100644 Documentation/nvme-netapp-smdevices.txt create mode 100644 Documentation/nvme-ns-descs.1 create mode 100644 Documentation/nvme-ns-descs.html create mode 100644 Documentation/nvme-ns-descs.txt create mode 100644 Documentation/nvme-ns-rescan.1 create mode 100644 Documentation/nvme-ns-rescan.html create mode 100644 Documentation/nvme-ns-rescan.txt create mode 100644 Documentation/nvme-nvm-id-ctrl.1 create mode 100644 Documentation/nvme-nvm-id-ctrl.html create mode 100644 Documentation/nvme-nvm-id-ctrl.txt create mode 100644 Documentation/nvme-nvm-id-ns-lba-format.1 create mode 100644 Documentation/nvme-nvm-id-ns-lba-format.html create mode 100644 Documentation/nvme-nvm-id-ns-lba-format.txt create mode 100644 Documentation/nvme-nvm-id-ns.1 create mode 100644 Documentation/nvme-nvm-id-ns.html create mode 100644 Documentation/nvme-nvm-id-ns.txt create mode 100644 Documentation/nvme-nvme-mi-recv.1 create mode 100644 Documentation/nvme-nvme-mi-recv.html create mode 100755 Documentation/nvme-nvme-mi-recv.txt create mode 100644 Documentation/nvme-nvme-mi-send.1 create mode 100644 Documentation/nvme-nvme-mi-send.html create mode 100755 Documentation/nvme-nvme-mi-send.txt create mode 100644 Documentation/nvme-ocp-clear-fw-activate-history.1 create mode 100644 Documentation/nvme-ocp-clear-fw-activate-history.html create mode 100644 Documentation/nvme-ocp-clear-fw-activate-history.txt create mode 100644 Documentation/nvme-ocp-clear-pcie-correctable-error-counters.1 create mode 100644 Documentation/nvme-ocp-clear-pcie-correctable-error-counters.html create mode 100644 Documentation/nvme-ocp-clear-pcie-correctable-error-counters.txt create mode 100644 Documentation/nvme-ocp-device-capability-log.txt create mode 100644 Documentation/nvme-ocp-eol-plp-failure-mode.1 create mode 100644 Documentation/nvme-ocp-eol-plp-failure-mode.html create mode 100644 Documentation/nvme-ocp-eol-plp-failure-mode.txt create mode 100644 Documentation/nvme-ocp-error-recovery-log.txt create mode 100644 Documentation/nvme-ocp-get-plp-health-check-interval.txt create mode 100644 Documentation/nvme-ocp-latency-monitor-log.1 create mode 100644 Documentation/nvme-ocp-latency-monitor-log.html create mode 100644 Documentation/nvme-ocp-latency-monitor-log.txt create mode 100644 Documentation/nvme-ocp-set-dssd-power-state-feature.txt create mode 100644 Documentation/nvme-ocp-set-plp-health-check-interval.txt create mode 100644 Documentation/nvme-ocp-smart-add-log.1 create mode 100644 Documentation/nvme-ocp-smart-add-log.html create mode 100644 Documentation/nvme-ocp-smart-add-log.txt create mode 100644 Documentation/nvme-ocp-telemetry-string-log-page.txt create mode 100644 Documentation/nvme-ocp-unsupported-reqs-log-pages.txt create mode 100644 Documentation/nvme-persistent-event-log.1 create mode 100644 Documentation/nvme-persistent-event-log.html create mode 100644 Documentation/nvme-persistent-event-log.txt create mode 100644 Documentation/nvme-phy-rx-eom-log.txt create mode 100644 Documentation/nvme-pred-lat-event-agg-log.1 create mode 100644 Documentation/nvme-pred-lat-event-agg-log.html create mode 100644 Documentation/nvme-pred-lat-event-agg-log.txt create mode 100644 Documentation/nvme-predictable-lat-log.1 create mode 100644 Documentation/nvme-predictable-lat-log.html create mode 100644 Documentation/nvme-predictable-lat-log.txt create mode 100644 Documentation/nvme-primary-ctrl-caps.1 create mode 100644 Documentation/nvme-primary-ctrl-caps.html create mode 100644 Documentation/nvme-primary-ctrl-caps.txt create mode 100644 Documentation/nvme-read.1 create mode 100644 Documentation/nvme-read.html create mode 100644 Documentation/nvme-read.txt create mode 100644 Documentation/nvme-reset.1 create mode 100644 Documentation/nvme-reset.html create mode 100644 Documentation/nvme-reset.txt create mode 100644 Documentation/nvme-resv-acquire.1 create mode 100644 Documentation/nvme-resv-acquire.html create mode 100644 Documentation/nvme-resv-acquire.txt create mode 100644 Documentation/nvme-resv-notif-log.1 create mode 100644 Documentation/nvme-resv-notif-log.html create mode 100644 Documentation/nvme-resv-notif-log.txt create mode 100644 Documentation/nvme-resv-register.1 create mode 100644 Documentation/nvme-resv-register.html create mode 100644 Documentation/nvme-resv-register.txt create mode 100644 Documentation/nvme-resv-release.1 create mode 100644 Documentation/nvme-resv-release.html create mode 100644 Documentation/nvme-resv-release.txt create mode 100644 Documentation/nvme-resv-report.1 create mode 100644 Documentation/nvme-resv-report.html create mode 100644 Documentation/nvme-resv-report.txt create mode 100644 Documentation/nvme-rpmb.1 create mode 100644 Documentation/nvme-rpmb.html create mode 100644 Documentation/nvme-rpmb.txt create mode 100644 Documentation/nvme-sanitize-log.1 create mode 100644 Documentation/nvme-sanitize-log.html create mode 100644 Documentation/nvme-sanitize-log.txt create mode 100644 Documentation/nvme-sanitize.1 create mode 100644 Documentation/nvme-sanitize.html create mode 100644 Documentation/nvme-sanitize.txt create mode 100644 Documentation/nvme-seagate-clear-fw-activate-history.1 create mode 100644 Documentation/nvme-seagate-clear-fw-activate-history.html create mode 100644 Documentation/nvme-seagate-clear-fw-activate-history.txt create mode 100644 Documentation/nvme-seagate-clear-pcie-correctable-errors.1 create mode 100644 Documentation/nvme-seagate-clear-pcie-correctable-errors.html create mode 100644 Documentation/nvme-seagate-clear-pcie-correctable-errors.txt create mode 100644 Documentation/nvme-seagate-cloud-SSD-plugin-version.1 create mode 100644 Documentation/nvme-seagate-cloud-SSD-plugin-version.html create mode 100644 Documentation/nvme-seagate-cloud-SSD-plugin-version.txt create mode 100644 Documentation/nvme-seagate-get-ctrl-tele.1 create mode 100644 Documentation/nvme-seagate-get-ctrl-tele.html create mode 100644 Documentation/nvme-seagate-get-ctrl-tele.txt create mode 100644 Documentation/nvme-seagate-get-host-tele.1 create mode 100644 Documentation/nvme-seagate-get-host-tele.html create mode 100644 Documentation/nvme-seagate-get-host-tele.txt create mode 100644 Documentation/nvme-seagate-help.1 create mode 100644 Documentation/nvme-seagate-help.html create mode 100644 Documentation/nvme-seagate-help.txt create mode 100644 Documentation/nvme-seagate-plugin-version.1 create mode 100644 Documentation/nvme-seagate-plugin-version.html create mode 100644 Documentation/nvme-seagate-plugin-version.txt create mode 100644 Documentation/nvme-seagate-version.1 create mode 100644 Documentation/nvme-seagate-version.html create mode 100644 Documentation/nvme-seagate-version.txt create mode 100644 Documentation/nvme-seagate-vs-fw-activate-history.1 create mode 100644 Documentation/nvme-seagate-vs-fw-activate-history.html create mode 100644 Documentation/nvme-seagate-vs-fw-activate-history.txt create mode 100644 Documentation/nvme-seagate-vs-internal-log.1 create mode 100644 Documentation/nvme-seagate-vs-internal-log.html create mode 100644 Documentation/nvme-seagate-vs-internal-log.txt create mode 100644 Documentation/nvme-seagate-vs-log-page-sup.1 create mode 100644 Documentation/nvme-seagate-vs-log-page-sup.html create mode 100644 Documentation/nvme-seagate-vs-log-page-sup.txt create mode 100644 Documentation/nvme-seagate-vs-pcie-stats.1 create mode 100644 Documentation/nvme-seagate-vs-pcie-stats.html create mode 100644 Documentation/nvme-seagate-vs-pcie-stats.txt create mode 100644 Documentation/nvme-seagate-vs-smart-add-log.1 create mode 100644 Documentation/nvme-seagate-vs-smart-add-log.html create mode 100644 Documentation/nvme-seagate-vs-smart-add-log.txt create mode 100644 Documentation/nvme-seagate-vs-temperature-stats.1 create mode 100644 Documentation/nvme-seagate-vs-temperature-stats.html create mode 100644 Documentation/nvme-seagate-vs-temperature-stats.txt create mode 100644 Documentation/nvme-security-recv.1 create mode 100644 Documentation/nvme-security-recv.html create mode 100644 Documentation/nvme-security-recv.txt create mode 100644 Documentation/nvme-security-send.1 create mode 100644 Documentation/nvme-security-send.html create mode 100644 Documentation/nvme-security-send.txt create mode 100644 Documentation/nvme-self-test-log.1 create mode 100644 Documentation/nvme-self-test-log.html create mode 100644 Documentation/nvme-self-test-log.txt create mode 100644 Documentation/nvme-set-feature.1 create mode 100644 Documentation/nvme-set-feature.html create mode 100644 Documentation/nvme-set-feature.txt create mode 100644 Documentation/nvme-set-property.1 create mode 100644 Documentation/nvme-set-property.html create mode 100644 Documentation/nvme-set-property.txt create mode 100644 Documentation/nvme-show-hostnqn.1 create mode 100644 Documentation/nvme-show-hostnqn.html create mode 100644 Documentation/nvme-show-hostnqn.txt create mode 100644 Documentation/nvme-show-regs.1 create mode 100644 Documentation/nvme-show-regs.html create mode 100644 Documentation/nvme-show-regs.txt create mode 100644 Documentation/nvme-show-topology.1 create mode 100644 Documentation/nvme-show-topology.html create mode 100644 Documentation/nvme-show-topology.txt create mode 100644 Documentation/nvme-smart-log.1 create mode 100644 Documentation/nvme-smart-log.html create mode 100644 Documentation/nvme-smart-log.txt create mode 100644 Documentation/nvme-subsystem-reset.1 create mode 100644 Documentation/nvme-subsystem-reset.html create mode 100644 Documentation/nvme-subsystem-reset.txt create mode 100644 Documentation/nvme-supported-cap-config-log.txt create mode 100644 Documentation/nvme-supported-log-pages.1 create mode 100644 Documentation/nvme-supported-log-pages.html create mode 100644 Documentation/nvme-supported-log-pages.txt create mode 100644 Documentation/nvme-telemetry-log.1 create mode 100644 Documentation/nvme-telemetry-log.html create mode 100644 Documentation/nvme-telemetry-log.txt create mode 100644 Documentation/nvme-toshiba-clear-pcie-correctable-errors.1 create mode 100644 Documentation/nvme-toshiba-clear-pcie-correctable-errors.html create mode 100644 Documentation/nvme-toshiba-clear-pcie-correctable-errors.txt create mode 100644 Documentation/nvme-toshiba-vs-internal-log.1 create mode 100644 Documentation/nvme-toshiba-vs-internal-log.html create mode 100644 Documentation/nvme-toshiba-vs-internal-log.txt create mode 100644 Documentation/nvme-toshiba-vs-smart-add-log.1 create mode 100644 Documentation/nvme-toshiba-vs-smart-add-log.html create mode 100644 Documentation/nvme-toshiba-vs-smart-add-log.txt create mode 100644 Documentation/nvme-transcend-badblock.1 create mode 100644 Documentation/nvme-transcend-badblock.html create mode 100644 Documentation/nvme-transcend-badblock.txt create mode 100644 Documentation/nvme-transcend-healthvalue.1 create mode 100644 Documentation/nvme-transcend-healthvalue.html create mode 100644 Documentation/nvme-transcend-healthvalue.txt create mode 100644 Documentation/nvme-verify.1 create mode 100644 Documentation/nvme-verify.html create mode 100644 Documentation/nvme-verify.txt create mode 100755 Documentation/nvme-virt-mgmt.txt create mode 100644 Documentation/nvme-virtium-save-smart-to-vtview-log.1 create mode 100644 Documentation/nvme-virtium-save-smart-to-vtview-log.html create mode 100644 Documentation/nvme-virtium-save-smart-to-vtview-log.txt create mode 100644 Documentation/nvme-virtium-show-identify.1 create mode 100644 Documentation/nvme-virtium-show-identify.html create mode 100644 Documentation/nvme-virtium-show-identify.txt create mode 100644 Documentation/nvme-wdc-cap-diag.1 create mode 100644 Documentation/nvme-wdc-cap-diag.html create mode 100644 Documentation/nvme-wdc-cap-diag.txt create mode 100644 Documentation/nvme-wdc-capabilities.1 create mode 100644 Documentation/nvme-wdc-capabilities.html create mode 100644 Documentation/nvme-wdc-capabilities.txt create mode 100644 Documentation/nvme-wdc-clear-assert-dump.1 create mode 100644 Documentation/nvme-wdc-clear-assert-dump.html create mode 100644 Documentation/nvme-wdc-clear-assert-dump.txt create mode 100644 Documentation/nvme-wdc-clear-fw-activate-history.1 create mode 100644 Documentation/nvme-wdc-clear-fw-activate-history.html create mode 100644 Documentation/nvme-wdc-clear-fw-activate-history.txt create mode 100644 Documentation/nvme-wdc-clear-pcie-corr.1 create mode 100644 Documentation/nvme-wdc-clear-pcie-corr.html create mode 100644 Documentation/nvme-wdc-clear-pcie-correctable-errors.1 create mode 100644 Documentation/nvme-wdc-clear-pcie-correctable-errors.html create mode 100644 Documentation/nvme-wdc-clear-pcie-correctable-errors.txt create mode 100644 Documentation/nvme-wdc-cloud-SSD-plugin-version.1 create mode 100644 Documentation/nvme-wdc-cloud-SSD-plugin-version.html create mode 100644 Documentation/nvme-wdc-cloud-SSD-plugin-version.txt create mode 100644 Documentation/nvme-wdc-cloud-boot-SSD-version.1 create mode 100644 Documentation/nvme-wdc-cloud-boot-SSD-version.html create mode 100644 Documentation/nvme-wdc-cloud-boot-SSD-version.txt create mode 100644 Documentation/nvme-wdc-drive-essentials.1 create mode 100644 Documentation/nvme-wdc-drive-essentials.html create mode 100644 Documentation/nvme-wdc-drive-essentials.txt create mode 100644 Documentation/nvme-wdc-drive-log.1 create mode 100644 Documentation/nvme-wdc-drive-log.html create mode 100644 Documentation/nvme-wdc-drive-log.txt create mode 100644 Documentation/nvme-wdc-drive-resize.1 create mode 100644 Documentation/nvme-wdc-drive-resize.html create mode 100644 Documentation/nvme-wdc-drive-resize.txt create mode 100644 Documentation/nvme-wdc-enc-get-log.1 create mode 100644 Documentation/nvme-wdc-enc-get-log.html create mode 100644 Documentation/nvme-wdc-enc-get-log.txt create mode 100644 Documentation/nvme-wdc-get-crash-dump.1 create mode 100644 Documentation/nvme-wdc-get-crash-dump.html create mode 100644 Documentation/nvme-wdc-get-crash-dump.txt create mode 100644 Documentation/nvme-wdc-get-dev-capabilities-log.1 create mode 100644 Documentation/nvme-wdc-get-dev-capabilities-log.html create mode 100644 Documentation/nvme-wdc-get-dev-capabilities-log.txt create mode 100644 Documentation/nvme-wdc-get-drive-status.1 create mode 100644 Documentation/nvme-wdc-get-drive-status.html create mode 100644 Documentation/nvme-wdc-get-drive-status.txt create mode 100644 Documentation/nvme-wdc-get-error-recovery-log.1 create mode 100644 Documentation/nvme-wdc-get-error-recovery-log.html create mode 100644 Documentation/nvme-wdc-get-error-recovery-log.txt create mode 100644 Documentation/nvme-wdc-get-latency-monitor-log.1 create mode 100644 Documentation/nvme-wdc-get-latency-monitor-log.html create mode 100644 Documentation/nvme-wdc-get-latency-monitor-log.txt create mode 100644 Documentation/nvme-wdc-get-pfail-dump.1 create mode 100644 Documentation/nvme-wdc-get-pfail-dump.html create mode 100644 Documentation/nvme-wdc-get-pfail-dump.txt create mode 100644 Documentation/nvme-wdc-get-unsupported-reqs-log.1 create mode 100644 Documentation/nvme-wdc-get-unsupported-reqs-log.html create mode 100644 Documentation/nvme-wdc-get-unsupported-reqs-log.txt create mode 100644 Documentation/nvme-wdc-id-ctrl.1 create mode 100644 Documentation/nvme-wdc-id-ctrl.html create mode 100644 Documentation/nvme-wdc-id-ctrl.txt create mode 100644 Documentation/nvme-wdc-log-page-directory.1 create mode 100644 Documentation/nvme-wdc-log-page-directory.html create mode 100644 Documentation/nvme-wdc-log-page-directory.txt create mode 100644 Documentation/nvme-wdc-namespace-resize.1 create mode 100644 Documentation/nvme-wdc-namespace-resize.html create mode 100644 Documentation/nvme-wdc-namespace-resize.txt create mode 100644 Documentation/nvme-wdc-purge-monitor.1 create mode 100644 Documentation/nvme-wdc-purge-monitor.html create mode 100644 Documentation/nvme-wdc-purge-monitor.txt create mode 100644 Documentation/nvme-wdc-purge.1 create mode 100644 Documentation/nvme-wdc-purge.html create mode 100644 Documentation/nvme-wdc-purge.txt create mode 100644 Documentation/nvme-wdc-set-latency-monitor-feature.txt create mode 100644 Documentation/nvme-wdc-smart-add-log.1 create mode 100644 Documentation/nvme-wdc-smart-add-log.html create mode 100644 Documentation/nvme-wdc-vs-cloud-log.1 create mode 100644 Documentation/nvme-wdc-vs-cloud-log.html create mode 100644 Documentation/nvme-wdc-vs-cloud-log.txt create mode 100644 Documentation/nvme-wdc-vs-device-waf.1 create mode 100644 Documentation/nvme-wdc-vs-device-waf.html create mode 100644 Documentation/nvme-wdc-vs-device-waf.txt create mode 100644 Documentation/nvme-wdc-vs-drive-info.1 create mode 100644 Documentation/nvme-wdc-vs-drive-info.html create mode 100644 Documentation/nvme-wdc-vs-drive-info.txt create mode 100644 Documentation/nvme-wdc-vs-error-reason-identifier.1 create mode 100644 Documentation/nvme-wdc-vs-error-reason-identifier.html create mode 100644 Documentation/nvme-wdc-vs-error-reason-identifier.txt create mode 100644 Documentation/nvme-wdc-vs-fw-activate-history.1 create mode 100644 Documentation/nvme-wdc-vs-fw-activate-history.html create mode 100644 Documentation/nvme-wdc-vs-fw-activate-history.txt create mode 100644 Documentation/nvme-wdc-vs-hw-rev-log.1 create mode 100644 Documentation/nvme-wdc-vs-hw-rev-log.html create mode 100644 Documentation/nvme-wdc-vs-hw-rev-log.txt create mode 100644 Documentation/nvme-wdc-vs-internal-log.1 create mode 100644 Documentation/nvme-wdc-vs-internal-log.html create mode 100644 Documentation/nvme-wdc-vs-internal-log.txt create mode 100644 Documentation/nvme-wdc-vs-nand-stats.1 create mode 100644 Documentation/nvme-wdc-vs-nand-stats.html create mode 100644 Documentation/nvme-wdc-vs-nand-stats.txt create mode 100644 Documentation/nvme-wdc-vs-smart-add-log.1 create mode 100644 Documentation/nvme-wdc-vs-smart-add-log.html create mode 100644 Documentation/nvme-wdc-vs-smart-add-log.txt create mode 100644 Documentation/nvme-wdc-vs-telemetry-controller-option.1 create mode 100644 Documentation/nvme-wdc-vs-telemetry-controller-option.html create mode 100644 Documentation/nvme-wdc-vs-telemetry-controller-option.txt create mode 100644 Documentation/nvme-wdc-vs-temperature-stats.1 create mode 100644 Documentation/nvme-wdc-vs-temperature-stats.html create mode 100644 Documentation/nvme-wdc-vs-temperature-stats.txt create mode 100644 Documentation/nvme-write-uncor.1 create mode 100644 Documentation/nvme-write-uncor.html create mode 100644 Documentation/nvme-write-uncor.txt create mode 100644 Documentation/nvme-write-zeroes.1 create mode 100644 Documentation/nvme-write-zeroes.html create mode 100644 Documentation/nvme-write-zeroes.txt create mode 100644 Documentation/nvme-write.1 create mode 100644 Documentation/nvme-write.html create mode 100644 Documentation/nvme-write.txt create mode 100644 Documentation/nvme-zns-changed-zone-list.1 create mode 100644 Documentation/nvme-zns-changed-zone-list.html create mode 100644 Documentation/nvme-zns-changed-zone-list.txt create mode 100644 Documentation/nvme-zns-close-zone.1 create mode 100644 Documentation/nvme-zns-close-zone.html create mode 100644 Documentation/nvme-zns-close-zone.txt create mode 100644 Documentation/nvme-zns-finish-zone.1 create mode 100644 Documentation/nvme-zns-finish-zone.html create mode 100644 Documentation/nvme-zns-finish-zone.txt create mode 100644 Documentation/nvme-zns-id-ctrl.1 create mode 100644 Documentation/nvme-zns-id-ctrl.html create mode 100644 Documentation/nvme-zns-id-ctrl.txt create mode 100644 Documentation/nvme-zns-id-ns.1 create mode 100644 Documentation/nvme-zns-id-ns.html create mode 100644 Documentation/nvme-zns-id-ns.txt create mode 100644 Documentation/nvme-zns-offline-zone.1 create mode 100644 Documentation/nvme-zns-offline-zone.html create mode 100644 Documentation/nvme-zns-offline-zone.txt create mode 100644 Documentation/nvme-zns-open-zone.1 create mode 100644 Documentation/nvme-zns-open-zone.html create mode 100644 Documentation/nvme-zns-open-zone.txt create mode 100644 Documentation/nvme-zns-report-zones.1 create mode 100644 Documentation/nvme-zns-report-zones.html create mode 100644 Documentation/nvme-zns-report-zones.txt create mode 100644 Documentation/nvme-zns-reset-zone.1 create mode 100644 Documentation/nvme-zns-reset-zone.html create mode 100644 Documentation/nvme-zns-reset-zone.txt create mode 100644 Documentation/nvme-zns-set-zone-desc.1 create mode 100644 Documentation/nvme-zns-set-zone-desc.html create mode 100644 Documentation/nvme-zns-set-zone-desc.txt create mode 100644 Documentation/nvme-zns-zone-append.1 create mode 100644 Documentation/nvme-zns-zone-append.html create mode 100644 Documentation/nvme-zns-zone-append.txt create mode 100644 Documentation/nvme-zns-zone-mgmt-recv.1 create mode 100644 Documentation/nvme-zns-zone-mgmt-recv.html create mode 100644 Documentation/nvme-zns-zone-mgmt-recv.txt create mode 100644 Documentation/nvme-zns-zone-mgmt-send.1 create mode 100644 Documentation/nvme-zns-zone-mgmt-send.html create mode 100644 Documentation/nvme-zns-zone-mgmt-send.txt create mode 100644 Documentation/nvme-zns-zrwa-flush-zone.1 create mode 100644 Documentation/nvme-zns-zrwa-flush-zone.html create mode 100644 Documentation/nvme-zns-zrwa-flush-zone.txt create mode 100644 Documentation/nvme.1 create mode 100644 Documentation/nvme.html create mode 100644 Documentation/nvme.txt create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 120000 ccan/ccan/build_assert/LICENSE 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/check_type.h create mode 120000 ccan/ccan/compiler/LICENSE create mode 100644 ccan/ccan/compiler/compiler.h create mode 120000 ccan/ccan/container_of/LICENSE create mode 100644 ccan/ccan/container_of/container_of.h create mode 120000 ccan/ccan/endian/LICENSE create mode 100644 ccan/ccan/endian/endian.h create mode 120000 ccan/ccan/hash/LICENSE create mode 100644 ccan/ccan/hash/hash.c create mode 100644 ccan/ccan/hash/hash.h create mode 120000 ccan/ccan/htable/LICENSE create mode 100644 ccan/ccan/htable/htable.c create mode 100644 ccan/ccan/htable/htable.h create mode 100644 ccan/ccan/htable/htable_type.h create mode 120000 ccan/ccan/ilog/LICENSE create mode 100644 ccan/ccan/ilog/ilog.c create mode 100644 ccan/ccan/ilog/ilog.h create mode 120000 ccan/ccan/likely/LICENSE create mode 100644 ccan/ccan/likely/likely.c create mode 100644 ccan/ccan/likely/likely.h create mode 120000 ccan/ccan/list/LICENSE create mode 100644 ccan/ccan/list/list.c create mode 100644 ccan/ccan/list/list.h create mode 120000 ccan/ccan/short_types/LICENSE create mode 100644 ccan/ccan/short_types/short_types.h create mode 120000 ccan/ccan/str/LICENSE 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/ccan/strset/strset.c create mode 100644 ccan/ccan/strset/strset.h create mode 120000 ccan/ccan/typesafe_cb/LICENSE create mode 100644 ccan/ccan/typesafe_cb/typesafe_cb.h create mode 100644 ccan/licenses/BSD-MIT create mode 100644 ccan/licenses/CC0 create mode 100644 ccan/licenses/LGPL-2.1 create mode 100644 ccan/meson.build create mode 100644 cmd.h create mode 100644 cmd_handler.h create mode 100644 codecov.yml create mode 100644 common.h create mode 100644 completions/README create mode 100644 completions/_nvme create mode 100644 completions/bash-nvme-completion.sh create mode 100644 define_cmd.h create mode 100644 etc/discovery.conf.in create mode 100644 fabrics.c create mode 100644 fabrics.h create mode 100644 libnvme-wrap.c create mode 100644 meson.build create mode 100644 meson_options.txt create mode 100644 nbft.c create mode 100644 nbft.h create mode 100644 nvme-builtin.h create mode 100644 nvme-models.c create mode 100644 nvme-models.h create mode 100644 nvme-print-binary.c create mode 100644 nvme-print-json.c create mode 100644 nvme-print-stdout.c create mode 100644 nvme-print.c create mode 100644 nvme-print.h create mode 100644 nvme-rpmb.c create mode 100644 nvme-wrap.c create mode 100644 nvme-wrap.h create mode 100644 nvme.c create mode 100644 nvme.control.in create mode 100644 nvme.h create mode 100644 nvme.spec.in create mode 100644 nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in create mode 100644 nvmf-autoconnect/systemd/nvmefc-boot-connections.service.in create mode 100644 nvmf-autoconnect/systemd/nvmf-autoconnect.service.in create mode 100644 nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in create mode 100644 nvmf-autoconnect/systemd/nvmf-connect.target.in create mode 100644 nvmf-autoconnect/systemd/nvmf-connect@.service.in create mode 100644 nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in create mode 100644 nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules.in create mode 100644 nvmf-autoconnect/udev-rules/71-nvmf-netapp.rules.in create mode 100644 plugin.c create mode 100644 plugin.h create mode 100644 plugins/amzn/amzn-nvme.c create mode 100644 plugins/amzn/amzn-nvme.h create mode 100644 plugins/dell/dell-nvme.c create mode 100644 plugins/dell/dell-nvme.h create mode 100644 plugins/dera/dera-nvme.c create mode 100644 plugins/dera/dera-nvme.h create mode 100644 plugins/fdp/fdp.c create mode 100644 plugins/fdp/fdp.h create mode 100644 plugins/huawei/huawei-nvme.c create mode 100644 plugins/huawei/huawei-nvme.h create mode 100644 plugins/innogrit/innogrit-nvme.c create mode 100644 plugins/innogrit/innogrit-nvme.h create mode 100644 plugins/innogrit/typedef.h create mode 100644 plugins/inspur/inspur-nvme.c create mode 100644 plugins/inspur/inspur-nvme.h create mode 100644 plugins/inspur/inspur-utils.h create mode 100644 plugins/intel/intel-nvme.c create mode 100644 plugins/intel/intel-nvme.h create mode 100644 plugins/memblaze/memblaze-nvme.c create mode 100644 plugins/memblaze/memblaze-nvme.h create mode 100644 plugins/memblaze/memblaze-utils.h create mode 100644 plugins/meson.build create mode 100644 plugins/micron/micron-nvme.c create mode 100644 plugins/micron/micron-nvme.h create mode 100644 plugins/nbft/nbft-plugin.c create mode 100644 plugins/nbft/nbft-plugin.h create mode 100644 plugins/netapp/netapp-nvme.c create mode 100644 plugins/netapp/netapp-nvme.h create mode 100644 plugins/nvidia/nvidia-nvme.c create mode 100644 plugins/nvidia/nvidia-nvme.h create mode 100644 plugins/ocp/meson.build create mode 100644 plugins/ocp/ocp-clear-features.c create mode 100644 plugins/ocp/ocp-clear-features.h create mode 100644 plugins/ocp/ocp-fw-activation-history.c create mode 100644 plugins/ocp/ocp-fw-activation-history.h create mode 100644 plugins/ocp/ocp-nvme.c create mode 100644 plugins/ocp/ocp-nvme.h create mode 100644 plugins/ocp/ocp-smart-extended-log.c create mode 100644 plugins/ocp/ocp-smart-extended-log.h create mode 100644 plugins/ocp/ocp-utils.c create mode 100644 plugins/ocp/ocp-utils.h create mode 100644 plugins/scaleflux/sfx-nvme.c create mode 100644 plugins/scaleflux/sfx-nvme.h create mode 100644 plugins/seagate/seagate-diag.h create mode 100644 plugins/seagate/seagate-nvme.c create mode 100644 plugins/seagate/seagate-nvme.h create mode 100644 plugins/sed/meson.build create mode 100644 plugins/sed/sed.c create mode 100644 plugins/sed/sed.h create mode 100644 plugins/sed/sedopal_cmd.c create mode 100644 plugins/sed/sedopal_cmd.h create mode 100644 plugins/sed/sedopal_spec.h create mode 100644 plugins/shannon/shannon-nvme.c create mode 100644 plugins/shannon/shannon-nvme.h create mode 100644 plugins/solidigm/meson.build create mode 100644 plugins/solidigm/solidigm-garbage-collection.c create mode 100644 plugins/solidigm/solidigm-garbage-collection.h create mode 100644 plugins/solidigm/solidigm-get-drive-info.c create mode 100644 plugins/solidigm/solidigm-get-drive-info.h create mode 100644 plugins/solidigm/solidigm-id-ctrl.c create mode 100644 plugins/solidigm/solidigm-id-ctrl.h create mode 100644 plugins/solidigm/solidigm-internal-logs.c create mode 100644 plugins/solidigm/solidigm-internal-logs.h create mode 100644 plugins/solidigm/solidigm-latency-tracking.c create mode 100644 plugins/solidigm/solidigm-latency-tracking.h create mode 100644 plugins/solidigm/solidigm-log-page-dir.c create mode 100644 plugins/solidigm/solidigm-log-page-dir.h create mode 100644 plugins/solidigm/solidigm-market-log.c create mode 100644 plugins/solidigm/solidigm-market-log.h create mode 100644 plugins/solidigm/solidigm-nvme.c create mode 100644 plugins/solidigm/solidigm-nvme.h create mode 100644 plugins/solidigm/solidigm-ocp-version.c create mode 100644 plugins/solidigm/solidigm-ocp-version.h create mode 100644 plugins/solidigm/solidigm-smart.c create mode 100644 plugins/solidigm/solidigm-smart.h create mode 100644 plugins/solidigm/solidigm-telemetry.c create mode 100644 plugins/solidigm/solidigm-telemetry.h create mode 100644 plugins/solidigm/solidigm-telemetry/cod.c create mode 100644 plugins/solidigm/solidigm-telemetry/cod.h create mode 100644 plugins/solidigm/solidigm-telemetry/config.c create mode 100644 plugins/solidigm/solidigm-telemetry/config.h create mode 100644 plugins/solidigm/solidigm-telemetry/data-area.c create mode 100644 plugins/solidigm/solidigm-telemetry/data-area.h create mode 100644 plugins/solidigm/solidigm-telemetry/header.c create mode 100644 plugins/solidigm/solidigm-telemetry/header.h create mode 100644 plugins/solidigm/solidigm-telemetry/meson.build create mode 100644 plugins/solidigm/solidigm-telemetry/nlog.c create mode 100644 plugins/solidigm/solidigm-telemetry/nlog.h create mode 100644 plugins/solidigm/solidigm-telemetry/telemetry-log.h create mode 100644 plugins/solidigm/solidigm-temp-stats.c create mode 100644 plugins/solidigm/solidigm-temp-stats.h create mode 100644 plugins/solidigm/solidigm-util.c create mode 100644 plugins/solidigm/solidigm-util.h create mode 100644 plugins/toshiba/toshiba-nvme.c create mode 100644 plugins/toshiba/toshiba-nvme.h create mode 100644 plugins/transcend/transcend-nvme.c create mode 100644 plugins/transcend/transcend-nvme.h create mode 100644 plugins/virtium/virtium-nvme.c create mode 100644 plugins/virtium/virtium-nvme.h create mode 100644 plugins/wdc/wdc-nvme.c create mode 100644 plugins/wdc/wdc-nvme.h create mode 100644 plugins/wdc/wdc-utils.c create mode 100644 plugins/wdc/wdc-utils.h create mode 100644 plugins/ymtc/ymtc-nvme.c create mode 100644 plugins/ymtc/ymtc-nvme.h create mode 100644 plugins/ymtc/ymtc-utils.h create mode 100644 plugins/zns/zns.c create mode 100644 plugins/zns/zns.h create mode 100755 scripts/build.sh create mode 100644 scripts/gen-hostnqn.sh create mode 100755 scripts/latency create mode 100755 scripts/meson-vcs-tag.sh create mode 100755 scripts/regress create mode 100755 scripts/release.sh create mode 100755 scripts/update-docs.sh create mode 100644 subprojects/json-c.wrap create mode 100644 subprojects/libnvme.wrap create mode 100644 tests/README create mode 100644 tests/TODO create mode 100644 tests/config.json create mode 100644 tests/meson.build create mode 100644 tests/nvme_attach_detach_ns_test.py create mode 100644 tests/nvme_compare_test.py create mode 100644 tests/nvme_copy_test.py create mode 100644 tests/nvme_create_max_ns_test.py create mode 100644 tests/nvme_ctrl_reset_test.py create mode 100644 tests/nvme_dsm_test.py create mode 100644 tests/nvme_error_log_test.py create mode 100644 tests/nvme_flush_test.py create mode 100644 tests/nvme_format_test.py create mode 100644 tests/nvme_fw_log_test.py create mode 100644 tests/nvme_get_features_test.py create mode 100644 tests/nvme_get_lba_status_test.py create mode 100644 tests/nvme_id_ctrl_test.py create mode 100644 tests/nvme_id_ns_test.py create mode 100644 tests/nvme_lba_status_log_test.py create mode 100644 tests/nvme_read_write_test.py create mode 100644 tests/nvme_simple_template_test.py create mode 100644 tests/nvme_smart_log_test.py create mode 100644 tests/nvme_test.py create mode 100644 tests/nvme_test_io.py create mode 100644 tests/nvme_test_logger.py create mode 100644 tests/nvme_verify_test.py create mode 100644 tests/nvme_writeuncor_test.py create mode 100644 tests/nvme_writezeros_test.py create mode 100644 tests/run_py_linters.py create mode 100644 unit/meson.build create mode 100644 unit/test-argconfig-parse.c create mode 100644 unit/test-suffix-binary-parse.c create mode 100644 unit/test-suffix-si-parse.c create mode 100644 unit/test-uint128-si.c create mode 100644 unit/test-uint128.c create mode 100644 util/argconfig.c create mode 100644 util/argconfig.h create mode 100644 util/base64.c create mode 100644 util/base64.h create mode 100644 util/cleanup.h create mode 100644 util/crc32.c create mode 100644 util/crc32.h create mode 100644 util/json.c create mode 100644 util/json.h create mode 100644 util/mem.c create mode 100644 util/mem.h create mode 100644 util/meson.build create mode 100644 util/suffix.c create mode 100644 util/suffix.h create mode 100644 util/types.c create mode 100644 util/types.h diff --git a/.github/AppImageBuilder.yml b/.github/AppImageBuilder.yml new file mode 100644 index 0000000..cce4689 --- /dev/null +++ b/.github/AppImageBuilder.yml @@ -0,0 +1,57 @@ +# appimage-builder recipe see https://appimage-builder.readthedocs.io for details +version: 1 +script: + # Ensure that the mksquashfs tool is installed (workaround for the AppImageCrafters/build-appimage GHA) + - which mksquashfs || apt install squashfs-tools + # fake icons + - mkdir -p AppDir/usr/share/icons/hicolor/64x64/apps + - touch AppDir/usr/share/icons/hicolor/64x64/apps/nvme-cli.png + +AppDir: + path: AppDir + app_info: + id: linux-nvme.nvme-cli + name: nvme-cli + version: latest + icon: nvme-cli + exec: usr/sbin/nvme + exec_args: $@ + apt: + arch: amd64 + allow_unauthenticated: true + sources: + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse + key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C' + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse + - sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse + include: + - libjson-c5 + - libssl3 + files: + include: + - libcrypt.so.3 + - libdbus-1.so.3 + - libjson-c.so.5 + exclude: + - usr/share/man + - usr/share/doc + test: + fedora-30: + image: appimagecrafters/tests-env:fedora-30 + command: ./AppRun + debian-stable: + image: appimagecrafters/tests-env:debian-stable + command: ./AppRun + archlinux-latest: + image: appimagecrafters/tests-env:archlinux-latest + command: ./AppRun + centos-7: + image: appimagecrafters/tests-env:centos-7 + command: ./AppRun + ubuntu-xenial: + image: appimagecrafters/tests-env:ubuntu-xenial + command: ./AppRun +AppImage: + update-information: 'gh-releases-zsync|linux-nvme|nvme-cli|latest|*x86_64.AppImage.zsync' + arch: x86_64 diff --git a/.github/azure-pipelines.yml b/.github/azure-pipelines.yml new file mode 100644 index 0000000..f9eb5ed --- /dev/null +++ b/.github/azure-pipelines.yml @@ -0,0 +1,38 @@ +--- +# Do not run following tests +# - exclude data varification tests, too slow +# - nvme/010 +# - nvme/011 +# - nvme/012 +# - nvme/013 + +trigger: + - master +pr: + - master + +jobs: + - job: blktests + timeoutInMinutes: 5 + pool: + name: linux-nvme + steps: + - script: | + meson $(Agent.TempDirectory)/build + ninja -C $(Agent.TempDirectory)/build + displayName: Build nvme-cli + - script: | + git clone --depth 1 https://github.com/osandov/blktests.git $(Agent.TempDirectory)/blktests + displayName: Clone blktests + - script: | + cd $(Agent.TempDirectory)/blktests + sudo sh -c 'PATH=$(Agent.TempDirectory)/build:$PATH nvme_trtype=tcp ./check -x nvme/010 -x nvme/011 -x nvme/012 -x nvme/013 nvme' + displayName: Run blktests for NVMe transport TCP + - script: | + cd $(Agent.TempDirectory)/blktests + sudo sh -c 'PATH=$(Agent.TempDirectory)/build:$PATH nvme_trtype=rdma ./check -x nvme/010 -x nvme/011 -x nvme/012 -x nvme/013 nvme' + displayName: Run blktests for NVMe transport RDMA + - script: | + cd $(Agent.TempDirectory)/blktests + sudo sh -c 'PATH=$(Agent.TempDirectory)/build:$PATH nvme_trtype=fc ./check -x nvme/010 -x nvme/011 -x nvme/012 -x nvme/013 nvme' + displayName: Run blktests for NVMe transport FC diff --git a/.github/codeql/codeql-config.yml b/.github/codeql/codeql-config.yml new file mode 100644 index 0000000..d9079fd --- /dev/null +++ b/.github/codeql/codeql-config.yml @@ -0,0 +1,3 @@ +name: "CodeQL Config" +paths-ignore: + - subprojects/** diff --git a/.github/cross/ubuntu-cross-armhf.txt b/.github/cross/ubuntu-cross-armhf.txt new file mode 100644 index 0000000..41c8328 --- /dev/null +++ b/.github/cross/ubuntu-cross-armhf.txt @@ -0,0 +1,18 @@ +[binaries] +c = '/usr/bin/arm-linux-gnueabihf-gcc' +ar = '/usr/arm-linux-gnueabihf/bin/ar' +strip = '/usr/arm-linux-gnueabihf/bin/strip' +pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config' +ld = '/usr/bin/arm-linux/gnueabihf-ld' +exe_wrapper = '/usr/bin/qemu-arm-static' + +[properties] +root = '/usr/arm-linux-gnueabihf' +has_function_printf = true +skip_sanity_check = true + +[host_machine] +system = 'linux' +cpu_family = 'arm' +cpu = 'armv7' +endian = 'little' diff --git a/.github/cross/ubuntu-cross-ppc64le.txt b/.github/cross/ubuntu-cross-ppc64le.txt new file mode 100644 index 0000000..6baaefb --- /dev/null +++ b/.github/cross/ubuntu-cross-ppc64le.txt @@ -0,0 +1,18 @@ +[binaries] +c = '/usr/bin/powerpc64le-linux-gnu-gcc' +ar = '/usr/powerpc64le-linux-gnu/bin/ar' +strip = '/usr/powerpc64le-linux-gnu/bin/strip' +pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config' +ld = '/usr/bin/powerpc64le-linux-gnu-ld' +exe_wrapper = '/usr/bin/qemu-ppc64le-static' + +[properties] +root = '/usr/powerpc64le-linux-gnu' +has_function_printf = true +skip_sanity_check = true + +[host_machine] +system = 'linux' +cpu_family = 'ppc64' +cpu = '' +endian = 'little' diff --git a/.github/cross/ubuntu-cross-s390x.txt b/.github/cross/ubuntu-cross-s390x.txt new file mode 100644 index 0000000..51a3511 --- /dev/null +++ b/.github/cross/ubuntu-cross-s390x.txt @@ -0,0 +1,18 @@ +[binaries] +c = '/usr/bin/s390x-linux-gnu-gcc' +ar = '/usr/s390x-linux-gnu/bin/ar' +strip = '/usr/s390x-linux-gnu/bin/strip' +pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config' +ld = '/usr/bin/s390x-linux-gnu-ld' +exe_wrapper = '/usr/bin/qemu-s390x-static' + +[properties] +root = '/usr/s390x-linux-gnu' +has_function_printf = true +skip_sanity_check = true + +[host_machine] +system = 'linux' +cpu_family = 's390x' +cpu = '' +endian = 'big' diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..23c4cb3 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +--- +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml new file mode 100644 index 0000000..6c0d3e5 --- /dev/null +++ b/.github/workflows/appimage.yml @@ -0,0 +1,56 @@ +--- +name: appimage + +on: + push: + branches: [master] + pull_request: + branches: [master] +env: + DESTDIR: ../AppDir + +jobs: + build-appimage: + name: build AppImage + runs-on: ubuntu-latest + container: + image: ghcr.io/igaw/linux-nvme/debian:latest + steps: + - uses: actions/checkout@v4 + - name: build + run: | + scripts/build.sh appimage + - name: build AppImage + uses: AppImageCrafters/build-appimage@v1.3 + with: + recipe: .github/AppImageBuilder.yml + - uses: actions/upload-artifact@v4 + name: upload artifacts to github + with: + name: AppImage + path: '*.AppImage*' + + deploy-appimage: + name: deploy AppImage + runs-on: ubuntu-latest + needs: build-appimage + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'linux-nvme/nvme-cli' }} + steps: + - name: Download artifact + uses: dawidd6/action-download-artifact@v3 + with: + workflow: ${{ github.event.workflow_run.workflow_id }} + workflow_conclusion: success + - name: FTP Deployer + uses: sand4rt/ftp-deployer@v1.7 + with: + sftp: true + host: ${{ secrets.SFTP_SERVER }} + port: 22 + username: ${{ secrets.SFTP_USERNAME }} + password: ${{ secrets.SFTP_PASSWORD }} + remote_folder: '/upload' + local_folder: '.' + cleanup: false + include: '[ "*", "**/*" ]' + exclude: '[".github/**", ".git/**", "*.env"]' diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..0b12517 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,101 @@ +--- +name: build + +on: + push: + branches: [master] + pull_request: + branches: [master] + + workflow_dispatch: + +jobs: + default: + runs-on: ubuntu-latest + strategy: + matrix: + compiler: [gcc, clang] + buildtype: [debug, release] + container: + image: ghcr.io/igaw/linux-nvme/debian.python:latest + steps: + - uses: actions/checkout@v4 + - name: build + run: | + scripts/build.sh -b ${{ matrix.buildtype }} -c ${{ matrix.compiler }} + - uses: actions/upload-artifact@v4 + name: upload logs + if: failure() + with: + name: logs files + path: | + .build-ci/meson-logs/*.txt + + cross: + runs-on: ubuntu-latest + strategy: + matrix: + include: + - arch: armhf + - arch: s390x + - arch: ppc64le + steps: + - uses: actions/checkout@v4 + - name: enable foreign arch + uses: dbhi/qus/action@main + - name: compile and run unit tests + uses: mosteo-actions/docker-run@v1 + with: + image: ghcr.io/igaw/linux-nvme/ubuntu-cross-${{ matrix.arch }}:latest + guest-dir: /build + host-dir: ${{ github.workspace }} + command: | + scripts/build.sh -b release -c gcc -t ${{ matrix.arch }} cross + params: "--platform linux/amd64" + pull-params: "--platform linux/amd64" + - uses: actions/upload-artifact@v4 + name: upload logs + if: failure() + with: + name: log files + path: | + .build-ci/meson-logs/*.txt + + fallback-shared-libraries: + name: fallback shared libraries + runs-on: ubuntu-latest + container: + image: ghcr.io/igaw/linux-nvme/debian:latest + if: github.ref == 'refs/heads/master' + steps: + - uses: actions/checkout@v4 + - name: build + run: | + scripts/build.sh -b release -c gcc fallback + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: log files + path: | + .build-ci/meson-logs/*.txt + + build-muon: + name: muon minimal static + runs-on: ubuntu-latest + container: + image: ghcr.io/igaw/linux-nvme/debian:latest + steps: + - uses: actions/checkout@v4 + - name: build + run: | + scripts/build.sh -m muon + build-make-static: + name: make static + runs-on: ubuntu-latest + container: + image: ghcr.io/igaw/linux-nvme/debian:latest + steps: + - uses: actions/checkout@v4 + - name: build + run: | + make static diff --git a/.github/workflows/checkpatch.yml b/.github/workflows/checkpatch.yml new file mode 100644 index 0000000..c0a09b7 --- /dev/null +++ b/.github/workflows/checkpatch.yml @@ -0,0 +1,15 @@ +name: checkpatch review +on: [pull_request] +jobs: + checkpatch: + name: checkpatch review + runs-on: ubuntu-latest + steps: + - name: 'Calculate PR commits + 1' + run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> $GITHUB_ENV + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 0 + - name: Run checkpatch review + uses: webispy/checkpatch-action@v9 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..d57e17a --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,71 @@ +# CodeQL build configuration for nvme-cli +# Mostly based on auto-configuration with additions and tweaks for: +# * meson install +# * language detection +name: "CodeQL" + +on: + push: + branches: [ "master" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "master" ] + schedule: + - cron: '24 2 * * 5' + +jobs: + analyze: + name: Analyze + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners + # Consider using larger runners for possible analysis time improvements. + runs-on: 'ubuntu-latest' + timeout-minutes: 360 + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'c-cpp', 'python' ] + # CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ] + # Use only 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install build tools + run: | + sudo apt-get update + sudo apt-get install meson + + # Initializes the CodeQL tools for scanning. + - if: matrix.language == 'c-cpp' + name: Initialize CodeQL C + uses: github/codeql-action/init@v3 + with: + languages: 'c-cpp' + + - if: matrix.language == 'python' + name: Initialize CodeQL Python + uses: github/codeql-action/init@v3 + with: + languages: 'python' + config-file: ./.github/codeql/codeql-config.yml + + - name: meson build + run: | + meson setup --force-fallback-for=libnvme,json-c .build + ninja -C .build + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 0000000..875ed6d --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,22 @@ +--- +name: coverage + +on: + push: + branches: [master] + +jobs: + code-coverage: + if: github.repository == 'linux-nvme/nvme-cli' + name: code coverage + runs-on: ubuntu-latest + container: + image: ghcr.io/igaw/linux-nvme/debian.python:latest + steps: + - uses: actions/checkout@v4 + - name: build + run: | + scripts/build.sh coverage + - uses: codecov/codecov-action@v4 + with: + fail_ci_if_error: false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..8a5651c --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,20 @@ +--- +name: release + +on: + push: + branches: [ master ] + tags: + - '**' + +jobs: + build: + runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/v') && github.repository == 'linux-nvme/nvme-cli' + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + - uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..da4804c --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +nvme +*.xml +a.out +*.o +*~ +*.swp +nvme-*.tar.gz + +subprojects/* +!subprojects/*.wrap + +cscope.* +compile_commands.json + +tests/__pycache__ +tests/nvmetests +tests/*.pyc + +.build +.cache diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e69de29 diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..b506f85 --- /dev/null +++ b/.mailmap @@ -0,0 +1 @@ +Vigneshwaran Saravanan diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..cde8527 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,24 @@ +# Contributing to the NVM-e CLI + +Here you will find instructions on how to contribute to the NVM-Express command +line interface. + +Contributions and new ideas are most welcome! + +**NOTE: If you do decide to implement code changes and contribute them, +please make sure you agree your contribution can be made available +under the [GPLv2-style License used for the NVMe CLI](https://github.com/linux-nvme/nvme-cli/blob/master/LICENSE). +(SPDX-License-Identifier: GPL-2.0-or-later)** + +Because there are a few files licensed under GPL-2.0-only, the whole +project is tagged as GPL-2.0-only and not as GPL-2.0-or-later. + +### Code Contributions + +Please feel free to use the github forums to ask for comments & questions on +your code before submitting a pull request. The NVMe CLI project uses the +common *fork and merge* workflow used by most GitHub-hosted projects. + +### Bug Reports + +Bugs for the NVM Library project are tracked in our [GitHub Issues Database](https://github.com/linux-nvme/nvme-cli/issues). diff --git a/Documentation/asciidoc.conf b/Documentation/asciidoc.conf new file mode 100644 index 0000000..f8a6e93 --- /dev/null +++ b/Documentation/asciidoc.conf @@ -0,0 +1,91 @@ +## linknvme: macro +# +# Usage: linknvme:command[manpage-section] +# +# Note, {0} is the manpage section, while {target} is the command. +# +# Show Git link as: (
); if section is defined, else just show +# the command. + +[macros] +(?su)[\\]?(?Plinknvme):(?P\S*?)\[(?P.*?)\]= + +[attributes] +asterisk=* +plus=+ +caret=^ +startsb=[ +endsb=] +backslash=\ +tilde=~ +apostrophe=' +backtick=` +litdd=-- + +ifdef::backend-docbook[] +[linknvme-inlinemacro] +{0%{target}} +{0#} +{0#{target}{0}} +{0#} +endif::backend-docbook[] + +ifdef::backend-docbook[] +ifndef::git-asciidoc-no-roff[] +# "unbreak" docbook-xsl v1.68 for manpages. v1.69 works with or without this. +# v1.72 breaks with this because it replaces dots not in roff requests. +[listingblock] +{title} + +| + +{title#} +endif::git-asciidoc-no-roff[] + +ifdef::git-asciidoc-no-roff[] +ifdef::doctype-manpage[] +# The following two small workarounds insert a simple paragraph after screen +[listingblock] +{title} + +| + +{title#} + +[verseblock] +{title} +{title%} +{title#} +| + +{title#} +{title%} +endif::doctype-manpage[] +endif::git-asciidoc-no-roff[] +endif::backend-docbook[] + +ifdef::doctype-manpage[] +ifdef::backend-docbook[] +[header] +template::[header-declarations] + + +{mantitle} +{manvolnum} +NVMe +{nvme_version} +NVMe Manual + + + {manname} + {manpurpose} + +endif::backend-docbook[] +endif::doctype-manpage[] + +ifdef::backend-xhtml11[] +[attributes] +git-relative-html-prefix= +[linknvme-inlinemacro] +{target}{0?({0})} +endif::backend-xhtml11[] diff --git a/Documentation/asciidoctor-extensions.rb b/Documentation/asciidoctor-extensions.rb new file mode 100644 index 0000000..8948e11 --- /dev/null +++ b/Documentation/asciidoctor-extensions.rb @@ -0,0 +1,29 @@ +require 'asciidoctor' +require 'asciidoctor/extensions' + +module Nvme + module Documentation + class LinkNvmeProcessor < Asciidoctor::Extensions::InlineMacroProcessor + use_dsl + + named :chrome + + def process(parent, target, attrs) + if parent.document.basebackend? 'html' + %(#{target}(#{attrs[1]})\n) + elsif parent.document.basebackend? 'manpage' + "#{target}(#{attrs[1]})" + elsif parent.document.basebackend? 'docbook' + "\n" \ + "#{target}" \ + "#{attrs[1]}\n" \ + "\n" + end + end + end + end +end + +Asciidoctor::Extensions.register do + inline_macro Nvme::Documentation::LinkNvmeProcessor, :linknvme +end diff --git a/Documentation/cmd-plugins.txt b/Documentation/cmd-plugins.txt new file mode 100644 index 0000000..f767603 --- /dev/null +++ b/Documentation/cmd-plugins.txt @@ -0,0 +1,203 @@ +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 analyze 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 + +linknvme:nvme-inspur-nvme-vendor-log[1]:: + NVMe Inspur Device Vendor log page request diff --git a/Documentation/cmds-main.txt b/Documentation/cmds-main.txt new file mode 100644 index 0000000..14a6ff6 --- /dev/null +++ b/Documentation/cmds-main.txt @@ -0,0 +1,275 @@ +linknvme:nvme-admin-passthru[1]:: + Admin Passthrough Command + +linknvme:nvme-compare[1]:: + IO Compare + +linknvme:nvme-error-log[1]:: + Retrieve error logs + +linknvme:nvme-flush[1]:: + Submit flush + +linknvme:nvme-dsm[1]:: + Submit Data Set Management + +linknvme:nvme-format[1]:: + Format namespace(s) + +linknvme:nvme-fw-activate[1]:: + F/W Activate (in old version < 1.2) + +linknvme:nvme-fw-commit[1]:: + F/W Commit (in > 1.2) + +linknvme:nvme-fw-download[1]:: + F/W Download + +linknvme:nvme-fw-log[1]:: + Retrieve f/w log + +linknvme:nvme-get-feature[1]:: + Get Features + +linknvme:nvme-get-log[1]:: + Generic Get Log + +linknvme:nvme-telemetry-log[1]:: + Telemetry Host-Initiated Log + +linknvme:nvme-changed-ns-list-log[1]:: + Retrieve Changed Namespace List Log + +linknvme:nvme-smart-log[1]:: + Retrieve Smart Log + +linknvme:nvme-ana-log[1]:: + Retrieve ANA(Asymmetric Namespace Access) Log + +linknvme:nvme-endurance-log[1]:: + Retrieve endurance Log + +linknvme:nvme-effects-log[1]:: + Retrieve effects Log + +linknvme:nvme-self-test-log[1]:: + Retrieve Device Self-test Log + +linknvme:nvme-get-ns-id[1]:: + Retrieve namespace identifier + +linknvme:nvme-help[1]:: + NVMe CLI Help + +linknvme:nvme-id-ctrl[1]:: + Identify Controller + +linknvme:nvme-id-ns[1]:: + Identify Namespace + +linknvme:nvme-id-nvmset[1]:: + Identify NVM Set List + +linknvme:nvme-id-iocs[1]:: + Identify I/O Command Set + +linknvme:nvme-create-ns[1]:: + Create a new namespace + +linknvme:nvme-delete-ns[1]:: + Delete existing namespace + +linknvme:nvme-attach-ns[1]:: + Attach namespace + +linknvme:nvme-detach-ns[1]:: + Detach namespace + +linknvme:nvme-io-passthru[1]:: + IO Passthrough Command + +linknvme:nvme-list-ns[1]:: + List all nvme namespaces + +linknvme:nvme-ns-descs[1]:: + Identify Namespace Identification Descriptor + +linknvme:nvme-list[1]:: + List all nvme controllers + +linknvme:nvme-list-ctrl[1]:: + List controller in NVMe subsystem + +linknvme:nvme-list-subsys[1]:: + List NVMe subsystems + +linknvme:nvme-reset[1]:: + Reset a NVMe controller + +linknvme:nvme-device-self-test[1]:: + Issue Device Self-test Command + +linknvme:nvme-read[1]:: + Issue IO Read Command + +linknvme:nvme-write[1]:: + Issue IO Write Command + +linknvme:nvme-write-zeroes[1]:: + Issue IO Write Zeroes Command + +linknvme:nvme-write-uncor[1]:: + Issue IO Write Uncorrectable Command + +linknvme:nvme-resv-acquire[1]:: + Acquire Namespace Reservation + +linknvme:nvme-resv-register[1]:: + Register Namespace Reservation + +linknvme:nvme-resv-release[1]:: + Release Namespace Reservation + +linknvme:nvme-resv-report[1]:: + Report Reservation Capabilities + +linknvme:nvme-security-recv[1]:: + Security Receive + +linknvme:nvme-security-send[1]:: + Security Send + +linknvme:nvme-dsm[1]:: + Issue Data Set Management Command + +linknvme:nvme-copy[1]:: + Issue Simple Copy Command + +linknvme:nvme-set-feature[1]:: + Set Feature + +linknvme:nvme-show-regs[1]:: + Show NVMe Controller Registers + +linknvme:nvme-discover[1]:: + Send Get Log Page request to Discovery Controller + +linknvme:nvme-connect-all[1]:: + Discover and connect to all NVMe-over-Fabrics subsystems + +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 + +linknvme:nvme-disconnect-all[1]:: + Disconnect from all NVMe-over-Fabrics subsystems + +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 Persistent 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 + +linknvme:nvme-show-topology[1]:: + Show NVMe topology diff --git a/Documentation/install-webdoc.sh b/Documentation/install-webdoc.sh new file mode 100755 index 0000000..ed8b4ff --- /dev/null +++ b/Documentation/install-webdoc.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +T="$1" + +for h in \ + *.txt *.html \ + howto/*.txt howto/*.html \ + technical/*.txt technical/*.html \ + RelNotes/*.txt *.css +do + if test ! -f "$h" + then + : did not match + elif test -f "$T/$h" && + $DIFF -u -I'^Last updated ' "$T/$h" "$h" + then + :; # up to date + else + echo >&2 "# install $h $T/$h" + rm -f "$T/$h" + mkdir -p $(dirname "$T/$h") + cp "$h" "$T/$h" + fi +done +strip_leading=$(echo "$T/" | sed -e 's|.|.|g') +for th in \ + "$T"/*.html "$T"/*.txt \ + "$T"/howto/*.txt "$T"/howto/*.html \ + "$T"/technical/*.txt "$T"/technical/*.html +do + h=$(expr "$th" : "$strip_leading"'\(.*\)') + case "$h" in + RelNotes-*.txt | index.html) continue ;; + esac + test -f "$h" && continue + echo >&2 "# rm -f $th" + rm -f "$th" +done +ln -sf git.html "$T/index.html" diff --git a/Documentation/manpage-base.xsl b/Documentation/manpage-base.xsl new file mode 100644 index 0000000..023c417 --- /dev/null +++ b/Documentation/manpage-base.xsl @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + sp + + + + + + + + br + + + diff --git a/Documentation/manpage-normal.xsl b/Documentation/manpage-normal.xsl new file mode 100644 index 0000000..b730031 --- /dev/null +++ b/Documentation/manpage-normal.xsl @@ -0,0 +1,13 @@ + + + + + + +\ +. + + diff --git a/Documentation/meson.build b/Documentation/meson.build new file mode 100644 index 0000000..0dc0300 --- /dev/null +++ b/Documentation/meson.build @@ -0,0 +1,293 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +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-fdp-configs', + 'nvme-fdp-usage', + 'nvme-fdp-stats', + 'nvme-fdp-events', + 'nvme-fdp-status', + 'nvme-fdp-update', + 'nvme-fdp-set-events', + '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-mgmt-recv', + 'nvme-io-mgmt-send', + '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-nvme-mi-recv', + 'nvme-nvme-mi-send', + 'nvme-nvm-id-ctrl', + 'nvme-ocp-latency-monitor-log', + 'nvme-ocp-smart-add-log', + 'nvme-ocp-clear-fw-activate-history', + 'nvme-ocp-clear-pcie-correctable-error-counters', + 'nvme-ocp-eol-plp-failure-mode', + 'nvme-persistent-event-log', + 'nvme-pred-lat-event-agg-log', + 'nvme-predictable-lat-log', + '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-seagate-clear-pcie-correctable-errors', + 'nvme-seagate-get-ctrl-tele', + 'nvme-seagate-get-host-tele', + 'nvme-seagate-help', + 'nvme-seagate-plugin-version', + 'nvme-seagate-version', + 'nvme-seagate-vs-internal-log', + 'nvme-seagate-vs-log-page-sup', + 'nvme-seagate-vs-pcie-stats', + 'nvme-seagate-vs-smart-add-log', + 'nvme-seagate-vs-temperature-stats', + 'nvme-seagate-cloud-SSD-plugin-version', + 'nvme-seagate-vs-fw-activate-history', + 'nvme-seagate-clear-fw-activate-history', + 'nvme-security-recv', + 'nvme-security-send', + 'nvme-self-test-log', + 'nvme-set-feature', + 'nvme-set-property', + 'nvme-show-hostnqn', + 'nvme-show-regs', + 'nvme-show-topology', + '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-boot-SSD-version', + '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-cloud-log', + 'nvme-wdc-vs-device-waf', + 'nvme-wdc-vs-drive-info', + 'nvme-wdc-vs-error-reason-identifier', + 'nvme-wdc-vs-fw-activate-history', + 'nvme-wdc-vs-hw-rev-log', + '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', + 'nvme-inspur-nvme-vendor-log', +] + +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: get_option('docs-build')) + 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 new file mode 100644 index 0000000..b057dec --- /dev/null +++ b/Documentation/nvme-admin-passthru.1 @@ -0,0 +1,194 @@ +'\" t +.\" Title: nvme-admin-passthru +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ADMIN\-PASSTHR" "1" "02/14/2024" "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-admin-passthru \- Submit an arbitrary admin command, return results +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-admin\-passthru\fR [\-\-opcode= | \-O ] + [\-\-flags= | \-f ] [\-rsvd= | \-R ] + [\-\-namespace\-id= | \-n ] [\-\-cdw2= | \-2 ] + [\-\-cdw3= | \-3 ] [\-\-cdw10= | \-4 ] + [\-\-cdw11= | \-5 ] [\-\-cdw12= | \-6 ] + [\-\-cdw13= | \-7 ] [\-\-cdw14= | \-8 ] + [\-\-cdw15= | \-9 ] + [\-\-data\-len= | \-l ] + [\-\-metadata\-len= | \-m ] + [\-\-input\-file= | \-i ] + [\-\-read | \-r] [\-\-write | \-w] + [\-\-timeout= | \-t ] + [\-\-show\-command | \-s] + [\-\-dry\-run | \-d] + [\-\-raw\-binary | \-b] + [\-\-prefill= | \-p ] + [\-\-latency | \-T] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Submits an arbitrary NVMe admin command and returns the applicable results\&. This may be the simply the commands result and status, or may also include a buffer if the command returns one\&. This command does no interpretation of the opcodes or options\&. +.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 +On success, the returned structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may printed by the program as a hex dump, or may be returned as a raw buffer printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-O , \-\-opcode= +.RS 4 +The NVMe opcode to send to the device in the command +.RE +.PP +\-f , \-\-flags= +.RS 4 +The NVMe command flags to send to the device in the command +.RE +.PP +\-R , \-\-rsvd= +.RS 4 +The value for the reserved field in the command\&. +.RE +.PP +\-n , \-\-namespace\-id= +.RS 4 +The value for the ns\-id in the command\&. +.RE +.PP +\-[2\-9] , \-\-cdw[2\-3,10\-15]= +.RS 4 +Specifies the command dword value for that specified entry in the command +.RE +.PP +\-r, \-\-read, \-w, \-\-write +.RS 4 +Used for the data\-direction for the command and required for commands sending/receiving data\&. Don\(cqt use both read and write at the same time\&. +.RE +.PP +\-i , \-\-input\-file= +.RS 4 +If the command is a data\-out (write) command, use this file to fill the buffer sent to the device\&. If no file is given, assumed to use STDIN\&. +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +The data length for the buffer used for this command\&. +.RE +.PP +\-m , \-\-metadata\-len= +.RS 4 +The metadata length for the buffer used for this command\&. +.RE +.PP +\-s, \-\-show\-cmd +.RS 4 +Print out the command to be sent\&. +.RE +.PP +\-d, \-\-dry\-run +.RS 4 +Do not actually send the command\&. If want to use \-\-dry\-run option, \-\-show\-cmd option +\fImust\fR +be set\&. Otherwise \-\-dry\-run option will be +\fIignored\fR\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw returned buffer to stdout if the command returns a structure\&. +.RE +.PP +\-p, \-\-prefill +.RS 4 +Prefill the buffer with a predetermined byte value\&. Defaults to 0\&. This may be useful if the data you are writing is shorter than the required buffer, and you need to pad it with a known value\&. It may also be useful if you need to confirm if a device is overwriting a buffer for a data\-in command\&. +.RE +.PP +\-T, \-\-latency +.RS 4 +Print out the latency the IOCTL took (in us)\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +The following will run the admin command with opcode=6 and cdw10=1, which corresponds to an identify controller command\&. This example requires the data\-len param be 4096, which is the size of the returned structure\&. The \-r option is used because it is a data\-in command +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme admin\-passthru /dev/nvme0 \-\-opcode=06 \-\-data\-len=4096 \-\-cdw10=1 \-r +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Or if you want to save that structure to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme admin\-passthru /dev/nvme0 \-\-opcode=06 \-\-data\-len=4096 \-\-cdw10=1 \-r \-b > id_ns\&.raw +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-admin-passthru.html b/Documentation/nvme-admin-passthru.html new file mode 100644 index 0000000..7a4f6ac --- /dev/null +++ b/Documentation/nvme-admin-passthru.html @@ -0,0 +1,1034 @@ + + + + + + +nvme-admin-passthru(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme-admin-passthru <device> [--opcode=<opcode> | -O <opcode>]
+                        [--flags=<flags> | -f <flags>] [-rsvd=<rsvd> | -R <rsvd>]
+                        [--namespace-id=<nsid> | -n <nsid>] [--cdw2=<cdw2> | -2 <cdw2>]
+                        [--cdw3=<cdw3> | -3 <cdw3>] [--cdw10=<cdw10> | -4 <cdw4>]
+                        [--cdw11=<cdw11> | -5 <cdw5>] [--cdw12=<cdw12> | -6 <cdw6>]
+                        [--cdw13=<cdw13> | -7 <cdw7>] [--cdw14=<cdw14> | -8 <cdw8>]
+                        [--cdw15=<cdw15> | -9 <cdw9>]
+                        [--data-len=<data-len> | -l <data-len>]
+                        [--metadata-len=<len> | -m <len>]
+                        [--input-file=<file> | -i <file>]
+                        [--read | -r] [--write | -w]
+                        [--timeout=<to> | -t <to>]
+                        [--show-command | -s]
+                        [--dry-run | -d]
+                        [--raw-binary | -b]
+                        [--prefill=<prefill> | -p <prefill>]
+                        [--latency | -T]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Submits an arbitrary NVMe admin command and returns the applicable +results. This may be the simply the commands result and status, or may +also include a buffer if the command returns one. This command does no +interpretation of the opcodes or options.

+

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

+

On success, the returned structure (if applicable) may be returned in +one of several ways depending on the option flags; the structure may +printed by the program as a hex dump, or may be returned as a raw buffer +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-O <opcode> +
+
+--opcode=<opcode> +
+
+

+ The NVMe opcode to send to the device in the command +

+
+
+-f <flags> +
+
+--flags=<flags> +
+
+

+ The NVMe command flags to send to the device in the command +

+
+
+-R <rsvd> +
+
+--rsvd=<rsvd> +
+
+

+ The value for the reserved field in the command. +

+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ The value for the ns-id in the command. +

+
+
+-[2-9] <cdw> +
+
+--cdw[2-3,10-15]=<cdw> +
+
+

+ Specifies the command dword value for that specified entry in + the command +

+
+
+-r +
+
+--read +
+
+-w +
+
+--write +
+
+

+ Used for the data-direction for the command and required for + commands sending/receiving data. Don’t use both read and write + at the same time. +

+
+
+-i <file> +
+
+--input-file=<file> +
+
+

+ If the command is a data-out (write) command, use this file + to fill the buffer sent to the device. If no file is given, + assumed to use STDIN. +

+
+
+-l <data-len> +
+
+--data-len=<data-len> +
+
+

+ The data length for the buffer used for this command. +

+
+
+-m <data-len> +
+
+--metadata-len=<data-len> +
+
+

+ The metadata length for the buffer used for this command. +

+
+
+-s +
+
+--show-cmd +
+
+

+ Print out the command to be sent. +

+
+
+-d +
+
+--dry-run +
+
+

+ Do not actually send the command. If want to use --dry-run option, + --show-cmd option must be set. Otherwise --dry-run option will be + ignored. +

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

+ Print the raw returned buffer to stdout if the command returns + a structure. +

+
+
+-p +
+
+--prefill +
+
+

+ Prefill the buffer with a predetermined byte value. Defaults to 0. + This may be useful if the data you are writing is shorter + than the required buffer, and you need to pad it with a known + value. It may also be useful if you need to confirm if a device + is overwriting a buffer for a data-in command. +

+
+
+-T +
+
+--latency +
+
+

+ Print out the latency the IOCTL took (in us). +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +The following will run the admin command with opcode=6 and cdw10=1, which + corresponds to an identify controller command. This example requires the + data-len param be 4096, which is the size of the returned structure. The -r + option is used because it is a data-in command +

    +
    +
    +
    # nvme admin-passthru /dev/nvme0 --opcode=06 --data-len=4096 --cdw10=1 -r
    +
    +
  • +
  • +

    +Or if you want to save that structure to a file: +

    +
    +
    +
    # nvme admin-passthru /dev/nvme0 --opcode=06 --data-len=4096 --cdw10=1 -r -b > id_ns.raw
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-admin-passthru.txt b/Documentation/nvme-admin-passthru.txt new file mode 100644 index 0000000..22559db --- /dev/null +++ b/Documentation/nvme-admin-passthru.txt @@ -0,0 +1,146 @@ +nvme-admin-passthru(1) +====================== + +NAME +---- +nvme-admin-passthru - Submit an arbitrary admin command, return results + +SYNOPSIS +-------- +[verse] +'nvme-admin-passthru' [--opcode= | -O ] + [--flags= | -f ] [-rsvd= | -R ] + [--namespace-id= | -n ] [--cdw2= | -2 ] + [--cdw3= | -3 ] [--cdw10= | -4 ] + [--cdw11= | -5 ] [--cdw12= | -6 ] + [--cdw13= | -7 ] [--cdw14= | -8 ] + [--cdw15= | -9 ] + [--data-len= | -l ] + [--metadata-len= | -m ] + [--input-file= | -i ] + [--read | -r] [--write | -w] + [--timeout= | -t ] + [--show-command | -s] + [--dry-run | -d] + [--raw-binary | -b] + [--prefill= | -p ] + [--latency | -T] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Submits an arbitrary NVMe admin command and returns the applicable +results. This may be the simply the commands result and status, or may +also include a buffer if the command returns one. This command does no +interpretation of the opcodes or options. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned structure (if applicable) may be returned in +one of several ways depending on the option flags; the structure may +printed by the program as a hex dump, or may be returned as a raw buffer +printed to stdout for another program to parse. + +OPTIONS +------- +-O :: +--opcode=:: + The NVMe opcode to send to the device in the command + +-f :: +--flags=:: + The NVMe command flags to send to the device in the command + +-R :: +--rsvd=:: + The value for the reserved field in the command. + +-n :: +--namespace-id=:: + The value for the ns-id in the command. + +-[2-9] :: +--cdw[2-3,10-15]=:: + Specifies the command dword value for that specified entry in + the command + +-r:: +--read:: +-w:: +--write:: + Used for the data-direction for the command and required for + commands sending/receiving data. Don't use both read and write + at the same time. + +-i :: +--input-file=:: + If the command is a data-out (write) command, use this file + to fill the buffer sent to the device. If no file is given, + assumed to use STDIN. + +-l :: +--data-len=:: + The data length for the buffer used for this command. + +-m :: +--metadata-len=:: + The metadata length for the buffer used for this command. + +-s:: +--show-cmd:: + Print out the command to be sent. + +-d:: +--dry-run:: + Do not actually send the command. If want to use --dry-run option, + --show-cmd option _must_ be set. Otherwise --dry-run option will be + _ignored_. + +-b:: +--raw-binary:: + Print the raw returned buffer to stdout if the command returns + a structure. + +-p:: +--prefill:: + Prefill the buffer with a predetermined byte value. Defaults to 0. + This may be useful if the data you are writing is shorter + than the required buffer, and you need to pad it with a known + value. It may also be useful if you need to confirm if a device + is overwriting a buffer for a data-in command. + +-T:: +--latency:: + Print out the latency the IOCTL took (in us). + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* The following will run the admin command with opcode=6 and cdw10=1, which + corresponds to an identify controller command. This example requires the + data-len param be 4096, which is the size of the returned structure. The -r + option is used because it is a data-in command ++ +------------ +# nvme admin-passthru /dev/nvme0 --opcode=06 --data-len=4096 --cdw10=1 -r +------------ ++ + +* Or if you want to save that structure to a file: ++ +------------ +# nvme admin-passthru /dev/nvme0 --opcode=06 --data-len=4096 --cdw10=1 -r -b > id_ns.raw +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-ana-log.1 b/Documentation/nvme-ana-log.1 new file mode 100644 index 0000000..eb3042a --- /dev/null +++ b/Documentation/nvme-ana-log.1 @@ -0,0 +1,89 @@ +'\" t +.\" Title: nvme-ana-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ANA\-LOG" "1" "02/14/2024" "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-ana-log \- Send NVMe ANA log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme ana\-log\fR [\-\-groups | \-g] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Asymmetric Namespace Access log page from an NVMe device and provides the returned structure\&. +.sp +The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. +.sp +On success, the returned ANA log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-g, \-\-groups +.RS 4 +Return the list of ANA groups without the namespace listing\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the ANA log page in a human readable format: +.RE +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme ana\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-ana-log.html b/Documentation/nvme-ana-log.html new file mode 100644 index 0000000..2adec9f --- /dev/null +++ b/Documentation/nvme-ana-log.html @@ -0,0 +1,842 @@ + + + + + + +nvme-ana-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme ana-log <device> [--groups | -g]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Asymmetric Namespace Access log page from an NVMe device +and provides the returned structure.

+

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

+

On success, the returned ANA log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-g +
+
+--groups +
+
+

+ Return the list of ANA groups without the namespace listing. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the ANA log page in a human readable format: +

    +
  • +
+
+
+
# nvme ana-log /dev/nvme0
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-ana-log.txt b/Documentation/nvme-ana-log.txt new file mode 100644 index 0000000..92dc12a --- /dev/null +++ b/Documentation/nvme-ana-log.txt @@ -0,0 +1,50 @@ +nvme-ana-log(1) +=============== + +NAME +---- +nvme-ana-log - Send NVMe ANA log page request, returns result and log + +SYNOPSIS +-------- +[verse] +'nvme ana-log' [--groups | -g] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe Asymmetric Namespace Access log page from an NVMe device +and provides the returned structure. + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +On success, the returned ANA log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse. + +OPTIONS +------- +-g:: +--groups:: + Return the list of ANA groups without the namespace listing. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the ANA log page in a human readable format: +------------ +# nvme ana-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-attach-ns.1 b/Documentation/nvme-attach-ns.1 new file mode 100644 index 0000000..0eb5c2c --- /dev/null +++ b/Documentation/nvme-attach-ns.1 @@ -0,0 +1,90 @@ +'\" t +.\" Title: nvme-attach-ns +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ATTACH\-NS" "1" "02/14/2024" "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-attach-ns \- Send NVMe attach namespace, return result\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme attach\-ns\fR [\-\-namespace\-id= | \-n ] + [\-\-controllers= | \-c ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the nvme namespace attach command for the provided namespace identifier, attaching to the provided list of controller identifiers\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +The namespace identifier to attach\&. +.RE +.PP +\-c , \-controllers= +.RS 4 +The comma separated list of controller identifiers to attach the namespace too\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.if n \{\ +.RS 4 +.\} +.nf +Attach namespace to the controller: +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme attach\-ns /dev/nvme1 \-n 0x2 \-c 0x21 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-attach-ns.html b/Documentation/nvme-attach-ns.html new file mode 100644 index 0000000..eae3957 --- /dev/null +++ b/Documentation/nvme-attach-ns.html @@ -0,0 +1,848 @@ + + + + + + +nvme-attach-ns(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme attach-ns <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--controllers=<ctrl-list,> | -c <ctrl-list,>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the nvme namespace attach command for +the provided namespace identifier, attaching to the provided list of +controller identifiers.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ The namespace identifier to attach. +

+
+
+-c <ctrl-list,> +
+
+-controllers=<ctrl-list,> +
+
+

+ The comma separated list of controller identifiers to attach + the namespace too. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
+
+
Attach namespace to the controller:
+
+
+
+
# nvme attach-ns /dev/nvme1 -n 0x2 -c 0x21
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-attach-ns.txt b/Documentation/nvme-attach-ns.txt new file mode 100644 index 0000000..601c20d --- /dev/null +++ b/Documentation/nvme-attach-ns.txt @@ -0,0 +1,49 @@ +nvme-attach-ns(1) +================= + +NAME +---- +nvme-attach-ns - Send NVMe attach namespace, return result. + +SYNOPSIS +-------- +[verse] +'nvme attach-ns' [--namespace-id= | -n ] + [--controllers= | -c ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends the nvme namespace attach command for +the provided namespace identifier, attaching to the provided list of +controller identifiers. + +OPTIONS +------- +-n :: +--namespace-id=:: + The namespace identifier to attach. + +-c :: +-controllers=:: + The comma separated list of controller identifiers to attach + the namespace too. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- + Attach namespace to the controller: + + # nvme attach-ns /dev/nvme1 -n 0x2 -c 0x21 + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-boot-part-log.1 b/Documentation/nvme-boot-part-log.1 new file mode 100644 index 0000000..6bbd3a3 --- /dev/null +++ b/Documentation/nvme-boot-part-log.1 @@ -0,0 +1,95 @@ +'\" t +.\" Title: nvme-boot-part-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-BOOT\-PART\-LO" "1" "02/14/2024" "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-boot-part-log \- Retrieves a Boot Partition log page from an NVMe device +.SH "SYNOPSIS" +.sp +.nf +\fInvme boot\-part\-log\fR [\-\-lsp= | \-s ] + [\-\-output\-file= | \-f ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves an Boot Partition log page from an NVMe device and provides the returned 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 +On success, the returned log structure will be in raw binary format \fIonly\fR with \-\-output\-file option which is mandatory\&. +.SH "OPTIONS" +.PP +\-s , \-\-lsp= +.RS 4 +The log specified field of LID\&. +.RE +.PP +\-f , \-\-output\-file= +.RS 4 +File name to which raw binary data will be saved to\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Retrieve Boot Partition data to boot_part_log\&.bin +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme boot\-part\-log /dev/nvme0 \-\-output\-file=boot_part_log\&.bin +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-boot-part-log.html b/Documentation/nvme-boot-part-log.html new file mode 100644 index 0000000..64a79e5 --- /dev/null +++ b/Documentation/nvme-boot-part-log.html @@ -0,0 +1,853 @@ + + + + + + +nvme-boot-part-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme boot-part-log <device> [--lsp=<field> | -s <field>]
+                        [--output-file=<file> | -f <file>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves an Boot Partition log page from an NVMe device and provides +the returned structure.

+

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

+

On success, the returned log structure will be in raw binary format only with +--output-file option which is mandatory.

+
+
+
+

OPTIONS

+
+
+
+-s <field> +
+
+--lsp=<field> +
+
+

+ The log specified field of LID. +

+
+
+-f <file> +
+
+--output-file=<file> +
+
+

+ File name to which raw binary data will be saved to. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Retrieve Boot Partition data to boot_part_log.bin +

    +
    +
    +
    # nvme boot-part-log /dev/nvme0 --output-file=boot_part_log.bin
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-boot-part-log.txt b/Documentation/nvme-boot-part-log.txt new file mode 100644 index 0000000..0999071 --- /dev/null +++ b/Documentation/nvme-boot-part-log.txt @@ -0,0 +1,55 @@ +nvme-boot-part-log(1) +===================== + +NAME +---- +nvme-boot-part-log - Retrieves a Boot Partition log page from an NVMe device + +SYNOPSIS +-------- +[verse] +'nvme boot-part-log' [--lsp= | -s ] + [--output-file= | -f ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves an Boot Partition log page from an NVMe device and provides +the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned log structure will be in raw binary format _only_ with +--output-file option which is mandatory. + +OPTIONS +------- +-s :: +--lsp=:: + The log specified field of LID. + +-f :: +--output-file=:: + File name to which raw binary data will be saved to. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Retrieve Boot Partition data to boot_part_log.bin ++ +------------ +# nvme boot-part-log /dev/nvme0 --output-file=boot_part_log.bin +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-capacity-mgmt.1 b/Documentation/nvme-capacity-mgmt.1 new file mode 100644 index 0000000..19593c4 --- /dev/null +++ b/Documentation/nvme-capacity-mgmt.1 @@ -0,0 +1,86 @@ +'\" t +.\" Title: nvme-capacity-mgmt +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-CAPACITY\-MGMT" "1" "02/14/2024" "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-capacity-mgmt \- Send capacity management command to configure/create/delete Endurance Groups or NVM Sets, returns results\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme capacity\-mgmt\fR [\-\-operation= | \-O ] + [\-\-element\-id= | \-i ] + [\-\-cap\-lower= | \-l ] + [\-\-cap\-upper= | \-u ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends a capacity management command to configure/create/delete the Endurance Groups or NVM Sets with the requested operation and element_id\&. On success, if the Operation is Create Endurance group or NVM Set, CQE CDW0 contains Created element identifier else CQE CDW0 is reserved\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-O , \-\-operation= +.RS 4 +Operation to be performed by the controller +.RE +.PP +\-i , \-\-element\-id= +.RS 4 +Value specific to the value of the Operation field\&. +.RE +.PP +\-l , \-\-cap\-lower= +.RS 4 +Least significant 32 bits of the capacity in bytes of the Endurance Group or NVM Set to be created +.RE +.PP +\-u , \-\-cap\-upper= +.RS 4 +Most significant 32 bits of the capacity in bytes of the Endurance Group or NVM Set to be created +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples provided yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-capacity-mgmt.html b/Documentation/nvme-capacity-mgmt.html new file mode 100644 index 0000000..29cc903 --- /dev/null +++ b/Documentation/nvme-capacity-mgmt.html @@ -0,0 +1,870 @@ + + + + + + +nvme-capacity-mgmt(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme capacity-mgmt <device> [--operation=<operation> | -O <operation>]
+                        [--element-id=<element-id> | -i <element-id>]
+                        [--cap-lower=<cap-lower> | -l <cap-lower>]
+                        [--cap-upper=<cap-upper> | -u <cap-upper>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends a capacity management command to +configure/create/delete the Endurance Groups or NVM Sets with the requested +operation and element_id. On success, if the Operation is Create Endurance +group or NVM Set, CQE CDW0 contains Created element identifier else CQE CDW0 is +reserved.

+

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

+
+
+
+

OPTIONS

+
+
+
+-O <operation> +
+
+--operation=<operation> +
+
+

+ Operation to be performed by the controller +

+
+
+-i <element-id> +
+
+--element-id=<element-id> +
+
+

+ Value specific to the value of the Operation field. +

+
+
+-l <cap-lower> +
+
+--cap-lower=<cap-lower> +
+
+

+ Least significant 32 bits of the capacity in bytes of the Endurance Group or + NVM Set to be created +

+
+
+-u <cap-upper> +
+
+--cap-upper=<cap-upper> +
+
+

+ Most significant 32 bits of the capacity in bytes of the Endurance Group or + NVM Set to be created +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples provided yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-capacity-mgmt.txt b/Documentation/nvme-capacity-mgmt.txt new file mode 100644 index 0000000..a20561f --- /dev/null +++ b/Documentation/nvme-capacity-mgmt.txt @@ -0,0 +1,64 @@ +nvme-capacity-mgmt(1) +===================== + +NAME +---- +nvme-capacity-mgmt - Send capacity management command to configure/create/delete +Endurance Groups or NVM Sets, returns results. + +SYNOPSIS +-------- +[verse] +'nvme capacity-mgmt' [--operation= | -O ] + [--element-id= | -i ] + [--cap-lower= | -l ] + [--cap-upper= | -u ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends a capacity management command to +configure/create/delete the Endurance Groups or NVM Sets with the requested +operation and element_id. On success, if the Operation is Create Endurance +group or NVM Set, CQE CDW0 contains Created element identifier else CQE CDW0 is +reserved. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-O :: +--operation=:: + Operation to be performed by the controller + +-i :: +--element-id=:: + Value specific to the value of the Operation field. + +-l :: +--cap-lower=:: + Least significant 32 bits of the capacity in bytes of the Endurance Group or + NVM Set to be created + +-u :: +--cap-upper=:: + Most significant 32 bits of the capacity in bytes of the Endurance Group or + NVM Set to be created + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples provided yet. + +NVME +---- +Part of the nvme-user suite \ No newline at end of file diff --git a/Documentation/nvme-changed-ns-list-log.1 b/Documentation/nvme-changed-ns-list-log.1 new file mode 100644 index 0000000..2ab0d3b --- /dev/null +++ b/Documentation/nvme-changed-ns-list-log.1 @@ -0,0 +1,112 @@ +'\" t +.\" Title: nvme-changed-ns-list-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-CHANGED\-NS\-L" "1" "02/14/2024" "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-changed-ns-list-log \- Send NVMe Changed Namespace List log page request, returns result and log\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme changed\-ns\-list\-log\fR [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Changed Namespace List log page from an NVMe device and provides the returned structure\&. +.sp +The parameter is mandatory and must be a NVMe character device (ex: /dev/nvme0)\&. +.sp +On success, the returned Changed Namespace List log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw Changed Namespace List log buffer to stdout\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the Changed Namespace List Log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme changed\-ns\-list\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw Changed Namespace List log to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme changed\-ns\-list\-log /dev/nvme0 \-\-raw\-binary > log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-changed-ns-list-log.html b/Documentation/nvme-changed-ns-list-log.html new file mode 100644 index 0000000..2b7aa28 --- /dev/null +++ b/Documentation/nvme-changed-ns-list-log.html @@ -0,0 +1,853 @@ + + + + + + +nvme-changed-ns-list-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme changed-ns-list-log <device> [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Changed Namespace List log page from an NVMe device and +provides the returned structure.

+

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

+

On success, the returned Changed Namespace List log structure may be +returned in one of several ways depending on the option flags; the +structure may parsed by the program and printed in a readable format or +the raw buffer may be printed to stdout for another program to parse.

+
+
+
+

OPTIONS

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

+ Print the raw Changed Namespace List log buffer to stdout. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the Changed Namespace List Log page in a human readable format: +

    +
    +
    +
    # nvme changed-ns-list-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw Changed Namespace List log to a file: +

    +
    +
    +
    # nvme changed-ns-list-log /dev/nvme0 --raw-binary > log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-changed-ns-list-log.txt b/Documentation/nvme-changed-ns-list-log.txt new file mode 100644 index 0000000..22e552f --- /dev/null +++ b/Documentation/nvme-changed-ns-list-log.txt @@ -0,0 +1,62 @@ +nvme-changed-ns-list-log(1) +=========================== + +NAME +---- +nvme-changed-ns-list-log - Send NVMe Changed Namespace List log page +request, returns result and log. + +SYNOPSIS +-------- +[verse] +'nvme changed-ns-list-log' [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe Changed Namespace List log page from an NVMe device and +provides the returned structure. + +The parameter is mandatory and must be a NVMe character device +(ex: /dev/nvme0). + +On success, the returned Changed Namespace List log structure may be +returned in one of several ways depending on the option flags; the +structure may parsed by the program and printed in a readable format or +the raw buffer may be printed to stdout for another program to parse. + +OPTIONS +------- +-b:: +--raw-binary:: + Print the raw Changed Namespace List log buffer to stdout. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the Changed Namespace List Log page in a human readable format: ++ +------------ +# nvme changed-ns-list-log /dev/nvme0 +------------ ++ + +* Print the raw Changed Namespace List log to a file: ++ +------------ +# nvme changed-ns-list-log /dev/nvme0 --raw-binary > log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-check-dhchap-key.1 b/Documentation/nvme-check-dhchap-key.1 new file mode 100644 index 0000000..df8df21 --- /dev/null +++ b/Documentation/nvme-check-dhchap-key.1 @@ -0,0 +1,51 @@ +'\" t +.\" Title: nvme-check-dhchap-key +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 11/25/2021 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-CHECK\-DHCHAP\" "1" "11/25/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-check-dhchap-key \- Check a generated host DH\-HMAC\-CHAP key +.SH "SYNOPSIS" +.sp +.nf +\fInvme check\-dhchap\-key\fR [\-\-key= ] +.fi +.SH "DESCRIPTION" +.sp +Checks if the key is a valid DH\-HMAC\-CHAP host key of the form: DHHC\-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n: and prints it to stdout\&. +.SH "OPTIONS" +.PP +\-k , \-\-key= +.RS 4 +Key to be checked\&. +.RE +.SH "EXAMPLES" +.sp +No Examples +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-check-dhchap-key.html b/Documentation/nvme-check-dhchap-key.html new file mode 100644 index 0000000..927ed7e --- /dev/null +++ b/Documentation/nvme-check-dhchap-key.html @@ -0,0 +1,800 @@ + + + + + +nvme-check-dhchap-key(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme check-dhchap-key [--key=<key> ]
+
+
+
+
+
+

DESCRIPTION

+
+

Checks if the key is a valid DH-HMAC-CHAP host key of the form: +DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n: +and prints it to stdout.

+
+
+
+

OPTIONS

+
+
+
+-k <key> +
+
+--key=<key> +
+
+

+ Key to be checked. +

+
+
+
+
+
+

EXAMPLES

+
+

No Examples

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-check-dhchap-key.txt b/Documentation/nvme-check-dhchap-key.txt new file mode 100644 index 0000000..b131afe --- /dev/null +++ b/Documentation/nvme-check-dhchap-key.txt @@ -0,0 +1,41 @@ +nvme-check-dhchap-key(1) +======================== + +NAME +---- +nvme-check-dhchap-key - Check a generated host DH-HMAC-CHAP key + +SYNOPSIS +-------- +[verse] +'nvme check-dhchap-key' [--key=] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Checks if the key is a valid DH-HMAC-CHAP host key of the form: +DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n: +and prints it to stdout. + +OPTIONS +------- +-k :: +--key=:: + Key to be checked. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No Examples + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-check-tls-key.txt b/Documentation/nvme-check-tls-key.txt new file mode 100644 index 0000000..2df4fca --- /dev/null +++ b/Documentation/nvme-check-tls-key.txt @@ -0,0 +1,79 @@ +nvme-check-tls-key(1) +======================== + +NAME +---- +nvme-check-tls-key - Check a generated NVMe TLS PSK + +SYNOPSIS +-------- +[verse] +'nvme check-tls-key' [--keyring= | -k ] + [--keytype= | -t ] + [--hostnqn= | -n ] + [--subsysnqn= | -c ] + [--keydata= | -d ] + [--output-format= | -o ] + [--identity= | -I ] + [--insert | -i ] + [--verbose | -v] + +DESCRIPTION +----------- +Checks if the key is a valid NVMe TLS PSK in the PSK interchange format +'NVMeTLSkey-1:01::'. If '--insert' is specified the +the derived 'retained' TLS key is stored in the keyring, otherwise the +TLS identity of the key is printed out. + +OPTIONS +------- +-k :: +--keyring=:: + Name of the keyring into which the 'retained' TLS key should be + stored. Default is '.nvme'. + +-t :: +--keytype=:: + Type of the key for resulting TLS key. + Default is 'psk'. + +-n :: +--hostnqn=:: + Host NVMe Qualified Name (NQN) to be used to derive the + 'retained' TLS key + +-c :: +--subsysnqn=:: + Subsystem NVMe Qualified Name (NQN) to be used to derive the + 'retained' TLS key + +-d :: +--keydata=:: + Key to be checked. + +-I :: +--identity=:: + NVMe TLS key identity version to be used; '0' for the default + identity, and '1' for the TLS identity suffixed by the PSK hash + as specified in TP8018. + +-i: +--insert: + Insert the derived 'retained' key in the keyring. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No Examples + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-cmdset-ind-id-ns.1 b/Documentation/nvme-cmdset-ind-id-ns.1 new file mode 100644 index 0000000..7d6053d --- /dev/null +++ b/Documentation/nvme-cmdset-ind-id-ns.1 @@ -0,0 +1,147 @@ +'\" t +.\" Title: nvme-cmdset-ind-id-ns +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-CMDSET\-IND\-I" "1" "02/14/2024" "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-cmdset-ind-id-ns \- Send NVMe I/O Command Set Independent Identify Namespace, return result and structure\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme cmdset\-ind\-id\-ns\fR [\-\-namespace\-id= | \-n ] + [\-\-raw\-binary | \-b] [\-\-human\-readable | \-H] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an I/O Command Set Independent identify namespace command and provides the result and returned 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)\&. If the character device is given, the \*(Aq\-\-namespace\-id\*(Aq option is mandatory, otherwise it will use the ns\-id of the namespace for the block device you opened\&. For block devices, the ns\-id used can be overridden with the same option\&. +.sp +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Retrieve the identify namespace structure for the given nsid\&. This is required for the character devices, or overrides the block nsid if given\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme cmdset\-ind\-id\-ns /dev/nvme0n1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +If using the character device or overriding namespace id: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme cmdset\-ind\-id\-ns /dev/nvme0 \-n 1 +# nvme cmdset\-ind\-id\-ns /dev/nvme0n1 \-n 1 +# nvme cmdset\-ind\-id\-ns /dev/nvme0 \-\-namespace\-id=1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program return the raw structure in binary: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme cmdset\-ind\-id\-ns /dev/nvme0n1 \-\-raw\-binary > id_ns\&.raw +# nvme cmdset\-ind\-id\-ns /dev/nvme0n1 \-b > id_ns\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-cmdset-ind-id-ns.html b/Documentation/nvme-cmdset-ind-id-ns.html new file mode 100644 index 0000000..59a36f0 --- /dev/null +++ b/Documentation/nvme-cmdset-ind-id-ns.html @@ -0,0 +1,896 @@ + + + + + + +nvme-cmdset-ind-id-ns(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme cmdset-ind-id-ns <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--raw-binary | -b] [--human-readable | -H]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an I/O Command Set Independent +identify namespace command and provides the result and returned structure.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the character device is given, the '--namespace-id' option is +mandatory, otherwise it will use the ns-id of the namespace for the block +device you opened. For block devices, the ns-id used can be overridden +with the same option.

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Retrieve the identify namespace structure for the given nsid. This + is required for the character devices, or overrides the block nsid + if given. +

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

+ Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. +

+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme cmdset-ind-id-ns /dev/nvme0n1
    +
    +
  • +
  • +

    +If using the character device or overriding namespace id: +

    +
    +
    +
    # nvme cmdset-ind-id-ns /dev/nvme0 -n 1
    +# nvme cmdset-ind-id-ns /dev/nvme0n1 -n 1
    +# nvme cmdset-ind-id-ns /dev/nvme0 --namespace-id=1
    +
    +
  • +
  • +

    +Have the program return the raw structure in binary: +

    +
    +
    +
    # nvme cmdset-ind-id-ns /dev/nvme0n1 --raw-binary > id_ns.raw
    +# nvme cmdset-ind-id-ns /dev/nvme0n1 -b > id_ns.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-cmdset-ind-id-ns.txt b/Documentation/nvme-cmdset-ind-id-ns.txt new file mode 100644 index 0000000..5bf3862 --- /dev/null +++ b/Documentation/nvme-cmdset-ind-id-ns.txt @@ -0,0 +1,88 @@ +nvme-cmdset-ind-id-ns(1) +======================== + +NAME +---- +nvme-cmdset-ind-id-ns - Send NVMe I/O Command Set Independent Identify Namespace, return result and structure. + +SYNOPSIS +-------- +[verse] +'nvme cmdset-ind-id-ns' [--namespace-id= | -n ] + [--raw-binary | -b] [--human-readable | -H] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an I/O Command Set Independent +identify namespace command and provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the character device is given, the `'--namespace-id'` option is +mandatory, otherwise it will use the ns-id of the namespace for the block +device you opened. For block devices, the ns-id used can be overridden +with the same option. + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-n :: +--namespace-id=:: + Retrieve the identify namespace structure for the given nsid. This + is required for the character devices, or overrides the block nsid + if given. + +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. + +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme cmdset-ind-id-ns /dev/nvme0n1 +------------ ++ + +* If using the character device or overriding namespace id: ++ +------------ +# nvme cmdset-ind-id-ns /dev/nvme0 -n 1 +# nvme cmdset-ind-id-ns /dev/nvme0n1 -n 1 +# nvme cmdset-ind-id-ns /dev/nvme0 --namespace-id=1 +------------ ++ + +* Have the program return the raw structure in binary: ++ +------------ +# nvme cmdset-ind-id-ns /dev/nvme0n1 --raw-binary > id_ns.raw +# nvme cmdset-ind-id-ns /dev/nvme0n1 -b > id_ns.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-compare.1 b/Documentation/nvme-compare.1 new file mode 100644 index 0000000..68b0f75 --- /dev/null +++ b/Documentation/nvme-compare.1 @@ -0,0 +1,229 @@ +'\" t +.\" Title: nvme-compare +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-COMPARE" "1" "02/14/2024" "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-compare \- Send an NVMe Compare command, provide results +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-compare\fR [\-\-start\-block= | \-s ] + [\-\-block\-count= | \-c ] + [\-\-data\-size= | \-z ] + [\-\-metadata\-size= | \-y ] + [\-\-ref\-tag= | \-r ] + [\-\-data= | \-d ] + [\-\-metadata= | \-M ] + [\-\-prinfo= | \-p ] + [\-\-app\-tag\-mask= | \-m ] + [\-\-app\-tag= | \-a ] + [\-\-limited\-retry | \-l] + [\-\-force\-unit\-access | \-f] + [\-\-dir\-type= | \-T ] + [\-\-dir\-spec= | \-S ] + [\-\-dsm= | \-D ] + [\-\-show\-command | \-V] + [\-\-dry\-run | \-w] + [\-\-latency | \-t] + [\-\-storage\-tag | \-g ] + [\-\-storage\-tag\-check | \-C] + [\-\-force] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Compare command reads the logical blocks specified by the command from the medium and compares the data read to a comparison data buffer transferred as part of the command\&. If the data read from the controller and the comparison data buffer are equivalent with no miscompares, then the command completes successfully\&. If there is any miscompare, the command completes with an error of Compare Failure\&. If metadata is provided, then a comparison is also performed for the metadata\&. +.SH "OPTIONS" +.PP +\-s , \-\-start\-block= +.RS 4 +64\-bit address of the first block to access\&. +.RE +.PP +\-c , \-\-block\-count= +.RS 4 +Number of blocks to be accessed (zero\-based)\&. +.RE +.PP +\-z , \-\-data\-size= +.RS 4 +Size of data to be compared in bytes\&. +.RE +.PP +\-y , \-\-metadata\-size= +.RS 4 +Size of metadata to be transferred in bytes\&. +.RE +.PP +\-r , \-\-ref\-tag= +.RS 4 +Reference Tag for Protection Information +.RE +.PP +\-d , \-\-data= +.RS 4 +Data file\&. +.RE +.PP +\-M , \-\-metadata= +.RS 4 +Metadata file\&. +.RE +.PP +\-p , \-\-prinfo= +.RS 4 +Protection Information and check field\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Bit +T}:T{ +Description +T} +T{ +3 +T}:T{ +PRACT: Protection Information Action\&. When set to 1, PI is stripped/inserted on read/write when the block format\(cqs metadata size is 8\&. When set to 0, metadata is passes\&. +T} +T{ +2:0 +T}:T{ +PRCHK: Protection Information Check: +T} +T{ +2 +T}:T{ +Set to 1 enables checking the guard tag +T} +T{ +1 +T}:T{ +Set to 1 enables checking the application tag +T} +T{ +0 +T}:T{ +Set to 1 enables checking the reference tag +T} +.TE +.sp 1 +.RE +.PP +\-m , \-\-app\-tag\-mask= +.RS 4 +App Tag Mask for Protection Information +.RE +.PP +\-a , \-\-app\-tag= +.RS 4 +App Tag for Protection Information +.RE +.PP +\-l, \-\-limited\-retry +.RS 4 +Number of limited attempts to media\&. +.RE +.PP +\-f, \-\-force\-unit\-access +.RS 4 +FUA option to guarantee that data is stored to media\&. +.RE +.PP +\-T , \-\-dir\-type= +.RS 4 +Optional directive type\&. The nvme\-cli only enforces the value be in the defined range for the directive type, though the NVMe specification (1\&.3a) defines only one directive, 01h, for write stream identifiers\&. +.RE +.PP +\-S , \-\-dir\-spec= +.RS 4 +Optional field for directive specifics\&. When used with write streams, this value is defined to be the write stream identifier\&. The nvme\-cli will not validate the stream requested is within the controller\(cqs capabilities\&. +.RE +.PP +\-D , \-\-dsm= +.RS 4 +The optional data set management attributes for this command\&. The argument for this is the least significant 8 bits of the DSM field in a write command; the most significant 16 bits of the field come from the directive specific field, if used\&. This may be used to set attributes for the LBAs being written, like access frequency, type, latency, among other things, as well as yet to be defined types\&. Please consult the NVMe specification for detailed breakdown of how to use this field\&. +.RE +.PP +\-V, \-\-show\-cmd +.RS 4 +Print out the command to be sent\&. +.RE +.PP +\-w, \-\-dry\-run +.RS 4 +Do not actually send the command\&. If want to use \-\-dry\-run option, \-\-show\-cmd option +\fImust\fR +be set\&. Otherwise \-\-dry\-run option will be +\fIignored\fR\&. +.RE +.PP +\-t, \-\-latency +.RS 4 +Print out the latency the IOCTL took (in us)\&. +.RE +.PP +\-g , \-\-storage\-tag= +.RS 4 +Variable Sized Expected Logical Block Storage Tag(ELBST)\&. +.RE +.PP +\-C, \-\-storage\-tag\-check +.RS 4 +This flag enables Storage Tag field checking as part of end\-to\-end data protection processing\&. +.RE +.PP +\-\-force +.RS 4 +Ignore namespace is currently busy and performed the operation even though\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-compare.html b/Documentation/nvme-compare.html new file mode 100644 index 0000000..e05cb8a --- /dev/null +++ b/Documentation/nvme-compare.html @@ -0,0 +1,1123 @@ + + + + + + +nvme-compare(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme-compare <device> [--start-block=<slba> | -s <slba>]
+                        [--block-count=<nlb> | -c <nlb>]
+                        [--data-size=<size> | -z <size>]
+                        [--metadata-size=<metasize> | -y <metasize>]
+                        [--ref-tag=<reftag> | -r <reftag>]
+                        [--data=<data-file> | -d <data-file>]
+                        [--metadata=<meta> | -M <meta>]
+                        [--prinfo=<prinfo> | -p <prinfo>]
+                        [--app-tag-mask=<appmask> | -m <appmask>]
+                        [--app-tag=<apptag> | -a <apptag>]
+                        [--limited-retry | -l]
+                        [--force-unit-access | -f]
+                        [--dir-type=<type> | -T <type>]
+                        [--dir-spec=<spec> | -S <spec>]
+                        [--dsm=<dsm> | -D <dsm>]
+                        [--show-command | -V]
+                        [--dry-run | -w]
+                        [--latency | -t]
+                        [--storage-tag<storage-tag> | -g <storage-tag>]
+                        [--storage-tag-check | -C]
+                        [--force]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Compare command reads the logical blocks specified by the command +from the medium and compares the data read to a comparison data buffer +transferred as part of the command. If the data read from the controller +and the comparison data buffer are equivalent with no miscompares, +then the command completes successfully. If there is any miscompare, +the command completes with an error of Compare Failure. If metadata is +provided, then a comparison is also performed for the metadata.

+
+
+
+

OPTIONS

+
+
+
+-s <slba> +
+
+--start-block=<slba> +
+
+

+ 64-bit address of the first block to access. +

+
+
+-c <nlb> +
+
+--block-count=<nlb> +
+
+

+ Number of blocks to be accessed (zero-based). +

+
+
+-z <size> +
+
+--data-size=<size> +
+
+

+ Size of data to be compared in bytes. +

+
+
+-y <metasize> +
+
+--metadata-size=<metasize> +
+
+

+ Size of metadata to be transferred in bytes. +

+
+
+-r <reftag> +
+
+--ref-tag=<reftag> +
+
+

+ Reference Tag for Protection Information +

+
+
+-d <data-file> +
+
+--data=<data-file> +
+
+

+ Data file. +

+
+
+-M <meta> +
+
+--metadata=<meta> +
+
+

+ Metadata file. +

+
+
+-p <prinfo> +
+
+--prinfo=<prinfo> +
+
+

+ Protection Information and check field. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + +

Bit

Description

3

PRACT: Protection Information Action. When set to 1, PI is stripped/inserted +on read/write when the block format’s metadata size is 8. When set to 0, +metadata is passes.

2:0

PRCHK: Protection Information Check:

2

Set to 1 enables checking the guard tag

1

Set to 1 enables checking the application tag

0

Set to 1 enables checking the reference tag

+
+
+
+-m <appmask> +
+
+--app-tag-mask=<appmask> +
+
+

+ App Tag Mask for Protection Information +

+
+
+-a <apptag> +
+
+--app-tag=<apptag> +
+
+

+ App Tag for Protection Information +

+
+
+-l +
+
+--limited-retry +
+
+

+ Number of limited attempts to media. +

+
+
+-f +
+
+--force-unit-access +
+
+

+ FUA option to guarantee that data is stored to media. +

+
+
+-T <type> +
+
+--dir-type=<type> +
+
+

+ Optional directive type. The nvme-cli only enforces the value + be in the defined range for the directive type, though the NVMe + specification (1.3a) defines only one directive, 01h, for write + stream identifiers. +

+
+
+-S <spec> +
+
+--dir-spec=<spec> +
+
+

+ Optional field for directive specifics. When used with + write streams, this value is defined to be the write stream + identifier. The nvme-cli will not validate the stream requested + is within the controller’s capabilities. +

+
+
+-D <dsm> +
+
+--dsm=<dsm> +
+
+

+ The optional data set management attributes for this command. The argument + for this is the least significant 8 bits of the DSM field in a write + command; the most significant 16 bits of the field come from the directive + specific field, if used. This may be used to set attributes for + the LBAs being written, like access frequency, type, latency, + among other things, as well as yet to be defined types. Please + consult the NVMe specification for detailed breakdown of how to + use this field. +

+
+
+-V +
+
+--show-cmd +
+
+

+ Print out the command to be sent. +

+
+
+-w +
+
+--dry-run +
+
+

+ Do not actually send the command. If want to use --dry-run option, + --show-cmd option must be set. Otherwise --dry-run option will be + ignored. +

+
+
+-t +
+
+--latency +
+
+

+ Print out the latency the IOCTL took (in us). +

+
+
+-g <storage-tag> +
+
+--storage-tag=<storage-tag> +
+
+

+ Variable Sized Expected Logical Block Storage Tag(ELBST). +

+
+
+-C +
+
+--storage-tag-check +
+
+

+ This flag enables Storage Tag field checking as part of end-to-end + data protection processing. +

+
+
+--force +
+
+

+ Ignore namespace is currently busy and performed the operation + even though. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-compare.txt b/Documentation/nvme-compare.txt new file mode 100644 index 0000000..59d1ea9 --- /dev/null +++ b/Documentation/nvme-compare.txt @@ -0,0 +1,172 @@ +nvme-compare(1) +=============== + +NAME +---- +nvme-compare - Send an NVMe Compare command, provide results + +SYNOPSIS +-------- +[verse] +'nvme-compare' [--start-block= | -s ] + [--block-count= | -c ] + [--data-size= | -z ] + [--metadata-size= | -y ] + [--ref-tag= | -r ] + [--data= | -d ] + [--metadata= | -M ] + [--prinfo= | -p ] + [--app-tag-mask= | -m ] + [--app-tag= | -a ] + [--limited-retry | -l] + [--force-unit-access | -f] + [--dir-type= | -T ] + [--dir-spec= | -S ] + [--dsm= | -D ] + [--show-command | -V] + [--dry-run | -w] + [--latency | -t] + [--storage-tag | -g ] + [--storage-tag-check | -C] + [--force] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Compare command reads the logical blocks specified by the command +from the medium and compares the data read to a comparison data buffer +transferred as part of the command. If the data read from the controller +and the comparison data buffer are equivalent with no miscompares, +then the command completes successfully. If there is any miscompare, +the command completes with an error of Compare Failure. If metadata is +provided, then a comparison is also performed for the metadata. + +OPTIONS +------- +-s :: +--start-block=:: + 64-bit address of the first block to access. + +-c :: +--block-count=:: + Number of blocks to be accessed (zero-based). + +-z :: +--data-size=:: + Size of data to be compared in bytes. + +-y :: +--metadata-size=:: + Size of metadata to be transferred in bytes. + +-r :: +--ref-tag=:: + Reference Tag for Protection Information + +-d :: +--data=:: + Data file. + +-M :: +--metadata=:: + Metadata file. + +-p :: +--prinfo=:: + Protection Information and check field. ++ +[] +|================= +|Bit|Description +|3|PRACT: Protection Information Action. When set to 1, PI is stripped/inserted +on read/write when the block format's metadata size is 8. When set to 0, +metadata is passes. +|2:0|PRCHK: Protection Information Check: +|2|Set to 1 enables checking the guard tag +|1|Set to 1 enables checking the application tag +|0|Set to 1 enables checking the reference tag +|================= + +-m :: +--app-tag-mask=:: + App Tag Mask for Protection Information + +-a :: +--app-tag=:: + App Tag for Protection Information + +-l:: +--limited-retry:: + Number of limited attempts to media. + +-f:: +--force-unit-access:: + FUA option to guarantee that data is stored to media. + +-T :: +--dir-type=:: + Optional directive type. The nvme-cli only enforces the value + be in the defined range for the directive type, though the NVMe + specification (1.3a) defines only one directive, 01h, for write + stream identifiers. + +-S :: +--dir-spec=:: + Optional field for directive specifics. When used with + write streams, this value is defined to be the write stream + identifier. The nvme-cli will not validate the stream requested + is within the controller's capabilities. + +-D :: +--dsm=:: + The optional data set management attributes for this command. The argument + for this is the least significant 8 bits of the DSM field in a write + command; the most significant 16 bits of the field come from the directive + specific field, if used. This may be used to set attributes for + the LBAs being written, like access frequency, type, latency, + among other things, as well as yet to be defined types. Please + consult the NVMe specification for detailed breakdown of how to + use this field. +-V:: +--show-cmd:: + Print out the command to be sent. + +-w:: +--dry-run:: + Do not actually send the command. If want to use --dry-run option, + --show-cmd option _must_ be set. Otherwise --dry-run option will be + _ignored_. + +-t:: +--latency:: + Print out the latency the IOCTL took (in us). + +-g :: +--storage-tag=:: + Variable Sized Expected Logical Block Storage Tag(ELBST). + +-C:: +--storage-tag-check:: + This flag enables Storage Tag field checking as part of end-to-end + data protection processing. + +--force:: + Ignore namespace is currently busy and performed the operation + even though. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-config.txt b/Documentation/nvme-config.txt new file mode 100644 index 0000000..8a66644 --- /dev/null +++ b/Documentation/nvme-config.txt @@ -0,0 +1,213 @@ +nvme-config(1) +=============== + +NAME +---- +nvme-config - NVMe-over-Fabrics configuration. + +SYNOPSIS +-------- +[verse] +'nvme config' [--scan | -R] [--modify | -M] [--update | -U] [--dump | -O] + [--config= | -J ] + [--transport= | -t ] + [--nqn= | -n ] + [--traddr= | -a ] + [--trsvcid= | -s ] + [--host-traddr= | -w ] + [--host-iface= | -f ] + [--hostnqn= | -q ] + [--hostid= | -I ] + [--dhchap-secret= | -S ] + [--dhchap-ctrl-secret= | -C ] + [--nr-io-queues=<#> | -i <#>] + [--nr-write-queues=<#> | -W <#>] + [--nr-poll-queues=<#> | -P <#>] + [--queue-size=<#> | -Q <#>] + [--keep-alive-tmo=<#> | -k <#>] + [--reconnect-delay=<#> | -c <#>] + [--ctrl-loss-tmo=<#> | -l <#>] + [--duplicate-connect | -D] [--disable-sqflow | -d] + [--hdr-digest | -g] [--data-digest | -G] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Read in the NVMe over Fabrics configuration from the specified JSON +configuration file and allow to update or modify the contents. +The JSON configuration file format is documented in +https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json + +OPTIONS +------- +-R:: +--scan:: + Additionally read the current configuration from sysfs. + +-M:: +--modify:: + Add or modify entries in the configuration based on the values from + the commandline. + +-U:: +--update:: + Write updated configuration into the JSON configuration file. + +-O:: +--dump:: + Print out resulting JSON configuration file to stdout. + +-J :: +--config=:: + Use the specified JSON configuration file instead of the + default @SYSCONFDIR@/nvme/config.json file or 'none' to not read in + an existing configuration file. + +-t :: +--transport=:: + This field specifies the network fabric being used for + a NVMe-over-Fabrics network. Current string values include: ++ +[] +|================= +|Value|Definition +|rdma|The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) +|fc |The network fabric is a Fibre Channel network. +|tcp |The network fabric is a TCP/IP network. +|loop|Connect to a NVMe over Fabrics target on the local host +|================= + +-n :: +--nqn :: + This field specifies the name for the NVMe subsystem to connect to. + +-a :: +--traddr=:: + This field specifies the network address of the Controller. + For transports using IP addressing (e.g. rdma) this should be an + IP-based address (ex. IPv4). + +-s :: +--trsvcid=:: + This field specifies the transport service id. For transports using IP + addressing (e.g. rdma) this field is the port number. By default, the IP + port number for the RDMA transport is 4420. + +-w :: +--host-traddr=:: + This field specifies the network address used on the host to connect + to the Controller. For TCP, this sets the source address on the socket. + +-f :: +--host-iface=:: + This field specifies the network interface used on the host to connect + to the Controller (e.g. IP eth1, enp2s0, enx78e7d1ea46da). This forces + the connection to be made on a specific interface instead of letting + the system decide. + +-q :: +--hostnqn=:: + Overrides the default Host NQN that identifies the NVMe Host. + If this option is not specified, the default is read from + @SYSCONFDIR@/nvme/hostnqn first. If that does not exist, the autogenerated + NQN value from the NVMe Host kernel module is used next. + The Host NQN uniquely identifies the NVMe Host. + +-I :: +--hostid=:: + UUID(Universally Unique Identifier) to be discovered which should be + formatted. + +-S :: +--dhchap-secret=:: + NVMe In-band authentication secret; needs to be in ASCII format as + specified in NVMe 2.0 section 8.13.5.8 'Secret representation'. + If this option is not specified, the default is read from + @SYSCONFDIR@/nvme/hostkey. If that does not exist no in-band authentication + is attempted. + +-C :: +--dhchap-ctrl-secret=:: + NVMe In-band authentication controller secret for bi-directional + authentication; needs to be in ASCII format as + specified in NVMe 2.0 section 8.13.5.8 'Secret representation'. + If not present bi-directional authentication is not attempted. + +-i <#>:: +--nr-io-queues=<#>:: + Overrides the default number of I/O queues create by the driver. + +-W <#>:: +--nr-write-queues=<#>:: + Adds additional queues that will be used for write I/O. + +-P <#>:: +--nr-poll-queues=<#>:: + Adds additional queues that will be used for polling latency sensitive I/O. + +-Q <#>:: +--queue-size=<#>:: + Overrides the default number of elements in the I/O queues created + by the driver. + +-k <#>:: +--keep-alive-tmo=<#>:: + Overrides the default keep alive timeout (in seconds). + +-c <#>:: +--reconnect-delay=<#>:: + Overrides the default delay (in seconds) before reconnect is attempted + after a connect loss. + +-l <#>:: +--ctrl-loss-tmo=<#>:: + Overrides the default controller loss timeout period (in seconds). + +-D:: +--duplicate-connect:: + Allows duplicated connections between same transport host and subsystem + port. + +-d:: +--disable-sqflow:: + Disables SQ flow control to omit head doorbell update for submission + queues when sending nvme completions. + +-g:: +--hdr-digest:: + Generates/verifies header digest (TCP). + +-G:: +--data-digest:: + Generates/verifies data digest (TCP). + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Read the current system configuration and write the contents to /tmp/config.json: ++ +------------ +# nvme config --config /tmp/config.json --scan --update +------------ + +SEE ALSO +-------- +nvme-discover(1) +nvme-connect(1) +https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json + +AUTHORS +------- +This was written by mailto:hare@suse.com[Hannes Reinecke] + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-connect-all.1 b/Documentation/nvme-connect-all.1 new file mode 100644 index 0000000..3ee4f6d --- /dev/null +++ b/Documentation/nvme-connect-all.1 @@ -0,0 +1,385 @@ +'\" t +.\" Title: nvme-connect-all +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-CONNECT\-ALL" "1" "02/14/2024" "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-connect-all \- Discover and Connect to Fabrics controllers\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme connect\-all\fR [\-\-transport= | \-t ] + [\-\-nqn= | \-n ] + [\-\-traddr= | \-a ] + [\-\-trsvcid= | \-s ] + [\-\-host\-traddr= | \-w ] + [\-\-host\-iface= | \-f ] + [\-\-hostnqn= | \-q ] + [\-\-hostid= | \-I ] + [\-\-raw= | \-r ] + [\-\-device= | \-d ] + [\-\-config= | \-J ] + [\-\-keep\-alive\-tmo= | \-k ] + [\-\-reconnect\-delay=<#> | \-c <#>] + [\-\-ctrl\-loss\-tmo=<#> | \-l <#>] + [\-\-nr\-io\-queues=<#> | \-i <#>] + [\-\-nr\-write\-queues=<#> | \-W <#>] + [\-\-nr\-poll\-queues=<#> | \-P <#>] + [\-\-queue\-size=<#> | \-Q <#>] [\-\-keyring=<#>] + [\-\-tls_key=<#>] [\-\-hdr\-digest | \-g] [\-\-data\-digest | \-G] + [\-\-persistent | \-p] [\-\-tls] [\-\-concat] [\-\-quiet | \-S] + [\-\-dump\-config | \-O] [\-\-nbft] [\-\-no\-nbft] + [\-\-nbft\-path=] [\-\-context=] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Send one or more Discovery requests to a NVMe over Fabrics Discovery Controller, and create controllers for the returned discovery records\&. +.sp +If no parameters are given, then \fInvme connect\-all\fR will attempt to find a /usr/local/etc/nvme/discovery\&.conf file to use to supply a list of connect\-all commands to run\&. If no /usr/local/etc/nvme/discovery\&.conf file exists, the command will quit with an error\&. +.sp +Otherwise a specific Discovery Controller should be specified using the \-\-transport, \-\-traddr and if necessary the \-\-trsvcid and a Discovery request will be sent to the specified Discovery Controller\&. +.sp +See the documentation for the nvme\-discover(1) command for further background\&. +.SH "OPTIONS" +.PP +\-t , \-\-transport= +.RS 4 +This field specifies the network fabric being used for a NVMe\-over\-Fabrics network\&. Current string values include: +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +rdma +T}:T{ +The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) +T} +T{ +fc +T}:T{ +\fBWIP\fR +The network fabric is a Fibre Channel network\&. +T} +T{ +tcp +T}:T{ +The network fabric is a TCP/IP network\&. +T} +T{ +loop +T}:T{ +Connect to a NVMe over Fabrics target on the local host +T} +.TE +.sp 1 +.RE +.PP +\-n , \-\-nqn +.RS 4 +This field specifies the name for the NVMe subsystem to connect to\&. +.RE +.PP +\-a , \-\-traddr= +.RS 4 +This field specifies the network address of the Discovery Controller\&. For transports using IP addressing (e\&.g\&. rdma) this should be an IP\-based address (ex\&. IPv4)\&. +.RE +.PP +\-s , \-\-trsvcid= +.RS 4 +This field specifies the transport service id\&. For transports using IP addressing (e\&.g\&. rdma) this field is the port number\&. By default, the IP port number for the RDMA transport is 4420\&. +.RE +.PP +\-w , \-\-host\-traddr= +.RS 4 +This field specifies the network address used on the host to connect to the Controller\&. For TCP, this sets the source address on the socket\&. +.RE +.PP +\-f , \-\-host\-iface= +.RS 4 +This field specifies the network interface used on the host to connect to the Controller (e\&.g\&. IP eth1, enp2s0, enx78e7d1ea46da)\&. This forces the connection to be made on a specific interface instead of letting the system decide\&. +.RE +.PP +\-q , \-\-hostnqn= +.RS 4 +Overrides the default Host NQN that identifies the NVMe Host\&. If this option is not specified, the default is read from /usr/local/etc/nvme/hostnqn first\&. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next\&. The Host NQN uniquely identifies the NVMe Host, and may be used by the the Discovery Controller to control what NVMe Target resources are allocated to the NVMe Host for a connection\&. +.RE +.PP +\-I , \-\-hostid= +.RS 4 +UUID(Universally Unique Identifier) to be discovered which should be formatted\&. +.RE +.PP +\-r , \-\-raw= +.RS 4 +This field will take the output of the +\fInvme connect\-all\fR +command and dump it to a raw binary file\&. By default +\fInvme connect\-all\fR +will dump the output to stdout\&. +.RE +.PP +\-d , \-\-device= +.RS 4 +This field takes a device as input\&. It must be a persistent device associated with a Discovery Controller previously created by the command "connect\-all" or "discover"\&. follows the format nvme*, eg\&. nvme0, nvme1\&. +.RE +.PP +\-J , \-\-config= +.RS 4 +Use the specified JSON configuration file instead of the default /usr/local/etc/nvme/config\&.json file or +\fInone\fR +to not read in an existing configuration file\&. The JSON configuration file format is documented in +\m[blue]\fBhttps://github\&.com/linux\-nvme/libnvme/blob/master/doc/config\-schema\&.json\fR\m[] +.RE +.PP +\-k <#>, \-\-keep\-alive\-tmo=<#> +.RS 4 +Overrides the default keep alive timeout (in seconds)\&. This option will be ignored for discovery, but will be passed on to the subsequent connect call\&. +.RE +.PP +\-c <#>, \-\-reconnect\-delay=<#> +.RS 4 +Overrides the default delay (in seconds) before reconnect is attempted after a connect loss\&. +.RE +.PP +\-l <#>, \-\-ctrl\-loss\-tmo=<#> +.RS 4 +Overrides the default controller loss timeout period (in seconds)\&. +.RE +.PP +\-i <#>, \-\-nr\-io\-queues=<#> +.RS 4 +Overrides the default number of I/O queues create by the driver\&. This option will be ignored for discovery, but will be passed on to the subsequent connect call\&. +.RE +.PP +\-W <#>, \-\-nr\-write\-queues=<#> +.RS 4 +Adds additional queues that will be used for write I/O\&. +.RE +.PP +\-P <#>, \-\-nr\-poll\-queues=<#> +.RS 4 +Adds additional queues that will be used for polling latency sensitive I/O\&. +.RE +.PP +\-Q <#>, \-\-queue\-size=<#> +.RS 4 +Overrides the default number of elements in the I/O queues created by the driver\&. This option will be ignored for discovery, but will be passed on to the subsequent connect call\&. +.RE +.PP +\-\-keyring=<#> +.RS 4 +Keyring for TLS key lookup\&. +.RE +.PP +\-\-tls_key=<#> +.RS 4 +TLS key for the connection (TCP)\&. +.RE +.PP +\-g, \-\-hdr\-digest +.RS 4 +Generates/verifies header digest (TCP)\&. +.RE +.PP +\-G, \-\-data\-digest +.RS 4 +Generates/verifies data digest (TCP)\&. +.RE +.PP +\-p, \-\-persistent +.RS 4 +Don\(cqt remove the discovery controller after retrieving the discovery log page\&. +.RE +.PP +\-\-tls +.RS 4 +Enable TLS encryption (TCP)\&. +.RE +.PP +\-\-concat +.RS 4 +Enable secure concatenation (TCP)\&. +.RE +.PP +\-S, \-\-quiet +.RS 4 +Suppress error messages\&. +.RE +.PP +\-O, \-\-dump\-config +.RS 4 +Print out resulting JSON configuration file to stdout\&. +.RE +.PP +\-\-nbft +.RS 4 +Only look at NBFT tables +.RE +.PP +\-\-no\-nbft +.RS 4 +Do not look at NBFT tables +.RE +.PP +\-\-nbft\-path= +.RS 4 +Use a user\-defined path to the NBFT tables +.RE +.PP +\-\-context +.RS 4 +Set the execution context to \&. This allows to coordinate the management of the global resources\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Connect to all records returned by the Discover Controller with IP4 address 192\&.168\&.1\&.3 for all resources allocated for NVMe Host name host1\-rogue\-nqn on the RDMA network\&. Port 4420 is used by default: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme connect\-all \-\-transport=rdma \-\-traddr=192\&.168\&.1\&.3 \e +\-\-hostnqn=host1\-rogue\-nqn +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Issue a +\fInvme connect\-all\fR +command using the default system defined NBFT tables: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme connect\-all \-\-nbft +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Issue a +\fInvme connect\-all\fR +command with a user\-defined path for the NBFT table: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme connet\-all \-\-nbft\-path=/sys/firmware/acpi/tables/NBFT1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Issue a +\fInvme connect\-all\fR +command using a /usr/local/etc/nvme/discovery\&.conf file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# Machine default \*(Aqnvme discover\*(Aq commands\&. Query the +# Discovery Controller\*(Aqs two ports (some resources may only +# be accessible on a single port)\&. Note an official +# nqn (Host) name defined in the NVMe specification is being used +# in this example\&. +\-t rdma \-a 192\&.168\&.69\&.33 \-s 4420 \-q nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 +\-t rdma \-a 192\&.168\&.1\&.4 \-s 4420 \-q nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 + +At the prompt type "nvme connect\-all"\&. +.fi +.if n \{\ +.RE +.\} +.RE +.SH "SEE ALSO" +.sp +nvme\-discover(1) nvme\-connect(1) +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-connect-all.html b/Documentation/nvme-connect-all.html new file mode 100644 index 0000000..5a3ef23 --- /dev/null +++ b/Documentation/nvme-connect-all.html @@ -0,0 +1,1283 @@ + + + + + + +nvme-connect-all(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme connect-all [--transport=<trtype> | -t <trtype>]
+                        [--nqn=<subnqn> | -n <subnqn>]
+                        [--traddr=<traddr> | -a <traddr>]
+                        [--trsvcid=<trsvcid> | -s <trsvcid>]
+                        [--host-traddr=<traddr> | -w <traddr>]
+                        [--host-iface=<iface> | -f <iface>]
+                        [--hostnqn=<hostnqn> | -q <hostnqn>]
+                        [--hostid=<hostid> | -I <hostid>]
+                        [--raw=<filename> | -r <filename>]
+                        [--device=<device> | -d <device>]
+                        [--config=<filename> | -J <cfg>]
+                        [--keep-alive-tmo=<sec> | -k <sec>]
+                        [--reconnect-delay=<#> | -c <#>]
+                        [--ctrl-loss-tmo=<#>     | -l <#>]
+                        [--nr-io-queues=<#> | -i <#>]
+                        [--nr-write-queues=<#> | -W <#>]
+                        [--nr-poll-queues=<#> | -P <#>]
+                        [--queue-size=<#> | -Q <#>] [--keyring=<#>]
+                        [--tls_key=<#>] [--hdr-digest | -g] [--data-digest | -G]
+                        [--persistent | -p] [--tls] [--concat] [--quiet | -S]
+                        [--dump-config | -O] [--nbft] [--no-nbft]
+                        [--nbft-path=<STR>] [--context=<STR>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Send one or more Discovery requests to a NVMe over Fabrics Discovery +Controller, and create controllers for the returned discovery records.

+

If no parameters are given, then nvme connect-all will attempt to +find a /usr/local/etc/nvme/discovery.conf file to use to supply a list of +connect-all commands to run. If no /usr/local/etc/nvme/discovery.conf file +exists, the command will quit with an error.

+

Otherwise a specific Discovery Controller should be specified using the +--transport, --traddr and if necessary the --trsvcid and a Discovery +request will be sent to the specified Discovery Controller.

+

See the documentation for the nvme-discover(1) command for further +background.

+
+
+
+

OPTIONS

+
+
+
+-t <trtype> +
+
+--transport=<trtype> +
+
+

+ This field specifies the network fabric being used for + a NVMe-over-Fabrics network. Current string values include: +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

rdma

The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc)

fc

WIP The network fabric is a Fibre Channel network.

tcp

The network fabric is a TCP/IP network.

loop

Connect to a NVMe over Fabrics target on the local host

+
+
+
+-n <subnqn> +
+
+--nqn <subnqn> +
+
+

+ This field specifies the name for the NVMe subsystem to connect to. +

+
+
+-a <traddr> +
+
+--traddr=<traddr> +
+
+

+ This field specifies the network address of the Discovery Controller. + For transports using IP addressing (e.g. rdma) this should be an + IP-based address (ex. IPv4). +

+
+
+-s <trsvcid> +
+
+--trsvcid=<trsvcid> +
+
+

+ This field specifies the transport service id. For transports using IP + addressing (e.g. rdma) this field is the port number. By default, the IP + port number for the RDMA transport is 4420. +

+
+
+-w <traddr> +
+
+--host-traddr=<traddr> +
+
+

+ This field specifies the network address used on the host to connect + to the Controller. For TCP, this sets the source address on the socket. +

+
+
+-f <iface> +
+
+--host-iface=<iface> +
+
+

+ This field specifies the network interface used on the host to connect + to the Controller (e.g. IP eth1, enp2s0, enx78e7d1ea46da). This forces + the connection to be made on a specific interface instead of letting + the system decide. +

+
+
+-q <hostnqn> +
+
+--hostnqn=<hostnqn> +
+
+

+ Overrides the default Host NQN that identifies the NVMe Host. + If this option is not specified, the default is read from + /usr/local/etc/nvme/hostnqn first. If that does not exist, the + autogenerated NQN value from the NVMe Host kernel module is used next. + The Host NQN uniquely identifies the NVMe Host, and may be used by the + the Discovery Controller to control what NVMe Target resources are + allocated to the NVMe Host for a connection. +

+
+
+-I <hostid> +
+
+--hostid=<hostid> +
+
+

+ UUID(Universally Unique Identifier) to be discovered which should be + formatted. +

+
+
+-r <filename> +
+
+--raw=<filename> +
+
+

+ This field will take the output of the nvme connect-all command + and dump it to a raw binary file. By default nvme connect-all will + dump the output to stdout. +

+
+
+-d <device> +
+
+--device=<device> +
+
+

+ This field takes a device as input. It must be a persistent device + associated with a Discovery Controller previously created by the + command "connect-all" or "discover". <device> follows the format + nvme*, eg. nvme0, nvme1. +

+
+
+-J <filename> +
+
+--config=<filename> +
+
+

+ Use the specified JSON configuration file instead of the + default /usr/local/etc/nvme/config.json file or none to not read in + an existing configuration file. The JSON configuration file + format is documented in + https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json +

+
+
+-k <#> +
+
+--keep-alive-tmo=<#> +
+
+

+ Overrides the default keep alive timeout (in seconds). This + option will be ignored for discovery, but will be passed on to + the subsequent connect call. +

+
+
+-c <#> +
+
+--reconnect-delay=<#> +
+
+

+ Overrides the default delay (in seconds) before reconnect is attempted + after a connect loss. +

+
+
+-l <#> +
+
+--ctrl-loss-tmo=<#> +
+
+

+ Overrides the default controller loss timeout period (in seconds). +

+
+
+-i <#> +
+
+--nr-io-queues=<#> +
+
+

+ Overrides the default number of I/O queues create by the driver. + This option will be ignored for discovery, but will be passed on + to the subsequent connect call. +

+
+
+-W <#> +
+
+--nr-write-queues=<#> +
+
+

+ Adds additional queues that will be used for write I/O. +

+
+
+-P <#> +
+
+--nr-poll-queues=<#> +
+
+

+ Adds additional queues that will be used for polling latency sensitive I/O. +

+
+
+-Q <#> +
+
+--queue-size=<#> +
+
+

+ Overrides the default number of elements in the I/O queues created + by the driver. This option will be ignored for discovery, but will be + passed on to the subsequent connect call. +

+
+
+--keyring=<#> +
+
+

+ Keyring for TLS key lookup. +

+
+
+--tls_key=<#> +
+
+

+ TLS key for the connection (TCP). +

+
+
+-g +
+
+--hdr-digest +
+
+

+ Generates/verifies header digest (TCP). +

+
+
+-G +
+
+--data-digest +
+
+

+ Generates/verifies data digest (TCP). +

+
+
+-p +
+
+--persistent +
+
+

+ Don’t remove the discovery controller after retrieving the discovery + log page. +

+
+
+--tls +
+
+

+ Enable TLS encryption (TCP). +

+
+
+--concat +
+
+

+ Enable secure concatenation (TCP). +

+
+
+-S +
+
+--quiet +
+
+

+ Suppress error messages. +

+
+
+-O +
+
+--dump-config +
+
+

+ Print out resulting JSON configuration file to stdout. +

+
+
+--nbft +
+
+

+ Only look at NBFT tables +

+
+
+--no-nbft +
+
+

+ Do not look at NBFT tables +

+
+
+--nbft-path=<STR> +
+
+

+ Use a user-defined path to the NBFT tables +

+
+
+--context <STR> +
+
+

+ Set the execution context to <STR>. This allows to coordinate + the management of the global resources. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Connect to all records returned by the Discover Controller with IP4 address +192.168.1.3 for all resources allocated for NVMe Host name host1-rogue-nqn on +the RDMA network. Port 4420 is used by default: +

    +
    +
    +
    # nvme connect-all --transport=rdma --traddr=192.168.1.3 \
    +--hostnqn=host1-rogue-nqn
    +
    +
  • +
  • +

    +Issue a nvme connect-all command using the default system defined NBFT tables: +

    +
    +
    +
    # nvme connect-all --nbft
    +
    +
  • +
  • +

    +Issue a nvme connect-all command with a user-defined path for the NBFT table: +

    +
    +
    +
    # nvme connet-all --nbft-path=/sys/firmware/acpi/tables/NBFT1
    +
    +
  • +
  • +

    +Issue a nvme connect-all command using a /usr/local/etc/nvme/discovery.conf file: +

    +
    +
    +
    # Machine default 'nvme discover' commands. Query the
    +# Discovery Controller's two ports (some resources may only
    +# be accessible on a single port). Note an official
    +# nqn (Host) name defined in the NVMe specification is being used
    +# in this example.
    +-t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    +-t rdma -a 192.168.1.4   -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    +
    +At the prompt type "nvme connect-all".
    +
    +
  • +
+
+
+
+

SEE ALSO

+
+

nvme-discover(1) +nvme-connect(1)

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-connect-all.txt b/Documentation/nvme-connect-all.txt new file mode 100644 index 0000000..4cd1873 --- /dev/null +++ b/Documentation/nvme-connect-all.txt @@ -0,0 +1,267 @@ +nvme-connect-all(1) +=================== + +NAME +---- +nvme-connect-all - Discover and Connect to Fabrics controllers. + +SYNOPSIS +-------- +[verse] +'nvme connect-all' [--transport= | -t ] + [--nqn= | -n ] + [--traddr= | -a ] + [--trsvcid= | -s ] + [--host-traddr= | -w ] + [--host-iface= | -f ] + [--hostnqn= | -q ] + [--hostid= | -I ] + [--raw= | -r ] + [--device= | -d ] + [--config= | -J ] + [--keep-alive-tmo= | -k ] + [--reconnect-delay=<#> | -c <#>] + [--ctrl-loss-tmo=<#> | -l <#>] + [--nr-io-queues=<#> | -i <#>] + [--nr-write-queues=<#> | -W <#>] + [--nr-poll-queues=<#> | -P <#>] + [--queue-size=<#> | -Q <#>] [--keyring=<#>] + [--tls_key=<#>] [--hdr-digest | -g] [--data-digest | -G] + [--persistent | -p] [--tls] [--concat] [--quiet | -S] + [--dump-config | -O] [--nbft] [--no-nbft] + [--nbft-path=] [--context=] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Send one or more Discovery requests to a NVMe over Fabrics Discovery +Controller, and create controllers for the returned discovery records. + +If no parameters are given, then 'nvme connect-all' will attempt to +find a @SYSCONFDIR@/nvme/discovery.conf file to use to supply a list of +connect-all commands to run. If no @SYSCONFDIR@/nvme/discovery.conf file +exists, the command will quit with an error. + +Otherwise a specific Discovery Controller should be specified using the +--transport, --traddr and if necessary the --trsvcid and a Discovery +request will be sent to the specified Discovery Controller. + +See the documentation for the nvme-discover(1) command for further +background. + +OPTIONS +------- +-t :: +--transport=:: + This field specifies the network fabric being used for + a NVMe-over-Fabrics network. Current string values include: ++ +[] +|================= +|Value|Definition +|rdma|The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) +|fc |*WIP* The network fabric is a Fibre Channel network. +|tcp |The network fabric is a TCP/IP network. +|loop|Connect to a NVMe over Fabrics target on the local host +|================= + +-n :: +--nqn :: + This field specifies the name for the NVMe subsystem to connect to. + +-a :: +--traddr=:: + This field specifies the network address of the Discovery Controller. + For transports using IP addressing (e.g. rdma) this should be an + IP-based address (ex. IPv4). + +-s :: +--trsvcid=:: + This field specifies the transport service id. For transports using IP + addressing (e.g. rdma) this field is the port number. By default, the IP + port number for the RDMA transport is 4420. + +-w :: +--host-traddr=:: + This field specifies the network address used on the host to connect + to the Controller. For TCP, this sets the source address on the socket. + +-f :: +--host-iface=:: + This field specifies the network interface used on the host to connect + to the Controller (e.g. IP eth1, enp2s0, enx78e7d1ea46da). This forces + the connection to be made on a specific interface instead of letting + the system decide. + +-q :: +--hostnqn=:: + Overrides the default Host NQN that identifies the NVMe Host. + If this option is not specified, the default is read from + @SYSCONFDIR@/nvme/hostnqn first. If that does not exist, the + autogenerated NQN value from the NVMe Host kernel module is used next. + The Host NQN uniquely identifies the NVMe Host, and may be used by the + the Discovery Controller to control what NVMe Target resources are + allocated to the NVMe Host for a connection. + +-I :: +--hostid=:: + UUID(Universally Unique Identifier) to be discovered which should be + formatted. + +-r :: +--raw=:: + This field will take the output of the 'nvme connect-all' command + and dump it to a raw binary file. By default 'nvme connect-all' will + dump the output to stdout. + +-d :: +--device=:: + This field takes a device as input. It must be a persistent device + associated with a Discovery Controller previously created by the + command "connect-all" or "discover". follows the format + nvme*, eg. nvme0, nvme1. + +-J :: +--config=:: + Use the specified JSON configuration file instead of the + default @SYSCONFDIR@/nvme/config.json file or 'none' to not read in + an existing configuration file. The JSON configuration file + format is documented in + https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json + +-k <#>:: +--keep-alive-tmo=<#>:: + Overrides the default keep alive timeout (in seconds). This + option will be ignored for discovery, but will be passed on to + the subsequent connect call. + +-c <#>:: +--reconnect-delay=<#>:: + Overrides the default delay (in seconds) before reconnect is attempted + after a connect loss. + +-l <#>:: +--ctrl-loss-tmo=<#>:: + Overrides the default controller loss timeout period (in seconds). + +-i <#>:: +--nr-io-queues=<#>:: + Overrides the default number of I/O queues create by the driver. + This option will be ignored for discovery, but will be passed on + to the subsequent connect call. + +-W <#>:: +--nr-write-queues=<#>:: + Adds additional queues that will be used for write I/O. + +-P <#>:: +--nr-poll-queues=<#>:: + Adds additional queues that will be used for polling latency sensitive I/O. + +-Q <#>:: +--queue-size=<#>:: + Overrides the default number of elements in the I/O queues created + by the driver. This option will be ignored for discovery, but will be + passed on to the subsequent connect call. + +--keyring=<#>:: + Keyring for TLS key lookup. + +--tls_key=<#>:: + TLS key for the connection (TCP). + +-g:: +--hdr-digest:: + Generates/verifies header digest (TCP). + +-G:: +--data-digest:: + Generates/verifies data digest (TCP). + +-p:: +--persistent:: + Don't remove the discovery controller after retrieving the discovery + log page. + +--tls:: + Enable TLS encryption (TCP). + +--concat:: + Enable secure concatenation (TCP). + +-S:: +--quiet:: + Suppress error messages. + +-O:: +--dump-config:: + Print out resulting JSON configuration file to stdout. + +--nbft:: + Only look at NBFT tables + +--no-nbft:: + Do not look at NBFT tables + +--nbft-path=:: + Use a user-defined path to the NBFT tables + +--context :: + Set the execution context to . This allows to coordinate + the management of the global resources. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Connect to all records returned by the Discover Controller with IP4 address +192.168.1.3 for all resources allocated for NVMe Host name host1-rogue-nqn on +the RDMA network. Port 4420 is used by default: ++ +------------ +# nvme connect-all --transport=rdma --traddr=192.168.1.3 \ +--hostnqn=host1-rogue-nqn +------------ ++ +* Issue a 'nvme connect-all' command using the default system defined NBFT tables: ++ +----------- +# nvme connect-all --nbft +------------ ++ +* Issue a 'nvme connect-all' command with a user-defined path for the NBFT table: ++ +----------- +# nvme connet-all --nbft-path=/sys/firmware/acpi/tables/NBFT1 +------------ ++ +* Issue a 'nvme connect-all' command using a @SYSCONFDIR@/nvme/discovery.conf file: ++ +----------- +# Machine default 'nvme discover' commands. Query the +# Discovery Controller's two ports (some resources may only +# be accessible on a single port). Note an official +# nqn (Host) name defined in the NVMe specification is being used +# in this example. +-t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 +-t rdma -a 192.168.1.4 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 + +At the prompt type "nvme connect-all". + +------------ + +SEE ALSO +-------- +nvme-discover(1) +nvme-connect(1) + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-connect.1 b/Documentation/nvme-connect.1 new file mode 100644 index 0000000..0210d8a --- /dev/null +++ b/Documentation/nvme-connect.1 @@ -0,0 +1,304 @@ +'\" t +.\" Title: nvme-connect +.\" Author: [see the "AUTHORS" section] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-CONNECT" "1" "02/14/2024" "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-connect \- Connect to a Fabrics controller\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme connect\fR [\-\-transport= | \-t ] + [\-\-nqn= | \-n ] + [\-\-traddr= | \-a ] + [\-\-trsvcid= | \-s ] + [\-\-host\-traddr= | \-w ] + [\-\-host\-iface= | \-f ] + [\-\-hostnqn= | \-q ] + [\-\-hostid= | \-I ] + [\-\-config= | \-J ] + [\-\-dhchap\-secret= | \-S ] + [\-\-dhchap\-ctrl\-secret= | \-C ] + [\-\-nr\-io\-queues=<#> | \-i <#>] + [\-\-nr\-write\-queues=<#> | \-W <#>] + [\-\-nr\-poll\-queues=<#> | \-P <#>] + [\-\-queue\-size=<#> | \-Q <#>] + [\-\-keep\-alive\-tmo=<#> | \-k <#>] + [\-\-reconnect\-delay=<#> | \-c <#>] + [\-\-ctrl\-loss\-tmo=<#> | \-l <#>] [\-\-tos=<#> | \-T <#>] + [\-\-keyring=<#>] [\-\-tls_key=<#>] + [\-\-duplicate\-connect | \-D] [\-\-disable\-sqflow | \-d] + [\-\-hdr\-digest | \-g] [\-\-data\-digest | \-G] [\-\-tls] + [\-\-concat] [\-\-dump\-config | \-O] [\-\-application=] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Create a transport connection to a remote system (specified by \-\-traddr and \-\-trsvcid) and create a NVMe over Fabrics controller for the NVMe subsystem specified by the \-\-nqn option\&. +.SH "OPTIONS" +.PP +\-t , \-\-transport= +.RS 4 +This field specifies the network fabric being used for a NVMe\-over\-Fabrics network\&. Current string values include: +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +rdma +T}:T{ +The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) +T} +T{ +fc +T}:T{ +\fBWIP\fR +The network fabric is a Fibre Channel network\&. +T} +T{ +tcp +T}:T{ +The network fabric is a TCP/IP network\&. +T} +T{ +loop +T}:T{ +Connect to a NVMe over Fabrics target on the local host +T} +.TE +.sp 1 +.RE +.PP +\-n , \-\-nqn +.RS 4 +This field specifies the name for the NVMe subsystem to connect to\&. +.RE +.PP +\-a , \-\-traddr= +.RS 4 +This field specifies the network address of the Controller\&. For transports using IP addressing (e\&.g\&. rdma) this should be an IP\-based address (ex\&. IPv4)\&. +.RE +.PP +\-s , \-\-trsvcid= +.RS 4 +This field specifies the transport service id\&. For transports using IP addressing (e\&.g\&. rdma) this field is the port number\&. By default, the IP port number for the RDMA transport is 4420\&. +.RE +.PP +\-w , \-\-host\-traddr= +.RS 4 +This field specifies the network address used on the host to connect to the Controller\&. For TCP, this sets the source address on the socket\&. +.RE +.PP +\-f , \-\-host\-iface= +.RS 4 +This field specifies the network interface used on the host to connect to the Controller (e\&.g\&. IP eth1, enp2s0, enx78e7d1ea46da)\&. This forces the connection to be made on a specific interface instead of letting the system decide\&. +.RE +.PP +\-q , \-\-hostnqn= +.RS 4 +Overrides the default Host NQN that identifies the NVMe Host\&. If this option is not specified, the default is read from /usr/local/etc/nvme/hostnqn first\&. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next\&. The Host NQN uniquely identifies the NVMe Host\&. +.RE +.PP +\-I , \-\-hostid= +.RS 4 +UUID(Universally Unique Identifier) to be discovered which should be formatted\&. +.RE +.PP +\-J , \-\-config= +.RS 4 +Use the specified JSON configuration file instead of the default /usr/local/etc/nvme/config\&.json file or +\fInone\fR +to not read in an existing configuration file\&. The JSON configuration file format is documented in +\m[blue]\fBhttps://github\&.com/linux\-nvme/libnvme/blob/master/doc/config\-schema\&.json\fR\m[] +.RE +.PP +\-S , \-\-dhchap\-secret= +.RS 4 +NVMe In\-band authentication secret; needs to be in ASCII format as specified in NVMe 2\&.0 section 8\&.13\&.5\&.8 +\fISecret representation\fR\&. +.RE +.PP +\-C , \-\-dhchap\-ctrl\-secret= +.RS 4 +NVMe In\-band authentication controller secret for bi\-directional authentication; needs to be in ASCII format as specified in NVMe 2\&.0 section 8\&.13\&.5\&.8 +\fISecret representation\fR\&. If not present bi\-directional authentication is not attempted\&. +.RE +.PP +\-i <#>, \-\-nr\-io\-queues=<#> +.RS 4 +Overrides the default number of I/O queues create by the driver\&. +.RE +.PP +\-W <#>, \-\-nr\-write\-queues=<#> +.RS 4 +Adds additional queues that will be used for write I/O\&. +.RE +.PP +\-P <#>, \-\-nr\-poll\-queues=<#> +.RS 4 +Adds additional queues that will be used for polling latency sensitive I/O\&. +.RE +.PP +\-Q <#>, \-\-queue\-size=<#> +.RS 4 +Overrides the default number of elements in the I/O queues created by the driver\&. +.RE +.PP +\-k <#>, \-\-keep\-alive\-tmo=<#> +.RS 4 +Overrides the default keep alive timeout (in seconds)\&. +.RE +.PP +\-c <#>, \-\-reconnect\-delay=<#> +.RS 4 +Overrides the default delay (in seconds) before reconnect is attempted after a connect loss\&. +.RE +.PP +\-l <#>, \-\-ctrl\-loss\-tmo=<#> +.RS 4 +Overrides the default controller loss timeout period (in seconds)\&. +.RE +.PP +\-T <#>, \-\-tos=<#> +.RS 4 +Type of service for the connection (TCP) +.RE +.PP +\-\-keyring=<#> +.RS 4 +Keyring for TLS key lookup\&. +.RE +.PP +\-\-tls_key=<#> +.RS 4 +TLS key for the connection (TCP)\&. +.RE +.PP +\-D, \-\-duplicate\-connect +.RS 4 +Allows duplicated connections between same transport host and subsystem port\&. +.RE +.PP +\-d, \-\-disable\-sqflow +.RS 4 +Disables SQ flow control to omit head doorbell update for submission queues when sending nvme completions\&. +.RE +.PP +\-g, \-\-hdr\-digest +.RS 4 +Generates/verifies header digest (TCP)\&. +.RE +.PP +\-G, \-\-data\-digest +.RS 4 +Generates/verifies data digest (TCP)\&. +.RE +.PP +\-\-tls +.RS 4 +Enable TLS encryption (TCP)\&. +.RE +.PP +\-\-concat +.RS 4 +Enable secure concatenation (TCP)\&. +.RE +.PP +\-O, \-\-dump\-config +.RS 4 +Print out resulting JSON configuration file to stdout\&. +.RE +.PP +\-\-context +.RS 4 +Set the execution context to \&. This allows to coordinate the management of the global resources\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Connect to a subsystem named nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 on the IP4 address 192\&.168\&.1\&.3\&. Port 4420 is used by default: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme connect \-\-transport=rdma \-\-traddr=192\&.168\&.1\&.3 \e +\-\-nqn=nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "SEE ALSO" +.sp +nvme\-discover(1) nvme\-connect\-all(1) +.SH "AUTHORS" +.sp +This was co\-written by \m[blue]\fBJay Freyensee\fR\m[]\&\s-2\u[1]\d\s+2 and \m[blue]\fBChristoph Hellwig\fR\m[]\&\s-2\u[2]\d\s+2 +.SH "NVME" +.sp +Part of the nvme\-user suite +.SH "NOTES" +.IP " 1." 4 +Jay Freyensee +.RS 4 +\%mailto:james.p.freyensee@intel.com +.RE +.IP " 2." 4 +Christoph Hellwig +.RS 4 +\%mailto:hch@lst.de +.RE diff --git a/Documentation/nvme-connect.html b/Documentation/nvme-connect.html new file mode 100644 index 0000000..a3e1ff5 --- /dev/null +++ b/Documentation/nvme-connect.html @@ -0,0 +1,1226 @@ + + + + + + +nvme-connect(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme connect [--transport=<trtype> | -t <trtype>]
+                        [--nqn=<subnqn> | -n <subnqn>]
+                        [--traddr=<traddr> | -a <traddr>]
+                        [--trsvcid=<trsvcid> | -s <trsvcid>]
+                        [--host-traddr=<traddr> | -w <traddr>]
+                        [--host-iface=<iface> | -f <iface>]
+                        [--hostnqn=<hostnqn> | -q <hostnqn>]
+                        [--hostid=<hostid> | -I <hostid>]
+                        [--config=<filename> | -J <filename>]
+                        [--dhchap-secret=<secret> | -S <secret>]
+                        [--dhchap-ctrl-secret=<secret> | -C <secret>]
+                        [--nr-io-queues=<#> | -i <#>]
+                        [--nr-write-queues=<#> | -W <#>]
+                        [--nr-poll-queues=<#> | -P <#>]
+                        [--queue-size=<#> | -Q <#>]
+                        [--keep-alive-tmo=<#> | -k <#>]
+                        [--reconnect-delay=<#> | -c <#>]
+                        [--ctrl-loss-tmo=<#> | -l <#>] [--tos=<#> | -T <#>]
+                        [--keyring=<#>] [--tls_key=<#>]
+                        [--duplicate-connect | -D] [--disable-sqflow | -d]
+                        [--hdr-digest | -g] [--data-digest | -G] [--tls]
+                        [--concat] [--dump-config | -O] [--application=<id>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Create a transport connection to a remote system (specified by --traddr and +--trsvcid) and create a NVMe over Fabrics controller for the NVMe subsystem +specified by the --nqn option.

+
+
+
+

OPTIONS

+
+
+
+-t <trtype> +
+
+--transport=<trtype> +
+
+

+ This field specifies the network fabric being used for + a NVMe-over-Fabrics network. Current string values include: +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

rdma

The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc)

fc

WIP The network fabric is a Fibre Channel network.

tcp

The network fabric is a TCP/IP network.

loop

Connect to a NVMe over Fabrics target on the local host

+
+
+
+-n <subnqn> +
+
+--nqn <subnqn> +
+
+

+ This field specifies the name for the NVMe subsystem to connect to. +

+
+
+-a <traddr> +
+
+--traddr=<traddr> +
+
+

+ This field specifies the network address of the Controller. + For transports using IP addressing (e.g. rdma) this should be an + IP-based address (ex. IPv4). +

+
+
+-s <trsvcid> +
+
+--trsvcid=<trsvcid> +
+
+

+ This field specifies the transport service id. For transports using IP + addressing (e.g. rdma) this field is the port number. By default, the IP + port number for the RDMA transport is 4420. +

+
+
+-w <traddr> +
+
+--host-traddr=<traddr> +
+
+

+ This field specifies the network address used on the host to connect + to the Controller. For TCP, this sets the source address on the socket. +

+
+
+-f <iface> +
+
+--host-iface=<iface> +
+
+

+ This field specifies the network interface used on the host to connect + to the Controller (e.g. IP eth1, enp2s0, enx78e7d1ea46da). This forces + the connection to be made on a specific interface instead of letting + the system decide. +

+
+
+-q <hostnqn> +
+
+--hostnqn=<hostnqn> +
+
+

+ Overrides the default Host NQN that identifies the NVMe Host. + If this option is not specified, the default is read from + /usr/local/etc/nvme/hostnqn first. If that does not exist, the autogenerated + NQN value from the NVMe Host kernel module is used next. + The Host NQN uniquely identifies the NVMe Host. +

+
+
+-I <hostid> +
+
+--hostid=<hostid> +
+
+

+ UUID(Universally Unique Identifier) to be discovered which should be + formatted. +

+
+
+-J <filename> +
+
+--config=<filename> +
+
+

+ Use the specified JSON configuration file instead of the + default /usr/local/etc/nvme/config.json file or none to not read in + an existing configuration file. The JSON configuration file + format is documented in + https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json +

+
+
+-S <secret> +
+
+--dhchap-secret=<secret> +
+
+

+ NVMe In-band authentication secret; needs to be in ASCII format as + specified in NVMe 2.0 section 8.13.5.8 Secret representation. +

+
+
+-C <secret> +
+
+--dhchap-ctrl-secret=<secret> +
+
+

+ NVMe In-band authentication controller secret for bi-directional + authentication; needs to be in ASCII format as + specified in NVMe 2.0 section 8.13.5.8 Secret representation. + If not present bi-directional authentication is not attempted. +

+
+
+-i <#> +
+
+--nr-io-queues=<#> +
+
+

+ Overrides the default number of I/O queues create by the driver. +

+
+
+-W <#> +
+
+--nr-write-queues=<#> +
+
+

+ Adds additional queues that will be used for write I/O. +

+
+
+-P <#> +
+
+--nr-poll-queues=<#> +
+
+

+ Adds additional queues that will be used for polling latency sensitive I/O. +

+
+
+-Q <#> +
+
+--queue-size=<#> +
+
+

+ Overrides the default number of elements in the I/O queues created + by the driver. +

+
+
+-k <#> +
+
+--keep-alive-tmo=<#> +
+
+

+ Overrides the default keep alive timeout (in seconds). +

+
+
+-c <#> +
+
+--reconnect-delay=<#> +
+
+

+ Overrides the default delay (in seconds) before reconnect is attempted + after a connect loss. +

+
+
+-l <#> +
+
+--ctrl-loss-tmo=<#> +
+
+

+ Overrides the default controller loss timeout period (in seconds). +

+
+
+-T <#> +
+
+--tos=<#> +
+
+

+ Type of service for the connection (TCP) +

+
+
+--keyring=<#> +
+
+

+ Keyring for TLS key lookup. +

+
+
+--tls_key=<#> +
+
+

+ TLS key for the connection (TCP). +

+
+
+-D +
+
+--duplicate-connect +
+
+

+ Allows duplicated connections between same transport host and subsystem + port. +

+
+
+-d +
+
+--disable-sqflow +
+
+

+ Disables SQ flow control to omit head doorbell update for submission + queues when sending nvme completions. +

+
+
+-g +
+
+--hdr-digest +
+
+

+ Generates/verifies header digest (TCP). +

+
+
+-G +
+
+--data-digest +
+
+

+ Generates/verifies data digest (TCP). +

+
+
+--tls +
+
+

+ Enable TLS encryption (TCP). +

+
+
+--concat +
+
+

+ Enable secure concatenation (TCP). +

+
+
+-O +
+
+--dump-config +
+
+

+ Print out resulting JSON configuration file to stdout. +

+
+
+--context <STR> +
+
+

+ Set the execution context to <STR>. This allows to coordinate + the management of the global resources. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Connect to a subsystem named nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 +on the IP4 address 192.168.1.3. Port 4420 is used by default: +

    +
    +
    +
    # nvme connect --transport=rdma --traddr=192.168.1.3 \
    +--nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    +
    +
  • +
+
+
+
+

SEE ALSO

+
+

nvme-discover(1) +nvme-connect-all(1)

+
+
+
+

AUTHORS

+
+

This was co-written by Jay Freyensee +and Christoph Hellwig

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-connect.txt b/Documentation/nvme-connect.txt new file mode 100644 index 0000000..583aaf9 --- /dev/null +++ b/Documentation/nvme-connect.txt @@ -0,0 +1,221 @@ +nvme-connect(1) +=============== + +NAME +---- +nvme-connect - Connect to a Fabrics controller. + +SYNOPSIS +-------- +[verse] +'nvme connect' [--transport= | -t ] + [--nqn= | -n ] + [--traddr= | -a ] + [--trsvcid= | -s ] + [--host-traddr= | -w ] + [--host-iface= | -f ] + [--hostnqn= | -q ] + [--hostid= | -I ] + [--config= | -J ] + [--dhchap-secret= | -S ] + [--dhchap-ctrl-secret= | -C ] + [--nr-io-queues=<#> | -i <#>] + [--nr-write-queues=<#> | -W <#>] + [--nr-poll-queues=<#> | -P <#>] + [--queue-size=<#> | -Q <#>] + [--keep-alive-tmo=<#> | -k <#>] + [--reconnect-delay=<#> | -c <#>] + [--ctrl-loss-tmo=<#> | -l <#>] [--tos=<#> | -T <#>] + [--keyring=<#>] [--tls_key=<#>] + [--duplicate-connect | -D] [--disable-sqflow | -d] + [--hdr-digest | -g] [--data-digest | -G] [--tls] + [--concat] [--dump-config | -O] [--application=] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Create a transport connection to a remote system (specified by --traddr and +--trsvcid) and create a NVMe over Fabrics controller for the NVMe subsystem +specified by the --nqn option. + +OPTIONS +------- +-t :: +--transport=:: + This field specifies the network fabric being used for + a NVMe-over-Fabrics network. Current string values include: ++ +[] +|================= +|Value|Definition +|rdma|The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) +|fc |*WIP* The network fabric is a Fibre Channel network. +|tcp |The network fabric is a TCP/IP network. +|loop|Connect to a NVMe over Fabrics target on the local host +|================= + +-n :: +--nqn :: + This field specifies the name for the NVMe subsystem to connect to. + +-a :: +--traddr=:: + This field specifies the network address of the Controller. + For transports using IP addressing (e.g. rdma) this should be an + IP-based address (ex. IPv4). + +-s :: +--trsvcid=:: + This field specifies the transport service id. For transports using IP + addressing (e.g. rdma) this field is the port number. By default, the IP + port number for the RDMA transport is 4420. + +-w :: +--host-traddr=:: + This field specifies the network address used on the host to connect + to the Controller. For TCP, this sets the source address on the socket. + +-f :: +--host-iface=:: + This field specifies the network interface used on the host to connect + to the Controller (e.g. IP eth1, enp2s0, enx78e7d1ea46da). This forces + the connection to be made on a specific interface instead of letting + the system decide. + +-q :: +--hostnqn=:: + Overrides the default Host NQN that identifies the NVMe Host. + If this option is not specified, the default is read from + @SYSCONFDIR@/nvme/hostnqn first. If that does not exist, the autogenerated + NQN value from the NVMe Host kernel module is used next. + The Host NQN uniquely identifies the NVMe Host. + +-I :: +--hostid=:: + UUID(Universally Unique Identifier) to be discovered which should be + formatted. + +-J :: +--config=:: + Use the specified JSON configuration file instead of the + default @SYSCONFDIR@/nvme/config.json file or 'none' to not read in + an existing configuration file. The JSON configuration file + format is documented in + https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json + +-S :: +--dhchap-secret=:: + NVMe In-band authentication secret; needs to be in ASCII format as + specified in NVMe 2.0 section 8.13.5.8 'Secret representation'. + +-C :: +--dhchap-ctrl-secret=:: + NVMe In-band authentication controller secret for bi-directional + authentication; needs to be in ASCII format as + specified in NVMe 2.0 section 8.13.5.8 'Secret representation'. + If not present bi-directional authentication is not attempted. + +-i <#>:: +--nr-io-queues=<#>:: + Overrides the default number of I/O queues create by the driver. + +-W <#>:: +--nr-write-queues=<#>:: + Adds additional queues that will be used for write I/O. + +-P <#>:: +--nr-poll-queues=<#>:: + Adds additional queues that will be used for polling latency sensitive I/O. + +-Q <#>:: +--queue-size=<#>:: + Overrides the default number of elements in the I/O queues created + by the driver. + +-k <#>:: +--keep-alive-tmo=<#>:: + Overrides the default keep alive timeout (in seconds). + +-c <#>:: +--reconnect-delay=<#>:: + Overrides the default delay (in seconds) before reconnect is attempted + after a connect loss. + +-l <#>:: +--ctrl-loss-tmo=<#>:: + Overrides the default controller loss timeout period (in seconds). + +-T <#>:: +--tos=<#>:: + Type of service for the connection (TCP) + +--keyring=<#>:: + Keyring for TLS key lookup. + +--tls_key=<#>:: + TLS key for the connection (TCP). + +-D:: +--duplicate-connect:: + Allows duplicated connections between same transport host and subsystem + port. + +-d:: +--disable-sqflow:: + Disables SQ flow control to omit head doorbell update for submission + queues when sending nvme completions. + +-g:: +--hdr-digest:: + Generates/verifies header digest (TCP). + +-G:: +--data-digest:: + Generates/verifies data digest (TCP). + +--tls:: + Enable TLS encryption (TCP). + +--concat:: + Enable secure concatenation (TCP). + +-O:: +--dump-config:: + Print out resulting JSON configuration file to stdout. + +--context :: + Set the execution context to . This allows to coordinate + the management of the global resources. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Connect to a subsystem named nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 +on the IP4 address 192.168.1.3. Port 4420 is used by default: ++ +------------ +# nvme connect --transport=rdma --traddr=192.168.1.3 \ +--nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 +------------ + +SEE ALSO +-------- +nvme-discover(1) +nvme-connect-all(1) + +AUTHORS +------- +This was co-written by mailto:james.p.freyensee@intel.com[Jay Freyensee] +and mailto:hch@lst.de[Christoph Hellwig] + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-copy.1 b/Documentation/nvme-copy.1 new file mode 100644 index 0000000..6e0c67d --- /dev/null +++ b/Documentation/nvme-copy.1 @@ -0,0 +1,168 @@ +'\" t +.\" Title: nvme-copy +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-COPY" "1" "02/14/2024" "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-copy \- Send an NVMe Simple Copy command, provide results +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-copy\fR [\-\-sdlba= | \-d ] + [\-\-blocks= | \-b ] + [\-\-slbs= | \-s ] + [\-\-snsids= | \-N ] + [\-\-sopts= | \-O ] + [\-\-limited\-retry | \-l] + [\-\-force\-unit\-access | \-f] + [\-\-prinfow= | \-p ] + [\-\-prinfor= | \-P ] + [\-\-ref\-tag= | \-r ] + [\-\-expected\-ref\-tags= | \-R ] + [\-\-app\-tag= | \-a ] + [\-\-expected\-app\-tags= | \-A ] + [\-\-app\-mask= | \-m ] + [\-\-expected\-app\-masks= | \-M ] + [\-\-dir\-type= | \-T ] + [\-\-dir\-spec= | \-S ] + [\-\-format= | \-F ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Copy command is used by the host to copy data from one or more source logical block ranges to a single consecutive destination logical block range\&. +.SH "OPTIONS" +.PP +\-d , \-\-sdlba= +.RS 4 +64\-bit addr of first destination logical block +.RE +.PP +\-b , \-\-blocks= +.RS 4 +Comma separated list of the number of blocks in each range +.RE +.PP +\-s , \-\-slbs= +.RS 4 +Comma separated list of the starting blocks in each range +.RE +.PP +\-\-snsids=, \-N +.RS 4 +Comma separated list of the source namespace identifiers in each range +.RE +.PP +\-\-sopts=, \-O +.RS 4 +Comma separated list of the source options in each range +.RE +.PP +\-l, \-\-limited\-retry +.RS 4 +Sets the limited retry flag\&. +.RE +.PP +\-f, \-\-force\-unit\-access +.RS 4 +Set the force\-unit access flag\&. +.RE +.PP +\-p , \-\-prinfow= +.RS 4 +Protection Information field write definition\&. +.RE +.PP +\-P , \-\-prinfor= +.RS 4 +Protection Information field read definition\&. +.RE +.PP +\-r , \-\-ref\-tag= +.RS 4 +initial lba reference tag\&. +.RE +.PP +\-R , \-\-expected\-ref\-tags= +.RS 4 +expected lba reference tags (comma\-separated list)\&. +.RE +.PP +\-a , \-\-app\-tag= +.RS 4 +lba app tag +.RE +.PP +\-A , \-\-expected\-app\-tags= +.RS 4 +expected lba app tags (comma\-separated list) +.RE +.PP +\-m , \-\-app\-mask= +.RS 4 +lba tag mask +.RE +.PP +\-M , \-\-expected\-app\-masks= +.RS 4 +expected lba tag masks (comma\-separated list) +.RE +.PP +\-T , \-\-dir\-type= +.RS 4 +Optional directive type\&. The nvme\-cli only enforces the value be in the defined range for the directive type, though the NVMe specification (1\&.3a) defines only one directive, 01h, for write stream identifiers\&. +.RE +.PP +\-S , \-\-dir\-spec= +.RS 4 +Optional field for directive specifics\&. When used with write streams, this value is defined to be the write stream identifier\&. The nvme\-cli will not validate the stream requested is within the controller\(cqs capabilities\&. +.RE +.PP +\-F , \-\-format= +.RS 4 +source range entry format +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-copy.html b/Documentation/nvme-copy.html new file mode 100644 index 0000000..54921be --- /dev/null +++ b/Documentation/nvme-copy.html @@ -0,0 +1,1037 @@ + + + + + + +nvme-copy(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme-copy <device> [--sdlba=<sdlba> | -d <sdlba>]
+                        [--blocks=<nlb-list,> | -b <nlb-list,>]
+                        [--slbs=<slbas,> | -s <slbas,>]
+                        [--snsids=<snsids,> | -N <snsids,>]
+                        [--sopts=<sopts,> | -O <sopts,>]
+                        [--limited-retry | -l]
+                        [--force-unit-access | -f]
+                        [--prinfow=<prinfow> | -p <prinfow>]
+                        [--prinfor=<prinfor> | -P <prinfor>]
+                        [--ref-tag=<reftag> | -r <reftag>]
+                        [--expected-ref-tags=<reftag,> | -R <reftag,>]
+                        [--app-tag=<apptag> | -a <apptag>]
+                        [--expected-app-tags=<apptag,> | -A <apptag,>]
+                        [--app-mask=<appmask> | -m <appmask>]
+                        [--expected-app-masks=<appmask,> | -M <appmask,>]
+                        [--dir-type=<type> | -T <type>]
+                        [--dir-spec=<spec> | -S <spec>]
+                        [--format=<entry-format> | -F <entry-format>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Copy command is used by the host to copy data from one or more source +logical block ranges to a single consecutive destination logical block range.

+
+
+
+

OPTIONS

+
+
+
+-d <sdlba> +
+
+--sdlba=<sdlba> +
+
+

+ 64-bit addr of first destination logical block +

+
+
+-b <nlb-list,> +
+
+--blocks=<nlb-list,> +
+
+

+ Comma separated list of the number of blocks in each range +

+
+
+-s <slbas,> +
+
+--slbs=<slbas,> +
+
+

+ Comma separated list of the starting blocks in each range +

+
+
+--snsids=<snsids,> +
+
+-N <snsids,> +
+
+

+ Comma separated list of the source namespace identifiers in each range +

+
+
+--sopts=<sopts,> +
+
+-O <sopts,> +
+
+

+ Comma separated list of the source options in each range +

+
+
+-l +
+
+--limited-retry +
+
+

+ Sets the limited retry flag. +

+
+
+-f +
+
+--force-unit-access +
+
+

+ Set the force-unit access flag. +

+
+
+-p <prinfow> +
+
+--prinfow=<prinfow> +
+
+

+ Protection Information field write definition. +

+
+
+-P <prinfor> +
+
+--prinfor=<prinfor> +
+
+

+ Protection Information field read definition. +

+
+
+-r <reftag> +
+
+--ref-tag=<reftag> +
+
+

+ initial lba reference tag. +

+
+
+-R <reftag,> +
+
+--expected-ref-tags=<reftag,> +
+
+

+ expected lba reference tags (comma-separated list). +

+
+
+-a <apptag> +
+
+--app-tag=<apptag> +
+
+

+ lba app tag +

+
+
+-A <apptag,> +
+
+--expected-app-tags=<apptag,> +
+
+

+ expected lba app tags (comma-separated list) +

+
+
+-m <appmask> +
+
+--app-mask=<appmask> +
+
+

+ lba tag mask +

+
+
+-M <appmask,> +
+
+--expected-app-masks=<appmask,> +
+
+

+ expected lba tag masks (comma-separated list) +

+
+
+-T <type> +
+
+--dir-type=<type> +
+
+

+ Optional directive type. The nvme-cli only enforces the value + be in the defined range for the directive type, though the NVMe + specification (1.3a) defines only one directive, 01h, for write + stream identifiers. +

+
+
+-S <spec> +
+
+--dir-spec=<spec> +
+
+

+ Optional field for directive specifics. When used with + write streams, this value is defined to be the write stream + identifier. The nvme-cli will not validate the stream requested + is within the controller’s capabilities. +

+
+
+-F <entry-format> +
+
+--format=<entry-format> +
+
+

+ source range entry format +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-copy.txt b/Documentation/nvme-copy.txt new file mode 100644 index 0000000..7c5fb0e --- /dev/null +++ b/Documentation/nvme-copy.txt @@ -0,0 +1,131 @@ +nvme-copy(1) +============ + +NAME +---- +nvme-copy - Send an NVMe Simple Copy command, provide results + +SYNOPSIS +-------- +[verse] +'nvme-copy' [--sdlba= | -d ] + [--blocks= | -b ] + [--slbs= | -s ] + [--snsids= | -N ] + [--sopts= | -O ] + [--limited-retry | -l] + [--force-unit-access | -f] + [--prinfow= | -p ] + [--prinfor= | -P ] + [--ref-tag= | -r ] + [--expected-ref-tags= | -R ] + [--app-tag= | -a ] + [--expected-app-tags= | -A ] + [--app-mask= | -m ] + [--expected-app-masks= | -M ] + [--dir-type= | -T ] + [--dir-spec= | -S ] + [--format= | -F ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Copy command is used by the host to copy data from one or more source +logical block ranges to a single consecutive destination logical block range. + +OPTIONS +------- +-d :: +--sdlba=:: + 64-bit addr of first destination logical block + +-b :: +--blocks=:: + Comma separated list of the number of blocks in each range + +-s :: +--slbs=:: + Comma separated list of the starting blocks in each range + +--snsids=:: +-N :: + Comma separated list of the source namespace identifiers in each range + +--sopts=:: +-O :: + Comma separated list of the source options in each range + +-l:: +--limited-retry:: + Sets the limited retry flag. + +-f:: +--force-unit-access:: + Set the force-unit access flag. + +-p :: +--prinfow=:: + Protection Information field write definition. + +-P :: +--prinfor=:: + Protection Information field read definition. + +-r :: +--ref-tag=:: + initial lba reference tag. + +-R :: +--expected-ref-tags=:: + expected lba reference tags (comma-separated list). + +-a :: +--app-tag=:: + lba app tag + +-A :: +--expected-app-tags=:: + expected lba app tags (comma-separated list) + +-m :: +--app-mask=:: + lba tag mask + +-M :: +--expected-app-masks=:: + expected lba tag masks (comma-separated list) + +-T :: +--dir-type=:: + Optional directive type. The nvme-cli only enforces the value + be in the defined range for the directive type, though the NVMe + specification (1.3a) defines only one directive, 01h, for write + stream identifiers. + +-S :: +--dir-spec=:: + Optional field for directive specifics. When used with + write streams, this value is defined to be the write stream + identifier. The nvme-cli will not validate the stream requested + is within the controller's capabilities. + +-F :: +--format=:: + source range entry format + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-create-ns.1 b/Documentation/nvme-create-ns.1 new file mode 100644 index 0000000..b4818bd --- /dev/null +++ b/Documentation/nvme-create-ns.1 @@ -0,0 +1,197 @@ +'\" t +.\" Title: nvme-create-ns +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-CREATE\-NS" "1" "02/14/2024" "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-create-ns \- Send NVMe Namespace management command to create namespace, returns results\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme create\-ns\fR [\-\-nsze= | \-s ] + [\-\-ncap= | \-c ] + [\-\-flbas= | \-f ] + [\-\-dps= | \-d ] + [\-\-nmic= | \-m ] + [\-\-anagrp\-id= | \-a ] + [\-\-nvmset\-id= | \-i ] + [\-\-endg\-id= | \-e ] + [\-\-csi= | \-y ] + [\-\-lbstm= | \-l ] + [\-\-nphndls= | \-n ] + [\-\-block\-size= | \-b ] + [\-\-timeout= | \-t ] + [\-\-nsze\-si= | \-S ] + [\-\-ncap\-si= | \-C ] + [\-\-azr | \-z] + [\-\-rar= | \-r ] + [\-\-ror= | \-O ] + [\-\-rnumzrwa= | \-u ] + [\-\-phndls= | \-p ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends a namespace management command to create the namespace with the requested settings\&. On success, the namespace identifier assigned by the controller is returned\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-s, \-\-nsze +.RS 4 +The namespace size\&. +.RE +.PP +\-c, \-\-ncap +.RS 4 +The namespace capacity\&. +.RE +.PP +\-f, \-\-flbas +.RS 4 +The namespace formatted logical block size setting\&. Conflicts with \-\-block\-size argument\&. +.RE +.PP +\-d, \-\-dps +.RS 4 +The data protection settings\&. +.RE +.PP +\-m, \-\-nmic +.RS 4 +Namespace multipath and sharing capabilities\&. +.RE +.PP +\-a, \-\-anagrp\-id +.RS 4 +ANA Group Identifier\&. If this value is 0h specifies that the controller determines the value to use +.RE +.PP +\-i , \-\-nvmset\-id= +.RS 4 +This field specifies the identifier of the NVM Set\&. +.RE +.PP +\-e , \-\-endg\-id= +.RS 4 +This field specifies the identifier of the endurance group\&. +.RE +.PP +\-y , \-\-csi= +.RS 4 +This field specifies the identifier of command set\&. if not issued, NVM Command Set will be selected\&. +.RE +.PP +\-l , \-\-lbstm= +.RS 4 +Logical Block Storage Tag Mask for end\-to\-end protection\&. +.RE +.PP +\-n , \-\-nphndls= +.RS 4 +Number of Placement Handle included in the Placement Handle List\&. If the Flexible Data Placement capability is not supported or not enabled in specified Endurance Group, then the controller shall ignore this field\&. +.RE +.PP +\-b, \-\-block\-size +.RS 4 +Target block size the new namespace should be formatted as\&. Potential FLBAS values will be values will be scanned and the lowest numbered will be selected for the create\-ns operation\&. Conflicts with \-\-flbas argument\&. +.RE +.PP +\-S, \-\-nsze\-si +.RS 4 +The namespace size (NSZE) in standard SI units (aligned on 1Mib boundaries, unless the controller recommends a smaller value)\&. The value SI suffixed is divided by the namespace LBA size to set as NSZE\&. If the value not suffixed it is set as same with the nsze option\&. +.RE +.PP +\-C, \-\-ncap\-si +.RS 4 +The namespace capacity (NCAP) in standard SI units (aligned on 1Mib boundaries, unless the controller recommends a smaller value)\&. The value SI suffixed is divided by the namespace LBA size to set as NCAP\&. If the value not suffixed it is set as same with the ncap option\&. +.RE +.PP +\-z, \-\-azr +.RS 4 +Allocate ZRWA Resources\&. If set to 1, then the namespace is to be created with the number of ZRWA resource specified in the RNUMZRWA field of this data structure\&. If cleared to 0, then no ZRWA resources are allocated to the namespace to be created\&. +.RE +.PP +\-r , \-\-rar= +.RS 4 +Requested Active Resources\&. This field specifies the number of active resources to be allocated to the created namespace\&. +.RE +.PP +\-O , \-\-ror= +.RS 4 +Requested Open Resources\&. This field specifies the number of open resources to be allocated to the created namespace\&. +.RE +.PP +\-u , \-\-rnumzrwa= +.RS 4 +Requested Number of ZRWA Resources\&. This field specifies the number of ZRWA resources to be allocated to the created namespace\&. +.RE +.PP +\-p , \-\-phndls= +.RS 4 +The comma separated list of Reclaim Unit Handle Identifier to be associated with each Placement Handle\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Create a namespace: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme create\-ns /dev/nvme0 \-\-nsze 11995709440 \-\-ncap 1199570940 \-\-flbas 0 \-\-dps 0 \-\-nmic 0 +# nvme create\-ns /dev/nvme0 \-\-nsze\-si 6\&.14T \-\-ncap 1199570940 \-\-flbas 0 \-\-dps 0 \-\-nmic 0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-create-ns.html b/Documentation/nvme-create-ns.html new file mode 100644 index 0000000..c3a9ece --- /dev/null +++ b/Documentation/nvme-create-ns.html @@ -0,0 +1,1078 @@ + + + + + + +nvme-create-ns(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme create-ns <device> [--nsze=<nsze> | -s <nsze>]
+                        [--ncap=<ncap> | -c <ncap>]
+                        [--flbas=<flbas> | -f <flbas>]
+                        [--dps=<dps> | -d <dps>]
+                        [--nmic=<nmic> | -m <nmic>]
+                        [--anagrp-id=<anagrpid> | -a <anagrpid>]
+                        [--nvmset-id=<nvmsetid> | -i <nvmsetid>]
+                        [--endg-id=<endgid> | -e <endgid>]
+                        [--csi=<command_set_identifier> | -y <command_set_identifier>]
+                        [--lbstm=<lbstm> | -l <lbstm>]
+                        [--nphndls=<nphndls> | -n <nphndls>]
+                        [--block-size=<block-size> | -b <block-size>]
+                        [--timeout=<timeout> | -t <timeout>]
+                        [--nsze-si=<nsze-si> | -S <nsze-si>]
+                        [--ncap-si=<ncap-si> | -C <ncap-si>]
+                        [--azr | -z]
+                        [--rar=<rar> | -r <rar>]
+                        [--ror=<ror> | -O <ror>]
+                        [--rnumzrwa=<rnumzrwa> | -u <rnumzrwa>]
+                        [--phndls=<placement-handle-list,> | -p <placement-handle-list,>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends a namespace management command to create +the namespace with the requested settings. On success, the namespace +identifier assigned by the controller is returned.

+

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

+
+
+
+

OPTIONS

+
+
+
+-s +
+
+--nsze +
+
+

+ The namespace size. +

+
+
+-c +
+
+--ncap +
+
+

+ The namespace capacity. +

+
+
+-f +
+
+--flbas +
+
+

+ The namespace formatted logical block size setting. + Conflicts with --block-size argument. +

+
+
+-d +
+
+--dps +
+
+

+ The data protection settings. +

+
+
+-m +
+
+--nmic +
+
+

+ Namespace multipath and sharing capabilities. +

+
+
+-a +
+
+--anagrp-id +
+
+

+ ANA Group Identifier. If this value is 0h specifies + that the controller determines the value to use +

+
+
+-i <nvmsetid> +
+
+--nvmset-id=<nvmsetid> +
+
+

+ This field specifies the identifier of the NVM Set. +

+
+
+-e <endgid> +
+
+--endg-id=<endgid> +
+
+

+ This field specifies the identifier of the endurance group. +

+
+
+-y <command_set_identifier> +
+
+--csi=<command_set_identifier> +
+
+

+ This field specifies the identifier of command set. + if not issued, NVM Command Set will be selected. +

+
+
+-l <lbstm> +
+
+--lbstm=<lbstm> +
+
+

+ Logical Block Storage Tag Mask for end-to-end protection. +

+
+
+-n <nphndls> +
+
+--nphndls=<nphndls> +
+
+

+ Number of Placement Handle included in the Placement Handle List. + If the Flexible Data Placement capability is not supported or not enabled + in specified Endurance Group, then the controller shall ignore this field. +

+
+
+-b +
+
+--block-size +
+
+

+ Target block size the new namespace should be formatted as. Potential FLBAS + values will be values will be scanned and the lowest numbered will be + selected for the create-ns operation. Conflicts with --flbas argument. +

+
+
+-S +
+
+--nsze-si +
+
+

+ The namespace size (NSZE) in standard SI units (aligned on 1Mib boundaries, + unless the controller recommends a smaller value). + The value SI suffixed is divided by the namespace LBA size to set as NSZE. + If the value not suffixed it is set as same with the nsze option. +

+
+
+-C +
+
+--ncap-si +
+
+

+ The namespace capacity (NCAP) in standard SI units (aligned on 1Mib boundaries, + unless the controller recommends a smaller value). + The value SI suffixed is divided by the namespace LBA size to set as NCAP. + If the value not suffixed it is set as same with the ncap option. +

+
+
+-z +
+
+--azr +
+
+

+ Allocate ZRWA Resources. + If set to 1, then the namespace is to be created with the number of ZRWA + resource specified in the RNUMZRWA field of this data structure. If cleared + to 0, then no ZRWA resources are allocated to the namespace to be created. +

+
+
+-r <rar> +
+
+--rar=<rar> +
+
+

+ Requested Active Resources. This field specifies the number of active + resources to be allocated to the created namespace. +

+
+
+-O <ror> +
+
+--ror=<ror> +
+
+

+ Requested Open Resources. This field specifies the number of open resources + to be allocated to the created namespace. +

+
+
+-u <rnumzrwa> +
+
+--rnumzrwa=<rnumzrwa> +
+
+

+ Requested Number of ZRWA Resources. This field specifies the number of ZRWA + resources to be allocated to the created namespace. +

+
+
+-p <placement-handle-list,> +
+
+--phndls=<placement-handle-list,> +
+
+

+ The comma separated list of Reclaim Unit Handle Identifier to be associated + with each Placement Handle. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Create a namespace: +

    +
    +
    +
    # nvme create-ns /dev/nvme0 --nsze 11995709440 --ncap 1199570940 --flbas 0 --dps 0 --nmic 0
    +# nvme create-ns /dev/nvme0 --nsze-si 6.14T --ncap 1199570940 --flbas 0 --dps 0 --nmic 0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-create-ns.txt b/Documentation/nvme-create-ns.txt new file mode 100644 index 0000000..352a945 --- /dev/null +++ b/Documentation/nvme-create-ns.txt @@ -0,0 +1,160 @@ +nvme-create-ns(1) +================= + +NAME +---- +nvme-create-ns - Send NVMe Namespace management command to create namespace, returns results. + +SYNOPSIS +-------- +[verse] +'nvme create-ns' [--nsze= | -s ] + [--ncap= | -c ] + [--flbas= | -f ] + [--dps= | -d ] + [--nmic= | -m ] + [--anagrp-id= | -a ] + [--nvmset-id= | -i ] + [--endg-id= | -e ] + [--csi= | -y ] + [--lbstm= | -l ] + [--nphndls= | -n ] + [--block-size= | -b ] + [--timeout= | -t ] + [--nsze-si= | -S ] + [--ncap-si= | -C ] + [--azr | -z] + [--rar= | -r ] + [--ror= | -O ] + [--rnumzrwa= | -u ] + [--phndls= | -p ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends a namespace management command to create +the namespace with the requested settings. On success, the namespace +identifier assigned by the controller is returned. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-s:: +--nsze:: + The namespace size. + +-c:: +--ncap:: + The namespace capacity. + +-f:: +--flbas:: + The namespace formatted logical block size setting. + Conflicts with --block-size argument. + +-d:: +--dps:: + The data protection settings. + +-m:: +--nmic:: + Namespace multipath and sharing capabilities. + +-a:: +--anagrp-id:: + ANA Group Identifier. If this value is 0h specifies + that the controller determines the value to use + +-i :: +--nvmset-id=:: + This field specifies the identifier of the NVM Set. + +-e :: +--endg-id=:: + This field specifies the identifier of the endurance group. + +-y :: +--csi=:: + This field specifies the identifier of command set. + if not issued, NVM Command Set will be selected. + +-l :: +--lbstm=:: + Logical Block Storage Tag Mask for end-to-end protection. + +-n :: +--nphndls=:: + Number of Placement Handle included in the Placement Handle List. + If the Flexible Data Placement capability is not supported or not enabled + in specified Endurance Group, then the controller shall ignore this field. + +-b:: +--block-size:: + Target block size the new namespace should be formatted as. Potential FLBAS + values will be values will be scanned and the lowest numbered will be + selected for the create-ns operation. Conflicts with --flbas argument. + +-S:: +--nsze-si:: + The namespace size (NSZE) in standard SI units (aligned on 1Mib boundaries, + unless the controller recommends a smaller value). + The value SI suffixed is divided by the namespace LBA size to set as NSZE. + If the value not suffixed it is set as same with the nsze option. + +-C:: +--ncap-si:: + The namespace capacity (NCAP) in standard SI units (aligned on 1Mib boundaries, + unless the controller recommends a smaller value). + The value SI suffixed is divided by the namespace LBA size to set as NCAP. + If the value not suffixed it is set as same with the ncap option. + +-z:: +--azr:: + Allocate ZRWA Resources. + If set to 1, then the namespace is to be created with the number of ZRWA + resource specified in the RNUMZRWA field of this data structure. If cleared + to 0, then no ZRWA resources are allocated to the namespace to be created. + +-r :: +--rar=:: + Requested Active Resources. This field specifies the number of active + resources to be allocated to the created namespace. + +-O :: +--ror=:: + Requested Open Resources. This field specifies the number of open resources + to be allocated to the created namespace. + +-u :: +--rnumzrwa=:: + Requested Number of ZRWA Resources. This field specifies the number of ZRWA + resources to be allocated to the created namespace. + +-p :: +--phndls=:: + The comma separated list of Reclaim Unit Handle Identifier to be associated + with each Placement Handle. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Create a namespace: ++ +------------ +# nvme create-ns /dev/nvme0 --nsze 11995709440 --ncap 1199570940 --flbas 0 --dps 0 --nmic 0 +# nvme create-ns /dev/nvme0 --nsze-si 6.14T --ncap 1199570940 --flbas 0 --dps 0 --nmic 0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-delete-ns.1 b/Documentation/nvme-delete-ns.1 new file mode 100644 index 0000000..80454d1 --- /dev/null +++ b/Documentation/nvme-delete-ns.1 @@ -0,0 +1,68 @@ +'\" t +.\" Title: nvme-id-ns +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ID\-NS" "1" "02/14/2024" "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-delete-ns \- Send NVMe Namespace Management delete namespace command, return result\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme delete\-ns\fR [\-\-namespace\-id= | \-n ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an nvme namespace management command to delete the requested namespace and provides the result\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. The \*(Aq\-\-namespace\-id\*(Aq option is mandatory\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +The namespace identifier to delete\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-delete-ns.html b/Documentation/nvme-delete-ns.html new file mode 100644 index 0000000..eb379d3 --- /dev/null +++ b/Documentation/nvme-delete-ns.html @@ -0,0 +1,830 @@ + + + + + + +nvme-id-ns(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme delete-ns <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an nvme namespace management command +to delete the requested namespace and provides the result.

+

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

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ The namespace identifier to delete. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-delete-ns.txt b/Documentation/nvme-delete-ns.txt new file mode 100644 index 0000000..1b306b2 --- /dev/null +++ b/Documentation/nvme-delete-ns.txt @@ -0,0 +1,44 @@ +nvme-id-ns(1) +============= + +NAME +---- +nvme-delete-ns - Send NVMe Namespace Management delete namespace command, return result. + +SYNOPSIS +-------- +[verse] +'nvme delete-ns' [--namespace-id= | -n ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an nvme namespace management command +to delete the requested namespace and provides the result. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +The `'--namespace-id'` option is mandatory. + +OPTIONS +------- +-n :: +--namespace-id=:: + The namespace identifier to delete. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-dera-stat.1 b/Documentation/nvme-dera-stat.1 new file mode 100644 index 0000000..5469c14 --- /dev/null +++ b/Documentation/nvme-dera-stat.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-dera-stat +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DERA\-STAT" "1" "02/14/2024" "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-dera-stat \- Send NVMe Dera Device status and Additional SMART log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme dera stat\fR +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Dera Device status and Additional SMART log page from the device and provides the returned 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 +On success, the returned status and smart log structure are printed in a readable format\&. +.SH "OPTIONS" +.sp +none +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the Dera Device status and Additional SMART log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dera stat /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-dera-stat.html b/Documentation/nvme-dera-stat.html new file mode 100644 index 0000000..c265ee7 --- /dev/null +++ b/Documentation/nvme-dera-stat.html @@ -0,0 +1,804 @@ + + + + + + +nvme-dera-stat(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme dera stat <device>
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Dera Device status and Additional SMART log page from the device and +provides the returned structure.

+

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

+

On success, the returned status and smart log structure are printed in a readable format.

+
+
+
+

OPTIONS

+
+

none

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the Dera Device status and Additional SMART log page in a human readable format: +

    +
    +
    +
    # nvme dera stat /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-dera-stat.txt b/Documentation/nvme-dera-stat.txt new file mode 100644 index 0000000..f3a87ae --- /dev/null +++ b/Documentation/nvme-dera-stat.txt @@ -0,0 +1,37 @@ +nvme-dera-stat(1) +================= + +NAME +---- +nvme-dera-stat - Send NVMe Dera Device status and Additional SMART log page request, returns result and log + +SYNOPSIS +-------- +[verse] +'nvme dera stat' + +DESCRIPTION +----------- +Retrieves the NVMe Dera Device status and Additional SMART log page from the device and +provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned status and smart log structure are printed in a readable format. + +OPTIONS +------- +none + +EXAMPLES +-------- +* Print the Dera Device status and Additional SMART log page in a human readable format: ++ +------------ +# nvme dera stat /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-detach-ns.1 b/Documentation/nvme-detach-ns.1 new file mode 100644 index 0000000..70c29a4 --- /dev/null +++ b/Documentation/nvme-detach-ns.1 @@ -0,0 +1,72 @@ +'\" t +.\" Title: nvme-detach-ns +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DETACH\-NS" "1" "02/14/2024" "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-detach-ns \- Send NVMe detach namespace, return result\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme detach\-ns\fR [\-\-namespace\-id= | \-n ] + [\-\-controllers= | \-c + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the nvme namespace detach command for the provided namespace identifier, attaching to the provided list of controller identifiers\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +The namespace identifier to detach\&. +.RE +.PP +\-c , \-\-controllers= +.RS 4 +The comma separated list of controller identifiers to detach the namespace from\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-detach-ns.html b/Documentation/nvme-detach-ns.html new file mode 100644 index 0000000..28d2c7c --- /dev/null +++ b/Documentation/nvme-detach-ns.html @@ -0,0 +1,841 @@ + + + + + + +nvme-detach-ns(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme detach-ns <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--controllers=<ctrl-list,> | -c <ctrl-list,>
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the nvme namespace detach command for +the provided namespace identifier, attaching to the provided list of +controller identifiers.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ The namespace identifier to detach. +

+
+
+-c <ctrl-list,> +
+
+--controllers=<ctrl-list,> +
+
+

+ The comma separated list of controller identifiers to detach + the namespace from. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-detach-ns.txt b/Documentation/nvme-detach-ns.txt new file mode 100644 index 0000000..842889c --- /dev/null +++ b/Documentation/nvme-detach-ns.txt @@ -0,0 +1,47 @@ +nvme-detach-ns(1) +================= + +NAME +---- +nvme-detach-ns - Send NVMe detach namespace, return result. + +SYNOPSIS +-------- +[verse] +'nvme detach-ns' [--namespace-id= | -n ] + [--controllers= | -c + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends the nvme namespace detach command for +the provided namespace identifier, attaching to the provided list of +controller identifiers. + +OPTIONS +------- +-n :: +--namespace-id=:: + The namespace identifier to detach. + +-c :: +--controllers=:: + The comma separated list of controller identifiers to detach + the namespace from. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-device-self-test.1 b/Documentation/nvme-device-self-test.1 new file mode 100644 index 0000000..605baf8 --- /dev/null +++ b/Documentation/nvme-device-self-test.1 @@ -0,0 +1,121 @@ +'\" t +.\" Title: nvme-device-self-test +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DEVICE\-SELF\-" "1" "02/14/2024" "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-device-self-test \- Perform the necessary tests to observe the performance and the parameters +.SH "SYNOPSIS" +.sp +.nf +\fInvme device\-self\-test\fR [\-\-namespace\-id= | \-n ] + [\-\-self\-test\-code= | \-s ] [\-\-wait | \-w] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Initiates the required test based on the user input\&. +.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 +On success, the corresponding test is initiated\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Indicate the namespace in which the device self\-test has to be carried out +.RE +.PP +\-s , \-\-self\-test\-code= +.RS 4 +This field specifies the action taken by the device self\-test command : 0h: Show current state of device self\-test operation 1h: Start a short device self\-test operation 2h: Start a extended device self\-test operation eh: Start a vendor specific device self\-test operation fh: Abort the device self\-test operation Default is 0h\&. +.RE +.PP +\-w, \-\-wait +.RS 4 +Wait for the device self test to complete before exiting The device self\-test is aborted by SIGINT signal interrupt for the wait The option is ignored if the abort self\-test code option specified\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Start a short device self\-test in the namespace\-id 1: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme device\-self\-test /dev/nvme0 \-n 1 \-s 1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Abort the device self\-test operation in the namespace\-id 1: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme device\-self\-test /dev/nvme0 \-n 1 \-s 0xf +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-device-self-test.html b/Documentation/nvme-device-self-test.html new file mode 100644 index 0000000..ea0cb13 --- /dev/null +++ b/Documentation/nvme-device-self-test.html @@ -0,0 +1,879 @@ + + + + + + +nvme-device-self-test(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme device-self-test <device> [--namespace-id=<NUM> | -n <NUM>]
+                        [--self-test-code=<NUM> | -s <NUM>] [--wait | -w]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Initiates the required test based on the user input.

+

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

+

On success, the corresponding test is initiated.

+
+
+
+

OPTIONS

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

+ Indicate the namespace in which the device self-test has to be carried out +

+
+
+-s <NUM> +
+
+--self-test-code=<NUM> +
+
+

+ This field specifies the action taken by the device self-test command : + 0h: Show current state of device self-test operation + 1h: Start a short device self-test operation + 2h: Start a extended device self-test operation + eh: Start a vendor specific device self-test operation + fh: Abort the device self-test operation + Default is 0h. +

+
+
+-w +
+
+--wait +
+
+

+ Wait for the device self test to complete before exiting + The device self-test is aborted by SIGINT signal interrupt for the wait + The option is ignored if the abort self-test code option specified. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Start a short device self-test in the namespace-id 1: +

    +
    +
    +
    # nvme device-self-test /dev/nvme0 -n 1 -s 1
    +
    +
  • +
  • +

    +Abort the device self-test operation in the namespace-id 1: +

    +
    +
    +
    # nvme device-self-test /dev/nvme0 -n 1 -s 0xf
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-device-self-test.txt b/Documentation/nvme-device-self-test.txt new file mode 100644 index 0000000..17fe875 --- /dev/null +++ b/Documentation/nvme-device-self-test.txt @@ -0,0 +1,72 @@ +nvme-device-self-test(1) +======================== + +NAME +---- +nvme-device-self-test - Perform the necessary tests to observe the performance and the parameters + +SYNOPSIS +-------- +[verse] +'nvme device-self-test' [--namespace-id= | -n ] + [--self-test-code= | -s ] [--wait | -w] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Initiates the required test based on the user input. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the corresponding test is initiated. + +OPTIONS +------- +-n :: +--namespace-id=:: + Indicate the namespace in which the device self-test has to be carried out + +-s :: +--self-test-code=:: + This field specifies the action taken by the device self-test command : + 0h: Show current state of device self-test operation + 1h: Start a short device self-test operation + 2h: Start a extended device self-test operation + eh: Start a vendor specific device self-test operation + fh: Abort the device self-test operation + Default is 0h. + +-w:: +--wait:: + Wait for the device self test to complete before exiting + The device self-test is aborted by SIGINT signal interrupt for the wait + The option is ignored if the abort self-test code option specified. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Start a short device self-test in the namespace-id 1: ++ +------------ +# nvme device-self-test /dev/nvme0 -n 1 -s 1 +------------ ++ + +* Abort the device self-test operation in the namespace-id 1: ++ +------------ +# nvme device-self-test /dev/nvme0 -n 1 -s 0xf +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-dim.1 b/Documentation/nvme-dim.1 new file mode 100644 index 0000000..f9245ea --- /dev/null +++ b/Documentation/nvme-dim.1 @@ -0,0 +1,126 @@ +'\" t +.\" Title: nvme-dim +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DIM" "1" "02/14/2024" "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-dim \- Send Discovery Information Management command to one or more Discovery Controllers\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme dim\fR [\-\-task= | \-t ] [\-\-nqn= | \-n ] + [\-\-device= | \-d ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Send Discovery Information Management (DIM) command to one or more Discovery Controllers\&. The DIM command allows performing two types of tasks: register or deregister\&. +.sp +The DIM command is used to explicitly register with Discovery Controllers (DC), especially with Central Discovery Controllers (CDC)\&. CDCs maintain a database (DB) of all the Hosts and Storage Subsystems in a network\&. The register task is used to add a host to the CDC\(cqs DB\&. The deregister task is used to remove a host from the CDC\(cqs DB\&. +.sp +During a register operation the host will send mandatory information such as the Host\(cqs NQN and ID, as well as the Host\(cqs hostname and the Operating System\(cqs version that it is running on\&. There is also an optional Host Symbolic Name that can be registered with the CDC\&. +.sp +This command can only be applied to existing DC connections previously created with the nvme\-discover(1) command using the \-\-persistent option\&. +.SH "OPTIONS" +.PP +\-t , \-\-task +.RS 4 +The task to perform: "register" or "deregister"\&. +.RE +.PP +\-n , \-\-nqn +.RS 4 +The DIM command will be sent to the Discovery Controller (DC) matching this NQN\&. A list of comma\-separated NQNs can be supplied to apply the command to more than one DC\&. +.RE +.PP +\-d , \-\-device +.RS 4 +The DIM command will be sent to the Discovery Controllers (DC) associated with this NVMe device handle\&. A list of comma\-separated device handles can be supplied to apply the command to more than one DC\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Register with the Central Discovery Controller (CDC) named nqn\&.1988\-11\&.com\&.dell:SFSS:1:20220118125153e8: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dim \-\-task=register \-\-nqn=nqn\&.1988\-11\&.com\&.dell:SFSS:1:20220118125153e8 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Deregister from Central Discovery Controller (CDC) associated with nvme4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dim \-\-task=deregister \-\-device=nvme4 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "SEE ALSO" +.sp +nvme\-discover(1) +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-dim.html b/Documentation/nvme-dim.html new file mode 100644 index 0000000..2678197 --- /dev/null +++ b/Documentation/nvme-dim.html @@ -0,0 +1,892 @@ + + + + + + +nvme-dim(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme dim [--task=<task> | -t <task>] [--nqn=<nqn> | -n <nqn>]
+                        [--device=<device> | -d <device>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Send Discovery Information Management (DIM) command to one or more Discovery +Controllers. The DIM command allows performing two types of tasks: register or +deregister.

+

The DIM command is used to explicitly register with Discovery Controllers (DC), +especially with Central Discovery Controllers (CDC). CDCs maintain a database (DB) +of all the Hosts and Storage Subsystems in a network. The register task is used +to add a host to the CDC’s DB. The deregister task is used to remove a host from +the CDC’s DB.

+

During a register operation the host will send mandatory information such as the +Host’s NQN and ID, as well as the Host’s hostname and the Operating System’s +version that it is running on. There is also an optional Host Symbolic Name +that can be registered with the CDC.

+

This command can only be applied to existing DC connections previously created +with the nvme-discover(1) command using the --persistent option.

+
+
+
+

OPTIONS

+
+
+
+-t <task> +
+
+--task <task> +
+
+

+ The task to perform: "register" or "deregister". +

+
+
+-n <subnqn> +
+
+--nqn <nqn> +
+
+

+ The DIM command will be sent to the Discovery Controller (DC) matching this + NQN. A list of comma-separated NQNs can be supplied to apply the command to + more than one DC. +

+
+
+-d <device> +
+
+--device <device> +
+
+

+ The DIM command will be sent to the Discovery Controllers (DC) associated + with this NVMe device handle. A list of comma-separated device handles can + be supplied to apply the command to more than one DC. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Register with the Central Discovery Controller (CDC) named +nqn.1988-11.com.dell:SFSS:1:20220118125153e8: +

    +
    +
    +
    # nvme dim --task=register --nqn=nqn.1988-11.com.dell:SFSS:1:20220118125153e8
    +
    +
  • +
  • +

    +Deregister from Central Discovery Controller (CDC) associated with nvme4 +

    +
    +
    +
    # nvme dim --task=deregister --device=nvme4
    +
    +
  • +
+
+
+
+

SEE ALSO

+
+

nvme-discover(1)

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-dim.txt b/Documentation/nvme-dim.txt new file mode 100644 index 0000000..fcfc9b8 --- /dev/null +++ b/Documentation/nvme-dim.txt @@ -0,0 +1,84 @@ +nvme-dim(1) +=========== + +NAME +---- +nvme-dim - Send Discovery Information Management command to one or more +Discovery Controllers. + +SYNOPSIS +-------- +[verse] +'nvme dim' [--task= | -t ] [--nqn= | -n ] + [--device= | -d ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Send Discovery Information Management (DIM) command to one or more Discovery +Controllers. The DIM command allows performing two types of tasks: register or +deregister. + +The DIM command is used to explicitly register with Discovery Controllers (DC), +especially with Central Discovery Controllers (CDC). CDCs maintain a database (DB) +of all the Hosts and Storage Subsystems in a network. The register task is used +to add a host to the CDC's DB. The deregister task is used to remove a host from +the CDC's DB. + +During a register operation the host will send mandatory information such as the +Host's NQN and ID, as well as the Host's hostname and the Operating System's +version that it is running on. There is also an optional Host Symbolic Name +that can be registered with the CDC. + +This command can only be applied to existing DC connections previously created +with the nvme-discover(1) command using the --persistent option. + +OPTIONS +------- +-t :: +--task :: + The task to perform: "register" or "deregister". + +-n :: +--nqn :: + The DIM command will be sent to the Discovery Controller (DC) matching this + NQN. A list of comma-separated NQNs can be supplied to apply the command to + more than one DC. + +-d :: +--device :: + The DIM command will be sent to the Discovery Controllers (DC) associated + with this NVMe device handle. A list of comma-separated device handles can + be supplied to apply the command to more than one DC. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Register with the Central Discovery Controller (CDC) named +nqn.1988-11.com.dell:SFSS:1:20220118125153e8: ++ +------------ +# nvme dim --task=register --nqn=nqn.1988-11.com.dell:SFSS:1:20220118125153e8 +------------ + +* Deregister from Central Discovery Controller (CDC) associated with nvme4 ++ +------------ +# nvme dim --task=deregister --device=nvme4 +------------ + +SEE ALSO +-------- +nvme-discover(1) + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-dir-receive.1 b/Documentation/nvme-dir-receive.1 new file mode 100644 index 0000000..2d62d2d --- /dev/null +++ b/Documentation/nvme-dir-receive.1 @@ -0,0 +1,235 @@ +'\" t +.\" Title: nvme-dir-receive +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DIR\-RECEIVE" "1" "02/14/2024" "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-dir-receive \- Send a directive receive command, returns applicable results +.SH "SYNOPSIS" +.sp +.nf +\fInvme dir\-receive\fR [\-\-namespace\-id= | \-n ] + [\-\-data\-len= | \-l ] + [\-\-dir\-type= | \-D ] + [\-\-dir\-spec= | \-S ] + [\-\-dir\-oper= | \-O ] + [\-\-req\-resource= | \-r ] + [\-\-human\-readable | \-H] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Submits an NVMe Directive Receive admin command and returns the applicable results\&. This may be the combination of directive type, and operation, as well as number of requested resource if specific operation needs it\&. +.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 +On success, the returned directive\(cqs parameter structure (if applicable) is returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Retrieve the feature for the given nsid\&. This is optional and most features do not use this value\&. +.RE +.PP +\-D , \-\-dir\-type= +.RS 4 +Directive type +.RE +.PP +\-S , \-\-dir\-spec= +.RS 4 +Directive specific +.RE +.PP +\-O , \-\-dir\-oper= +.RS 4 +Directive operation +.RE +.PP +\-r , \-\-req\-resource= +.RS 4 +Directive requested resource count +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Select +T}:T{ +Description +T} +T{ +0 +T}:T{ +Current +T} +T{ +1 +T}:T{ +Default +T} +T{ +2 +T}:T{ +Saved +T} +T{ +3 +T}:T{ +Supported capabilities +T} +T{ +4\(en7 +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +The data length for the buffer returned for this feature\&. Most known features do not use this value\&. The exception is LBA Range Type +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw receive buffer to stdout if the command returns a structure\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +Print the decoded receive buffer to stdout if the command returns a structure\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Identify directive type supported : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dir\-receive /dev/nvme0 \-\-dir\-type 0 \-\-dir\-oper 1 \-\-human\-readable +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get stream directive parameters : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dir\-receive /dev/nvme0 \-\-dir\-type 1 \-\-dir\-oper 1 \-\-human\-readable +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Allocate 3 streams for namespace 1 +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dir\-receive /dev/nvme0n1 \-\-dir\-type 1 \-\-dir\-oper 3 \-\-req\-resource 3 \-\-human\-readable +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get streams directive status : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dir\-receive /dev/nvme0 \-\-dir\-type 1 \-\-dir\-oper 2 \-\-human\-readable +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-dir-receive.html b/Documentation/nvme-dir-receive.html new file mode 100644 index 0000000..49d29f9 --- /dev/null +++ b/Documentation/nvme-dir-receive.html @@ -0,0 +1,996 @@ + + + + + + +nvme-dir-receive(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme dir-receive <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--data-len=<data-len> | -l <data-len>]
+                        [--dir-type=<dtype> | -D <dtype>]
+                        [--dir-spec=<dspec> | -S <dspec>]
+                        [--dir-oper=<doper> | -O <doper>]
+                        [--req-resource=<nsr> | -r <nsr>]
+                        [--human-readable | -H] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Submits an NVMe Directive Receive admin command and returns the applicable +results. This may be the combination of directive type, and operation, as +well as number of requested resource if specific operation needs it.

+

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

+

On success, the returned directive’s parameter structure (if applicable) is +returned in one of several ways depending on the option flags; the +structure may parsed by the program and printed in a readable format +if it is a known structure, displayed in hex, or the raw buffer may be +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Retrieve the feature for the given nsid. This is optional and + most features do not use this value. +

+
+
+-D <dtype> +
+
+--dir-type=<dtype> +
+
+

+ Directive type +

+
+
+-S <dspec> +
+
+--dir-spec=<dspec> +
+
+

+ Directive specific +

+
+
+-O <doper> +
+
+--dir-oper=<doper> +
+
+

+ Directive operation +

+
+
+-r <nsr> +
+
+--req-resource=<nsr> +
+
+

+ Directive requested resource count +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + +

Select

Description

0

Current

1

Default

2

Saved

3

Supported capabilities

4–7

Reserved

+
+
+
+-l <data-len> +
+
+--data-len=<data-len> +
+
+

+ The data length for the buffer returned for this feature. Most + known features do not use this value. The exception is LBA + Range Type +

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

+ Print the raw receive buffer to stdout if the command returns + a structure. +

+
+
+-H +
+
+--human-readable +
+
+

+ Print the decoded receive buffer to stdout if the command returns + a structure. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Identify directive type supported : +

    +
    +
    +
    # nvme dir-receive /dev/nvme0 --dir-type 0 --dir-oper 1 --human-readable
    +
    +
  • +
  • +

    +Get stream directive parameters : +

    +
    +
    +
    # nvme dir-receive /dev/nvme0 --dir-type 1 --dir-oper 1 --human-readable
    +
    +
  • +
  • +

    +Allocate 3 streams for namespace 1 +

    +
    +
    +
    # nvme dir-receive /dev/nvme0n1 --dir-type 1 --dir-oper 3 --req-resource 3 --human-readable
    +
    +
  • +
  • +

    +Get streams directive status : +

    +
    +
    +
    # nvme dir-receive /dev/nvme0 --dir-type 1 --dir-oper 2 --human-readable
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-dir-receive.txt b/Documentation/nvme-dir-receive.txt new file mode 100644 index 0000000..f3f31ba --- /dev/null +++ b/Documentation/nvme-dir-receive.txt @@ -0,0 +1,126 @@ +nvme-dir-receive(1) +=================== + +NAME +---- +nvme-dir-receive - Send a directive receive command, returns applicable results + +SYNOPSIS +-------- +[verse] +'nvme dir-receive' [--namespace-id= | -n ] + [--data-len= | -l ] + [--dir-type= | -D ] + [--dir-spec= | -S ] + [--dir-oper= | -O ] + [--req-resource= | -r ] + [--human-readable | -H] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Submits an NVMe Directive Receive admin command and returns the applicable +results. This may be the combination of directive type, and operation, as +well as number of requested resource if specific operation needs it. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned directive's parameter structure (if applicable) is +returned in one of several ways depending on the option flags; the +structure may parsed by the program and printed in a readable format +if it is a known structure, displayed in hex, or the raw buffer may be +printed to stdout for another program to parse. + +OPTIONS +------- +-n :: +--namespace-id=:: + Retrieve the feature for the given nsid. This is optional and + most features do not use this value. + +-D :: +--dir-type=:: + Directive type + +-S :: +--dir-spec=:: + Directive specific + +-O :: +--dir-oper=:: + Directive operation + +-r :: +--req-resource=:: + Directive requested resource count ++ +[] +|================== +|Select|Description +|0|Current +|1|Default +|2|Saved +|3|Supported capabilities +|4–7|Reserved +|================== + +-l :: +--data-len=:: + The data length for the buffer returned for this feature. Most + known features do not use this value. The exception is LBA + Range Type + +-b:: +--raw-binary:: + Print the raw receive buffer to stdout if the command returns + a structure. + +-H:: +--human-readable:: + Print the decoded receive buffer to stdout if the command returns + a structure. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Identify directive type supported : ++ +------------ +# nvme dir-receive /dev/nvme0 --dir-type 0 --dir-oper 1 --human-readable +------------ ++ + +* Get stream directive parameters : ++ +------------ +# nvme dir-receive /dev/nvme0 --dir-type 1 --dir-oper 1 --human-readable +------------ ++ + +* Allocate 3 streams for namespace 1 ++ +------------ +# nvme dir-receive /dev/nvme0n1 --dir-type 1 --dir-oper 3 --req-resource 3 --human-readable +------------ ++ + +* Get streams directive status : ++ +------------ +# nvme dir-receive /dev/nvme0 --dir-type 1 --dir-oper 2 --human-readable +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-dir-send.1 b/Documentation/nvme-dir-send.1 new file mode 100644 index 0000000..482c777 --- /dev/null +++ b/Documentation/nvme-dir-send.1 @@ -0,0 +1,241 @@ +'\" t +.\" Title: nvme-dir-send +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DIR\-SEND" "1" "02/14/2024" "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-dir-send \- Issue a directive send command, returns applicable results +.SH "SYNOPSIS" +.sp +.nf +\fInvme dir\-send\fR [\-\-namespace\-id= | \-n ] + [\-\-data\-len= | \-l ] + [\-\-dir\-type= | \-D ] + [\-\-dir\-spec= | \-S ] + [\-\-dir\-oper= | \-O ] + [\-\-endir= | \-e ] + [\-\-target\-dir= | \-T ] + [\-\-human\-readable | \-H] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Submits an NVMe Directive Send admin command and returns the applicable results\&. This may be the combination of directive type, and operation, as well as target directive and its enable/disable status of the operation, if specific operation needs it\&. +.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 +On success, the returned directive\(cqs parameter structure (if applicable) is returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Retrieve the feature for the given nsid\&. This is optional and most features do not use this value\&. +.RE +.PP +\-D , \-\-dir\-type= +.RS 4 +Directive type +.RE +.PP +\-S , \-\-dir\-spec= +.RS 4 +Directive specific +.RE +.PP +\-O , \-\-dir\-oper= +.RS 4 +Directive operation +.RE +.PP +\-T , \-\-target\-dir= +.RS 4 +Target directive of the operation +.RE +.PP +\-e , \-\-endir= +.RS 4 +Target directive enable(1) or disable (0) operation +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Select +T}:T{ +Description +T} +T{ +0 +T}:T{ +Current +T} +T{ +1 +T}:T{ +Default +T} +T{ +2 +T}:T{ +Saved +T} +T{ +3 +T}:T{ +Supported capabilities +T} +T{ +4\(en7 +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +The data length for the buffer returned for this feature\&. Most known features do not use this value\&. The exception is LBA Range Type +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw receive buffer to stdout if the command returns a structure\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +Print the decoded receive buffer to stdout if the command returns a structure\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Enable streams directive : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dir\-send /dev/nvme0n1 \-\-dir\-type 0 \-\-dir\-oper 1 \-\-target\-dir 1 \-\-endir 1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Disable streams directive : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dir\-send /dev/nvme0n1 \-\-dir\-type 0 \-\-dir\-oper 1 \-\-target\-dir 1 \-\-endir 0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Release all allocated streams resource : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dir\-send /dev/nvme0n1 \-\-dir\-type 1 \-\-dir\-oper 2 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Release stream ID 3 : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme dir\-send /dev/nvme0 \-\-dir\-type 1 \-\-dir\-oper 1 \-\-dir\-spec 3 +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-dir-send.html b/Documentation/nvme-dir-send.html new file mode 100644 index 0000000..a8182fa --- /dev/null +++ b/Documentation/nvme-dir-send.html @@ -0,0 +1,1009 @@ + + + + + + +nvme-dir-send(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme dir-send <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--data-len=<data-len> | -l <data-len>]
+                        [--dir-type=<dtype> | -D <dtype>]
+                        [--dir-spec=<dspec> | -S <dspec>]
+                        [--dir-oper=<doper> | -O <doper>]
+                        [--endir=<endir> | -e <endir>]
+                        [--target-dir=<tdir> | -T <tdir>]
+                        [--human-readable | -H] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Submits an NVMe Directive Send admin command and returns the applicable +results. This may be the combination of directive type, and operation, as +well as target directive and its enable/disable status of the operation, +if specific operation needs it.

+

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

+

On success, the returned directive’s parameter structure (if applicable) is +returned in one of several ways depending on the option flags; the +structure may parsed by the program and printed in a readable format +if it is a known structure, displayed in hex, or the raw buffer may be +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Retrieve the feature for the given nsid. This is optional and + most features do not use this value. +

+
+
+-D <dtype> +
+
+--dir-type=<dtype> +
+
+

+ Directive type +

+
+
+-S <dspec> +
+
+--dir-spec=<dspec> +
+
+

+ Directive specific +

+
+
+-O <doper> +
+
+--dir-oper=<doper> +
+
+

+ Directive operation +

+
+
+-T <tdir> +
+
+--target-dir=<nsr> +
+
+

+ Target directive of the operation +

+
+
+-e <endir> +
+
+--endir=<endir> +
+
+

+ Target directive enable(1) or disable (0) operation +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + +

Select

Description

0

Current

1

Default

2

Saved

3

Supported capabilities

4–7

Reserved

+
+
+
+-l <data-len> +
+
+--data-len=<data-len> +
+
+

+ The data length for the buffer returned for this feature. Most + known features do not use this value. The exception is LBA + Range Type +

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

+ Print the raw receive buffer to stdout if the command returns + a structure. +

+
+
+-H +
+
+--human-readable +
+
+

+ Print the decoded receive buffer to stdout if the command returns + a structure. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Enable streams directive : +

    +
    +
    +
    # nvme dir-send /dev/nvme0n1 --dir-type 0 --dir-oper 1 --target-dir 1 --endir 1
    +
    +
  • +
  • +

    +Disable streams directive : +

    +
    +
    +
    # nvme dir-send /dev/nvme0n1 --dir-type 0 --dir-oper 1 --target-dir 1 --endir 0
    +
    +
  • +
  • +

    +Release all allocated streams resource : +

    +
    +
    +
    # nvme dir-send /dev/nvme0n1 --dir-type 1 --dir-oper 2
    +
    +
  • +
  • +

    +Release stream ID 3 : +

    +
    +
    +
    # nvme dir-send /dev/nvme0 --dir-type 1 --dir-oper 1 --dir-spec 3
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-dir-send.txt b/Documentation/nvme-dir-send.txt new file mode 100644 index 0000000..1e3743d --- /dev/null +++ b/Documentation/nvme-dir-send.txt @@ -0,0 +1,132 @@ +nvme-dir-send(1) +================ + +NAME +---- +nvme-dir-send - Issue a directive send command, returns applicable results + +SYNOPSIS +-------- +[verse] +'nvme dir-send' [--namespace-id= | -n ] + [--data-len= | -l ] + [--dir-type= | -D ] + [--dir-spec= | -S ] + [--dir-oper= | -O ] + [--endir= | -e ] + [--target-dir= | -T ] + [--human-readable | -H] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Submits an NVMe Directive Send admin command and returns the applicable +results. This may be the combination of directive type, and operation, as +well as target directive and its enable/disable status of the operation, +if specific operation needs it. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned directive's parameter structure (if applicable) is +returned in one of several ways depending on the option flags; the +structure may parsed by the program and printed in a readable format +if it is a known structure, displayed in hex, or the raw buffer may be +printed to stdout for another program to parse. + +OPTIONS +------- +-n :: +--namespace-id=:: + Retrieve the feature for the given nsid. This is optional and + most features do not use this value. + +-D :: +--dir-type=:: + Directive type + +-S :: +--dir-spec=:: + Directive specific + +-O :: +--dir-oper=:: + Directive operation + +-T :: +--target-dir=:: + Target directive of the operation + +-e :: +--endir=:: + Target directive enable(1) or disable (0) operation ++ +[] +|================== +|Select|Description +|0|Current +|1|Default +|2|Saved +|3|Supported capabilities +|4–7|Reserved +|================== + +-l :: +--data-len=:: + The data length for the buffer returned for this feature. Most + known features do not use this value. The exception is LBA + Range Type + +-b:: +--raw-binary:: + Print the raw receive buffer to stdout if the command returns + a structure. + +-H:: +--human-readable:: + Print the decoded receive buffer to stdout if the command returns + a structure. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Enable streams directive : ++ +------------ +# nvme dir-send /dev/nvme0n1 --dir-type 0 --dir-oper 1 --target-dir 1 --endir 1 +------------ ++ + +* Disable streams directive : ++ +------------ +# nvme dir-send /dev/nvme0n1 --dir-type 0 --dir-oper 1 --target-dir 1 --endir 0 +------------ ++ + +* Release all allocated streams resource : ++ +------------ +# nvme dir-send /dev/nvme0n1 --dir-type 1 --dir-oper 2 +------------ ++ + +* Release stream ID 3 : ++ +------------ +# nvme dir-send /dev/nvme0 --dir-type 1 --dir-oper 1 --dir-spec 3 +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-disconnect-all.1 b/Documentation/nvme-disconnect-all.1 new file mode 100644 index 0000000..9652365 --- /dev/null +++ b/Documentation/nvme-disconnect-all.1 @@ -0,0 +1,84 @@ +'\" t +.\" Title: nvme-disconnect-all +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DISCONNECT\-AL" "1" "02/14/2024" "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-disconnect-all \- Disconnect from all connected Fabrics controllers\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme disconnect\-all\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Disconnects and removes all existing NVMe over Fabrics controllers\&. +.sp +See the documentation for the nvme\-disconnect(1) command for further background\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Disconnect all existing nvme controllers: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme disconnect\-all +.fi +.if n \{\ +.RE +.\} +.RE +.SH "SEE ALSO" +.sp +nvme\-disconnect(1) +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-disconnect-all.html b/Documentation/nvme-disconnect-all.html new file mode 100644 index 0000000..59b545e --- /dev/null +++ b/Documentation/nvme-disconnect-all.html @@ -0,0 +1,832 @@ + + + + + + +nvme-disconnect-all(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme disconnect-all [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Disconnects and removes all existing NVMe over Fabrics controllers.

+

See the documentation for the nvme-disconnect(1) command for further +background.

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Disconnect all existing nvme controllers: +

    +
    +
    +
    # nvme disconnect-all
    +
    +
  • +
+
+
+
+

SEE ALSO

+
+

nvme-disconnect(1)

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-disconnect-all.txt b/Documentation/nvme-disconnect-all.txt new file mode 100644 index 0000000..9f023ea --- /dev/null +++ b/Documentation/nvme-disconnect-all.txt @@ -0,0 +1,45 @@ +nvme-disconnect-all(1) +====================== + +NAME +---- +nvme-disconnect-all - Disconnect from all connected Fabrics controllers. + +SYNOPSIS +-------- +[verse] +'nvme disconnect-all' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Disconnects and removes all existing NVMe over Fabrics controllers. + +See the documentation for the nvme-disconnect(1) command for further +background. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Disconnect all existing nvme controllers: ++ +------------ +# nvme disconnect-all +------------ + +SEE ALSO +-------- +nvme-disconnect(1) + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-disconnect.1 b/Documentation/nvme-disconnect.1 new file mode 100644 index 0000000..2fcf331 --- /dev/null +++ b/Documentation/nvme-disconnect.1 @@ -0,0 +1,115 @@ +'\" t +.\" Title: nvme-disconnect +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DISCONNECT" "1" "02/14/2024" "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-disconnect \- Disconnect one or more Fabrics controller(s)\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme disconnect\fR [\-\-nqn= | \-n ] + [\-\-device= | \-d ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Disconnects and removes one or more existing NVMe over Fabrics controllers\&. If the \-\-nqn option is specified all controllers connecting to the Subsystem identified by subnqn will be removed\&. If the \-\-device option is specified the controller specified by the \-\-device option will be removed\&. +.SH "OPTIONS" +.PP +\-n , \-\-nqn +.RS 4 +Indicates that all controllers for the NVMe subsystems specified should be removed\&. +.RE +.PP +\-d , \-\-device +.RS 4 +Indicates that the controller with the specified name should be removed\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Disconnect all controllers for a subsystem named nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme disconnect \-\-nqn=nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Disconnect the controller nvme4 +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme disconnect \-\-device=nvme4 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "SEE ALSO" +.sp +nvme\-connect(1) +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-disconnect.html b/Documentation/nvme-disconnect.html new file mode 100644 index 0000000..486efb4 --- /dev/null +++ b/Documentation/nvme-disconnect.html @@ -0,0 +1,869 @@ + + + + + + +nvme-disconnect(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme disconnect [--nqn=<subnqn> | -n <subnqn>]
+                        [--device=<device> | -d <device>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Disconnects and removes one or more existing NVMe over Fabrics controllers. +If the --nqn option is specified all controllers connecting to the Subsystem +identified by subnqn will be removed. If the --device option is specified +the controller specified by the --device option will be removed.

+
+
+
+

OPTIONS

+
+
+
+-n <subnqn> +
+
+--nqn <subnqn> +
+
+

+ Indicates that all controllers for the NVMe subsystems specified + should be removed. +

+
+
+-d <device> +
+
+--device <device> +
+
+

+ Indicates that the controller with the specified name should be + removed. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Disconnect all controllers for a subsystem named +nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432: +

    +
    +
    +
    # nvme disconnect --nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    +
    +
  • +
  • +

    +Disconnect the controller nvme4 +

    +
    +
    +
    # nvme disconnect --device=nvme4
    +
    +
  • +
+
+
+
+

SEE ALSO

+
+

nvme-connect(1)

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-disconnect.txt b/Documentation/nvme-disconnect.txt new file mode 100644 index 0000000..d3b8c52 --- /dev/null +++ b/Documentation/nvme-disconnect.txt @@ -0,0 +1,64 @@ +nvme-disconnect(1) +================== + +NAME +---- +nvme-disconnect - Disconnect one or more Fabrics controller(s). + +SYNOPSIS +-------- +[verse] +'nvme disconnect' [--nqn= | -n ] + [--device= | -d ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Disconnects and removes one or more existing NVMe over Fabrics controllers. +If the --nqn option is specified all controllers connecting to the Subsystem +identified by subnqn will be removed. If the --device option is specified +the controller specified by the --device option will be removed. + +OPTIONS +------- +-n :: +--nqn :: + Indicates that all controllers for the NVMe subsystems specified + should be removed. + +-d :: +--device :: + Indicates that the controller with the specified name should be + removed. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Disconnect all controllers for a subsystem named +nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432: ++ +------------ +# nvme disconnect --nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 +------------ + +* Disconnect the controller nvme4 ++ +------------ +# nvme disconnect --device=nvme4 +------------ + +SEE ALSO +-------- +nvme-connect(1) + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-discover.1 b/Documentation/nvme-discover.1 new file mode 100644 index 0000000..c099d1a --- /dev/null +++ b/Documentation/nvme-discover.1 @@ -0,0 +1,414 @@ +'\" t +.\" Title: nvme-discover +.\" Author: [see the "AUTHORS" section] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DISCOVER" "1" "02/14/2024" "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-discover \- Send Get Log Page request to Discovery Controller\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme discover\fR [\-\-transport= | \-t ] + [\-\-nqn= | \-n ] + [\-\-traddr= | \-a ] + [\-\-trsvcid= | \-s ] + [\-\-host\-traddr= | \-w ] + [\-\-host\-iface= | \-f ] + [\-\-hostnqn= | \-q ] + [\-\-hostid= | \-I ] + [\-\-raw= | \-r ] + [\-\-device= | \-d ] + [\-\-config= | \-J ] + [\-\-keep\-alive\-tmo= | \-k ] + [\-\-reconnect\-delay=<#> | \-c <#>] + [\-\-ctrl\-loss\-tmo=<#> | \-l <#>] + [\-\-nr\-io\-queues=<#> | \-i <#>] + [\-\-nr\-write\-queues=<#> | \-W <#>] + [\-\-nr\-poll\-queues=<#> | \-P <#>] + [\-\-queue\-size=<#> | \-Q <#>] [\-\-keyring=<#>] + [\-\-tls_key=<#>] [\-\-hdr\-digest | \-g] [\-\-data\-digest | \-G] + [\-\-persistent | \-p] [\-\-quiet | \-S] [\-\-tls] [\-\-concat] + [\-\-dump\-config | \-O] [\-\-output\-format= | \-o ] + [\-\-force] [\-\-nbft] [\-\-no\-nbft] [\-\-nbft\-path=] + [\-\-context=] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Send one or more Get Log Page requests to a NVMe\-over\-Fabrics Discovery Controller\&. +.sp +If no parameters are given, then \fInvme discover\fR will attempt to find a /usr/local/etc/nvme/discovery\&.conf file to use to supply a list of Discovery commands to run\&. If no /usr/local/etc/nvme/discovery\&.conf file exists, the command will quit with an error\&. +.sp +Otherwise, a specific Discovery Controller should be specified using the \-\-transport, \-\-traddr, and if necessary the \-\-trsvcid flags\&. A Discovery request will then be sent to the specified Discovery Controller\&. +.SH "BACKGROUND" +.sp +The NVMe\-over\-Fabrics specification defines the concept of a Discovery Controller that an NVMe Host can query on a fabric network to discover NVMe subsystems contained in NVMe Targets which it can connect to on the network\&. The Discovery Controller will return Discovery Log Pages that provide the NVMe Host with specific information (such as network address and unique subsystem NQN) the NVMe Host can use to issue an NVMe connect command to connect itself to a storage resource contained in that NVMe subsystem on the NVMe Target\&. +.sp +Note that the base NVMe specification defines the NQN (NVMe Qualified Name) format which an NVMe endpoint (device, subsystem, etc) must follow to guarantee a unique name under the NVMe standard\&. In particular, the Host NQN uniquely identifies the NVMe Host, and may be used by the Discovery Controller to control what NVMe Target resources are allocated to the NVMe Host for a connection\&. +.sp +A Discovery Controller has it\(cqs own NQN defined in the NVMe\-over\-Fabrics specification, \fBnqn\&.2014\-08\&.org\&.nvmexpress\&.discovery\fR\&. All Discovery Controllers must use this NQN name\&. This NQN is used by default by nvme\-cli for the \fIdiscover\fR command\&. +.SH "OPTIONS" +.PP +\-t , \-\-transport= +.RS 4 +This field specifies the network fabric being used for a NVMe\-over\-Fabrics network\&. Current string values include: +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +rdma +T}:T{ +The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) +T} +T{ +fc +T}:T{ +\fBWIP\fR +The network fabric is a Fibre Channel network\&. +T} +T{ +tcp +T}:T{ +The network fabric is a TCP/IP network\&. +T} +T{ +loop +T}:T{ +Connect to a NVMe over Fabrics target on the local host +T} +.TE +.sp 1 +.RE +.PP +\-n , \-\-nqn +.RS 4 +This field specifies the name for the NVMe subsystem to connect to\&. +.RE +.PP +\-a , \-\-traddr= +.RS 4 +This field specifies the network address of the Discovery Controller\&. For transports using IP addressing (e\&.g\&. rdma) this should be an IP\-based address (ex\&. IPv4)\&. +.RE +.PP +\-s , \-\-trsvcid= +.RS 4 +This field specifies the transport service id\&. For transports using IP addressing (e\&.g\&. rdma) this field is the port number\&. By default, the IP port number for the RDMA transport is 4420\&. +.RE +.PP +\-w , \-\-host\-traddr= +.RS 4 +This field specifies the network address used on the host to connect to the Controller\&. For TCP, this sets the source address on the socket\&. +.RE +.PP +\-f , \-\-host\-iface= +.RS 4 +This field specifies the network interface used on the host to connect to the Controller (e\&.g\&. IP eth1, enp2s0, enx78e7d1ea46da)\&. This forces the connection to be made on a specific interface instead of letting the system decide\&. +.RE +.PP +\-q , \-\-hostnqn= +.RS 4 +Overrides the default host NQN that identifies the NVMe Host\&. If this option is not specified, the default is read from /usr/local/etc/nvme/hostnqn first\&. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next\&. +.RE +.PP +\-I , \-\-hostid= +.RS 4 +UUID(Universally Unique Identifier) to be discovered which should be formatted\&. +.RE +.PP +\-r , \-\-raw= +.RS 4 +This field will take the output of the +\fInvme discover\fR +command and dump it to a raw binary file\&. By default +\fInvme discover\fR +will dump the output to stdout\&. +.RE +.PP +\-d , \-\-device= +.RS 4 +This field takes a device as input\&. It must be a persistent device associated with a Discovery Controller previously created by the command "connect\-all" or "discover"\&. follows the format nvme*, eg\&. nvme0, nvme1\&. +.RE +.PP +\-J , \-\-config= +.RS 4 +Use the specified JSON configuration file instead of the default /usr/local/etc/nvme/config\&.json file or +\fInone\fR +to not read in an existing configuration file\&. The JSON configuration file format is documented in +\m[blue]\fBhttps://github\&.com/linux\-nvme/libnvme/blob/master/doc/config\-schema\&.json\fR\m[] +.RE +.PP +\-k <#>, \-\-keep\-alive\-tmo=<#> +.RS 4 +Overrides the default keep alive timeout (in seconds)\&. This option will be ignored for discovery, and it is only implemented for completeness\&. +.RE +.PP +\-c <#>, \-\-reconnect\-delay=<#> +.RS 4 +Overrides the default delay (in seconds) before reconnect is attempted after a connect loss\&. +.RE +.PP +\-l <#>, \-\-ctrl\-loss\-tmo=<#> +.RS 4 +Overrides the default controller loss timeout period (in seconds)\&. +.RE +.PP +\-i <#>, \-\-nr\-io\-queues=<#> +.RS 4 +Overrides the default number of I/O queues create by the driver\&. This option will be ignored for the discovery, and it is only implemented for completeness\&. +.RE +.PP +\-W <#>, \-\-nr\-write\-queues=<#> +.RS 4 +Adds additional queues that will be used for write I/O\&. +.RE +.PP +\-P <#>, \-\-nr\-poll\-queues=<#> +.RS 4 +Adds additional queues that will be used for polling latency sensitive I/O\&. +.RE +.PP +\-Q <#>, \-\-queue\-size=<#> +.RS 4 +Overrides the default number of elements in the I/O queues created by the driver which can be found at drivers/nvme/host/fabrics\&.h\&. This option will be ignored for the discovery, and it is only implemented for completeness\&. +.RE +.PP +\-\-keyring=<#> +.RS 4 +Keyring for TLS key lookup\&. +.RE +.PP +\-\-tls_key=<#> +.RS 4 +TLS key for the connection (TCP)\&. +.RE +.PP +\-g, \-\-hdr\-digest +.RS 4 +Generates/verifies header digest (TCP)\&. +.RE +.PP +\-G, \-\-data\-digest +.RS 4 +Generates/verifies data digest (TCP)\&. +.RE +.PP +\-p, \-\-persistent +.RS 4 +Don\(cqt remove the discovery controller after retrieving the discovery log page\&. +.RE +.PP +\-\-tls +.RS 4 +Enable TLS encryption (TCP)\&. +.RE +.PP +\-\-concat +.RS 4 +Enable secure concatenation (TCP)\&. +.RE +.PP +\-S, \-\-quiet +.RS 4 +Suppress already connected errors\&. +.RE +.PP +\-O, \-\-dump\-config +.RS 4 +Print out resulting JSON configuration file to stdout\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-\-force +.RS 4 +Disable the built\-in persistent discover connection rules\&. Combined with \-\-persistent flag, always create new persistent discovery connection\&. +.RE +.PP +\-\-nbft +.RS 4 +Only look at NBFT tables +.RE +.PP +\-\-no\-nbft +.RS 4 +Do not look at NBFT tables +.RE +.PP +\-\-nbft\-path= +.RS 4 +Use a user\-defined path to the NBFT tables +.RE +.PP +\-\-context +.RS 4 +Set the execution context to \&. This allows to coordinate the management of the global resources\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Query the Discover Controller with IP4 address 192\&.168\&.1\&.3 for all resources allocated for NVMe Host name host1\-rogue\-nqn on the RDMA network\&. Port 4420 is used by default: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme discover \-\-transport=rdma \-\-traddr=192\&.168\&.1\&.3 \e +\-\-hostnqn=host1\-rogue\-nqn +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Issue a +\fInvme discover\fR +command using the default system defined NBFT tables: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme discover \-\-nbft +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Issue a +\fInvme discover\fR +command with a user\-defined path for the NBFT table: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme discover \-\-nbft\-path=/sys/firmware/acpi/tables/NBFT1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Issue a +\fInvme discover\fR +command using a /usr/local/etc/nvme/discovery\&.conf file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# Machine default \*(Aqnvme discover\*(Aq commands\&. Query the +# Discovery Controller\*(Aqs two ports (some resources may only +# be accessible on a single port)\&. Note an official +# nqn (Host) name defined in the NVMe specification is being used +# in this example\&. +\-t rdma \-a 192\&.168\&.69\&.33 \-s 4420 \-q nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 +\-t rdma \-a 192\&.168\&.1\&.4 \-s 4420 \-q nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 + +At the prompt type "nvme discover"\&. +.fi +.if n \{\ +.RE +.\} +.RE +.SH "SEE ALSO" +.sp +nvme\-connect(1) nvme\-connect\-all(1) +.SH "AUTHORS" +.sp +This was written by \m[blue]\fBJay Freyensee\fR\m[]\&\s-2\u[1]\d\s+2 +.SH "NVME" +.sp +Part of the nvme\-user suite +.SH "NOTES" +.IP " 1." 4 +Jay Freyensee +.RS 4 +\%mailto:james.p.freyensee@intel.com +.RE diff --git a/Documentation/nvme-discover.html b/Documentation/nvme-discover.html new file mode 100644 index 0000000..0d5f6a9 --- /dev/null +++ b/Documentation/nvme-discover.html @@ -0,0 +1,1332 @@ + + + + + + +nvme-discover(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme discover [--transport=<trtype> | -t <trtype>]
+                        [--nqn=<subnqn> | -n <subnqn>]
+                        [--traddr=<traddr> | -a <traddr>]
+                        [--trsvcid=<trsvcid> | -s <trsvcid>]
+                        [--host-traddr=<traddr> | -w <traddr>]
+                        [--host-iface=<iface> | -f <iface>]
+                        [--hostnqn=<hostnqn> | -q <hostnqn>]
+                        [--hostid=<hostid> | -I <hostid>]
+                        [--raw=<filename> | -r <filename>]
+                        [--device=<device> | -d <device>]
+                        [--config=<filename> | -J <filename>]
+                        [--keep-alive-tmo=<sec> | -k <sec>]
+                        [--reconnect-delay=<#> | -c <#>]
+                        [--ctrl-loss-tmo=<#> | -l <#>]
+                        [--nr-io-queues=<#> | -i <#>]
+                        [--nr-write-queues=<#> | -W <#>]
+                        [--nr-poll-queues=<#> | -P <#>]
+                        [--queue-size=<#> | -Q <#>] [--keyring=<#>]
+                        [--tls_key=<#>] [--hdr-digest | -g] [--data-digest | -G]
+                        [--persistent | -p] [--quiet | -S] [--tls] [--concat]
+                        [--dump-config | -O] [--output-format=<fmt> | -o <fmt>]
+                        [--force] [--nbft] [--no-nbft] [--nbft-path=<STR>]
+                        [--context=<STR>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Send one or more Get Log Page requests to a NVMe-over-Fabrics Discovery +Controller.

+

If no parameters are given, then nvme discover will attempt to +find a /usr/local/etc/nvme/discovery.conf file to use to supply a list of +Discovery commands to run. If no /usr/local/etc/nvme/discovery.conf file +exists, the command will quit with an error.

+

Otherwise, a specific Discovery Controller should be specified using the +--transport, --traddr, and if necessary the --trsvcid flags. A Discovery +request will then be sent to the specified Discovery Controller.

+
+
+
+

BACKGROUND

+
+

The NVMe-over-Fabrics specification defines the concept of a +Discovery Controller that an NVMe Host can query on a fabric +network to discover NVMe subsystems contained in NVMe Targets +which it can connect to on the network. The Discovery Controller +will return Discovery Log Pages that provide the NVMe Host +with specific information (such as network address and unique +subsystem NQN) the NVMe Host can use to issue an +NVMe connect command to connect itself to a storage resource +contained in that NVMe subsystem on the NVMe Target.

+

Note that the base NVMe specification defines the NQN (NVMe Qualified +Name) format which an NVMe endpoint (device, subsystem, etc) must +follow to guarantee a unique name under the NVMe standard. +In particular, the Host NQN uniquely identifies the NVMe Host, and +may be used by the Discovery Controller to control what NVMe Target +resources are allocated to the NVMe Host for a connection.

+

A Discovery Controller has it’s own NQN defined in the NVMe-over-Fabrics +specification, nqn.2014-08.org.nvmexpress.discovery. All Discovery +Controllers must use this NQN name. This NQN is used by default by +nvme-cli for the discover command.

+
+
+
+

OPTIONS

+
+
+
+-t <trtype> +
+
+--transport=<trtype> +
+
+

+ This field specifies the network fabric being used for + a NVMe-over-Fabrics network. Current string values include: +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

rdma

The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc)

fc

WIP The network fabric is a Fibre Channel network.

tcp

The network fabric is a TCP/IP network.

loop

Connect to a NVMe over Fabrics target on the local host

+
+
+
+-n <subnqn> +
+
+--nqn <subnqn> +
+
+

+ This field specifies the name for the NVMe subsystem to connect to. +

+
+
+-a <traddr> +
+
+--traddr=<traddr> +
+
+

+ This field specifies the network address of the Discovery Controller. + For transports using IP addressing (e.g. rdma) this should be an + IP-based address (ex. IPv4). +

+
+
+-s <trsvcid> +
+
+--trsvcid=<trsvcid> +
+
+

+ This field specifies the transport service id. For transports using IP + addressing (e.g. rdma) this field is the port number. By default, the IP + port number for the RDMA transport is 4420. +

+
+
+-w <traddr> +
+
+--host-traddr=<traddr> +
+
+

+ This field specifies the network address used on the host to connect + to the Controller. For TCP, this sets the source address on the socket. +

+
+
+-f <iface> +
+
+--host-iface=<iface> +
+
+

+ This field specifies the network interface used on the host to connect + to the Controller (e.g. IP eth1, enp2s0, enx78e7d1ea46da). This forces + the connection to be made on a specific interface instead of letting + the system decide. +

+
+
+-q <hostnqn> +
+
+--hostnqn=<hostnqn> +
+
+

+ Overrides the default host NQN that identifies the NVMe Host. + If this option is not specified, the default is read from + /usr/local/etc/nvme/hostnqn first. If that does not exist, the + autogenerated NQN value from the NVMe Host kernel module is used next. +

+
+
+-I <hostid> +
+
+--hostid=<hostid> +
+
+

+ UUID(Universally Unique Identifier) to be discovered which should be + formatted. +

+
+
+-r <filename> +
+
+--raw=<filename> +
+
+

+ This field will take the output of the nvme discover command + and dump it to a raw binary file. By default nvme discover will + dump the output to stdout. +

+
+
+-d <device> +
+
+--device=<device> +
+
+

+ This field takes a device as input. It must be a persistent device + associated with a Discovery Controller previously created by the + command "connect-all" or "discover". <device> follows the format + nvme*, eg. nvme0, nvme1. +

+
+
+-J <filename> +
+
+--config=<filename> +
+
+

+ Use the specified JSON configuration file instead of the + default /usr/local/etc/nvme/config.json file or none to not read in + an existing configuration file. The JSON configuration file + format is documented in + https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json +

+
+
+-k <#> +
+
+--keep-alive-tmo=<#> +
+
+

+ Overrides the default keep alive timeout (in seconds). This + option will be ignored for discovery, and it is only + implemented for completeness. +

+
+
+-c <#> +
+
+--reconnect-delay=<#> +
+
+

+ Overrides the default delay (in seconds) before reconnect is attempted + after a connect loss. +

+
+
+-l <#> +
+
+--ctrl-loss-tmo=<#> +
+
+

+ Overrides the default controller loss timeout period (in seconds). +

+
+
+-i <#> +
+
+--nr-io-queues=<#> +
+
+

+ Overrides the default number of I/O queues create by the driver. + This option will be ignored for the discovery, and it is only + implemented for completeness. +

+
+
+-W <#> +
+
+--nr-write-queues=<#> +
+
+

+ Adds additional queues that will be used for write I/O. +

+
+
+-P <#> +
+
+--nr-poll-queues=<#> +
+
+

+ Adds additional queues that will be used for polling latency sensitive I/O. +

+
+
+-Q <#> +
+
+--queue-size=<#> +
+
+

+ Overrides the default number of elements in the I/O queues created + by the driver which can be found at drivers/nvme/host/fabrics.h. + This option will be ignored for the discovery, and it is only + implemented for completeness. +

+
+
+--keyring=<#> +
+
+

+ Keyring for TLS key lookup. +

+
+
+--tls_key=<#> +
+
+

+ TLS key for the connection (TCP). +

+
+
+-g +
+
+--hdr-digest +
+
+

+ Generates/verifies header digest (TCP). +

+
+
+-G +
+
+--data-digest +
+
+

+ Generates/verifies data digest (TCP). +

+
+
+-p +
+
+--persistent +
+
+

+ Don’t remove the discovery controller after retrieving the discovery + log page. +

+
+
+--tls +
+
+

+ Enable TLS encryption (TCP). +

+
+
+--concat +
+
+

+ Enable secure concatenation (TCP). +

+
+
+-S +
+
+--quiet +
+
+

+ Suppress already connected errors. +

+
+
+-O +
+
+--dump-config +
+
+

+ Print out resulting JSON configuration file to stdout. +

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

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

+
+
+--force +
+
+

+ Disable the built-in persistent discover connection rules. + Combined with --persistent flag, always create new + persistent discovery connection. +

+
+
+--nbft +
+
+

+ Only look at NBFT tables +

+
+
+--no-nbft +
+
+

+ Do not look at NBFT tables +

+
+
+--nbft-path=<STR> +
+
+

+ Use a user-defined path to the NBFT tables +

+
+
+--context <STR> +
+
+

+ Set the execution context to <STR>. This allows to coordinate + the management of the global resources. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Query the Discover Controller with IP4 address 192.168.1.3 for all +resources allocated for NVMe Host name host1-rogue-nqn on the RDMA network. +Port 4420 is used by default: +

    +
    +
    +
    # nvme discover --transport=rdma --traddr=192.168.1.3 \
    +--hostnqn=host1-rogue-nqn
    +
    +
  • +
  • +

    +Issue a nvme discover command using the default system defined NBFT tables: +

    +
    +
    +
    # nvme discover --nbft
    +
    +
  • +
  • +

    +Issue a nvme discover command with a user-defined path for the NBFT table: +

    +
    +
    +
    # nvme discover --nbft-path=/sys/firmware/acpi/tables/NBFT1
    +
    +
  • +
  • +

    +Issue a nvme discover command using a /usr/local/etc/nvme/discovery.conf file: +

    +
    +
    +
    # Machine default 'nvme discover' commands. Query the
    +# Discovery Controller's two ports (some resources may only
    +# be accessible on a single port). Note an official
    +# nqn (Host) name defined in the NVMe specification is being used
    +# in this example.
    +-t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    +-t rdma -a 192.168.1.4   -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    +
    +At the prompt type "nvme discover".
    +
    +
  • +
+
+
+
+

SEE ALSO

+
+

nvme-connect(1) +nvme-connect-all(1)

+
+
+
+

AUTHORS

+
+

This was written by Jay Freyensee

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-discover.txt b/Documentation/nvme-discover.txt new file mode 100644 index 0000000..1069d3c --- /dev/null +++ b/Documentation/nvme-discover.txt @@ -0,0 +1,301 @@ +nvme-discover(1) +================ + +NAME +---- +nvme-discover - Send Get Log Page request to Discovery Controller. + +SYNOPSIS +-------- +[verse] +'nvme discover' [--transport= | -t ] + [--nqn= | -n ] + [--traddr= | -a ] + [--trsvcid= | -s ] + [--host-traddr= | -w ] + [--host-iface= | -f ] + [--hostnqn= | -q ] + [--hostid= | -I ] + [--raw= | -r ] + [--device= | -d ] + [--config= | -J ] + [--keep-alive-tmo= | -k ] + [--reconnect-delay=<#> | -c <#>] + [--ctrl-loss-tmo=<#> | -l <#>] + [--nr-io-queues=<#> | -i <#>] + [--nr-write-queues=<#> | -W <#>] + [--nr-poll-queues=<#> | -P <#>] + [--queue-size=<#> | -Q <#>] [--keyring=<#>] + [--tls_key=<#>] [--hdr-digest | -g] [--data-digest | -G] + [--persistent | -p] [--quiet | -S] [--tls] [--concat] + [--dump-config | -O] [--output-format= | -o ] + [--force] [--nbft] [--no-nbft] [--nbft-path=] + [--context=] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Send one or more Get Log Page requests to a NVMe-over-Fabrics Discovery +Controller. + +If no parameters are given, then 'nvme discover' will attempt to +find a @SYSCONFDIR@/nvme/discovery.conf file to use to supply a list of +Discovery commands to run. If no @SYSCONFDIR@/nvme/discovery.conf file +exists, the command will quit with an error. + +Otherwise, a specific Discovery Controller should be specified using the +--transport, --traddr, and if necessary the --trsvcid flags. A Discovery +request will then be sent to the specified Discovery Controller. + +BACKGROUND +---------- +The NVMe-over-Fabrics specification defines the concept of a +Discovery Controller that an NVMe Host can query on a fabric +network to discover NVMe subsystems contained in NVMe Targets +which it can connect to on the network. The Discovery Controller +will return Discovery Log Pages that provide the NVMe Host +with specific information (such as network address and unique +subsystem NQN) the NVMe Host can use to issue an +NVMe connect command to connect itself to a storage resource +contained in that NVMe subsystem on the NVMe Target. + +Note that the base NVMe specification defines the NQN (NVMe Qualified +Name) format which an NVMe endpoint (device, subsystem, etc) must +follow to guarantee a unique name under the NVMe standard. +In particular, the Host NQN uniquely identifies the NVMe Host, and +may be used by the Discovery Controller to control what NVMe Target +resources are allocated to the NVMe Host for a connection. + +A Discovery Controller has it's own NQN defined in the NVMe-over-Fabrics +specification, *nqn.2014-08.org.nvmexpress.discovery*. All Discovery +Controllers must use this NQN name. This NQN is used by default by +nvme-cli for the 'discover' command. + +OPTIONS +------- +-t :: +--transport=:: + This field specifies the network fabric being used for + a NVMe-over-Fabrics network. Current string values include: ++ +[] +|================= +|Value|Definition +|rdma|The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) +|fc |*WIP* The network fabric is a Fibre Channel network. +|tcp |The network fabric is a TCP/IP network. +|loop|Connect to a NVMe over Fabrics target on the local host +|================= + +-n :: +--nqn :: + This field specifies the name for the NVMe subsystem to connect to. + +-a :: +--traddr=:: + This field specifies the network address of the Discovery Controller. + For transports using IP addressing (e.g. rdma) this should be an + IP-based address (ex. IPv4). + +-s :: +--trsvcid=:: + This field specifies the transport service id. For transports using IP + addressing (e.g. rdma) this field is the port number. By default, the IP + port number for the RDMA transport is 4420. + +-w :: +--host-traddr=:: + This field specifies the network address used on the host to connect + to the Controller. For TCP, this sets the source address on the socket. + +-f :: +--host-iface=:: + This field specifies the network interface used on the host to connect + to the Controller (e.g. IP eth1, enp2s0, enx78e7d1ea46da). This forces + the connection to be made on a specific interface instead of letting + the system decide. + +-q :: +--hostnqn=:: + Overrides the default host NQN that identifies the NVMe Host. + If this option is not specified, the default is read from + @SYSCONFDIR@/nvme/hostnqn first. If that does not exist, the + autogenerated NQN value from the NVMe Host kernel module is used next. + +-I :: +--hostid=:: + UUID(Universally Unique Identifier) to be discovered which should be + formatted. + +-r :: +--raw=:: + This field will take the output of the 'nvme discover' command + and dump it to a raw binary file. By default 'nvme discover' will + dump the output to stdout. + +-d :: +--device=:: + This field takes a device as input. It must be a persistent device + associated with a Discovery Controller previously created by the + command "connect-all" or "discover". follows the format + nvme*, eg. nvme0, nvme1. + +-J :: +--config=:: + Use the specified JSON configuration file instead of the + default @SYSCONFDIR@/nvme/config.json file or 'none' to not read in + an existing configuration file. The JSON configuration file + format is documented in + https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json + +-k <#>:: +--keep-alive-tmo=<#>:: + Overrides the default keep alive timeout (in seconds). This + option will be ignored for discovery, and it is only + implemented for completeness. + +-c <#>:: +--reconnect-delay=<#>:: + Overrides the default delay (in seconds) before reconnect is attempted + after a connect loss. + +-l <#>:: +--ctrl-loss-tmo=<#>:: + Overrides the default controller loss timeout period (in seconds). + +-i <#>:: +--nr-io-queues=<#>:: + Overrides the default number of I/O queues create by the driver. + This option will be ignored for the discovery, and it is only + implemented for completeness. + +-W <#>:: +--nr-write-queues=<#>:: + Adds additional queues that will be used for write I/O. + +-P <#>:: +--nr-poll-queues=<#>:: + Adds additional queues that will be used for polling latency sensitive I/O. + +-Q <#>:: +--queue-size=<#>:: + Overrides the default number of elements in the I/O queues created + by the driver which can be found at drivers/nvme/host/fabrics.h. + This option will be ignored for the discovery, and it is only + implemented for completeness. + +--keyring=<#>:: + Keyring for TLS key lookup. + +--tls_key=<#>:: + TLS key for the connection (TCP). + +-g:: +--hdr-digest:: + Generates/verifies header digest (TCP). + +-G:: +--data-digest:: + Generates/verifies data digest (TCP). + +-p:: +--persistent:: + Don't remove the discovery controller after retrieving the discovery + log page. + +--tls:: + Enable TLS encryption (TCP). + +--concat:: + Enable secure concatenation (TCP). + +-S:: +--quiet:: + Suppress already connected errors. + +-O:: +--dump-config:: + Print out resulting JSON configuration file to stdout. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +--force:: + Disable the built-in persistent discover connection rules. + Combined with --persistent flag, always create new + persistent discovery connection. + +--nbft:: + Only look at NBFT tables + +--no-nbft:: + Do not look at NBFT tables + +--nbft-path=:: + Use a user-defined path to the NBFT tables + +--context :: + Set the execution context to . This allows to coordinate + the management of the global resources. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Query the Discover Controller with IP4 address 192.168.1.3 for all +resources allocated for NVMe Host name host1-rogue-nqn on the RDMA network. +Port 4420 is used by default: ++ +------------ +# nvme discover --transport=rdma --traddr=192.168.1.3 \ +--hostnqn=host1-rogue-nqn +------------ ++ +* Issue a 'nvme discover' command using the default system defined NBFT tables: ++ +----------- +# nvme discover --nbft +------------ ++ +* Issue a 'nvme discover' command with a user-defined path for the NBFT table: ++ +----------- +# nvme discover --nbft-path=/sys/firmware/acpi/tables/NBFT1 +------------ ++ +* Issue a 'nvme discover' command using a @SYSCONFDIR@/nvme/discovery.conf file: ++ +----------- +# Machine default 'nvme discover' commands. Query the +# Discovery Controller's two ports (some resources may only +# be accessible on a single port). Note an official +# nqn (Host) name defined in the NVMe specification is being used +# in this example. +-t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 +-t rdma -a 192.168.1.4 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 + +At the prompt type "nvme discover". + +------------ + +SEE ALSO +-------- +nvme-connect(1) +nvme-connect-all(1) + +AUTHORS +------- +This was written by mailto:james.p.freyensee@intel.com[Jay Freyensee] + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-dsm.1 b/Documentation/nvme-dsm.1 new file mode 100644 index 0000000..ba3b709 --- /dev/null +++ b/Documentation/nvme-dsm.1 @@ -0,0 +1,113 @@ +'\" t +.\" Title: nvme-dsm +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DSM" "1" "02/14/2024" "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-dsm \- Send NVMe Data Set Management, return results +.SH "SYNOPSIS" +.sp +.nf +\fInvme dsm\fR [\-\-namespace\-id= | \-n ] + [\-\-ctx\-attrs= | \-a ] + [\-\-blocks= | \-b ] + [\-\-slbs= | \-s ] + [\-\-ad= | \-d ] + [\-\-idw= | \-w ] [\-\-idr= | \-r ] + [\-\-cdw11= | \-c ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends a Data Set Management command and provides the result and returned 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)\&. If the character device is given, the \*(Aq\-\-namespace\-id\*(Aq option is mandatory, otherwise it will use the ns\-id of the namespace for the block device you opened\&. For block devices, the ns\-id used can be overridden with the same option\&. +.sp +You must specify at least one of the values for range list\&. If the range lists provided do not list the same number of elements, the default values for the remaining in the range will be set to 0\&. +.sp +The command dword 11 may be provided at the command line\&. For convenience, the current defined attributes (discard, integral read/write) for a data\-set management have flags\&. If cdw11 is specified, this will override any settings from the flags may have provided\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Sends the command with the requested nsid\&. This is required for the character devices, or overrides the block nsid if given\&. +.RE +.PP +\-a , \-\-ctx\-attrs= +.RS 4 +Comma separated list of the context attributes in each range +.RE +.PP +\-b , \-\-blocks= +.RS 4 +Comma separated list of the number of blocks in each range +.RE +.PP +\-s , \-\-slbs= +.RS 4 +Comma separated list of the starting block in each range +.RE +.PP +\-d , \-\-ad= +.RS 4 +Attribute Deallocate\&. +.RE +.PP +\-w , \-\-idw= +.RS 4 +Attribute Integral Dataset for Write\&. +.RE +.PP +\-r , \-\-idr= +.RS 4 +Attribute Integral Dataset for Read\&. +.RE +.PP +\-c , \-\-cdw11= +.RS 4 +All the command command dword 11 attributes\&. Use exclusive from specifying individual attributes +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-dsm.html b/Documentation/nvme-dsm.html new file mode 100644 index 0000000..f5b4de2 --- /dev/null +++ b/Documentation/nvme-dsm.html @@ -0,0 +1,925 @@ + + + + + + +nvme-dsm(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme dsm <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--ctx-attrs=<attribute-list,> | -a <attribute-list,>]
+                        [--blocks=<nlb-list,> | -b <nlb-list,>]
+                        [--slbs=<slba-list,> | -s <slba-list,>]
+                        [--ad=<deallocate> | -d <deallocate>]
+                        [--idw=<write> | -w <write>] [--idr=<read> | -r <read>]
+                        [--cdw11=<cdw11> | -c <cdw11>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends a Data Set Management command and +provides the result and returned structure.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the character device is given, the '--namespace-id' option is +mandatory, otherwise it will use the ns-id of the namespace for the block +device you opened. For block devices, the ns-id used can be overridden +with the same option.

+

You must specify at least one of the values for range list. If the range +lists provided do not list the same number of elements, the default +values for the remaining in the range will be set to 0.

+

The command dword 11 may be provided at the command line. For convenience, +the current defined attributes (discard, integral read/write) for a +data-set management have flags. If cdw11 is specified, this will override +any settings from the flags may have provided.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Sends the command with the requested nsid. This is required for the + character devices, or overrides the block nsid if given. +

+
+
+-a <attribute-list,> +
+
+--ctx-attrs=<attribute-list> +
+
+

+ Comma separated list of the context attributes in each range +

+
+
+-b <nlb-list,> +
+
+--blocks=<nlb-list,> +
+
+

+ Comma separated list of the number of blocks in each range +

+
+
+-s <slba-list,> +
+
+--slbs=<slba-list,> +
+
+

+ Comma separated list of the starting block in each range +

+
+
+-d <deallocate> +
+
+--ad=<deallocate> +
+
+

+ Attribute Deallocate. +

+
+
+-w <write> +
+
+--idw=<write> +
+
+

+ Attribute Integral Dataset for Write. +

+
+
+-r <read> +
+
+--idr=<read> +
+
+

+ Attribute Integral Dataset for Read. +

+
+
+-c <cdw11> +
+
+--cdw11=<cdw11> +
+
+

+ All the command command dword 11 attributes. Use exclusive from + specifying individual attributes +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-dsm.txt b/Documentation/nvme-dsm.txt new file mode 100644 index 0000000..6a2e61a --- /dev/null +++ b/Documentation/nvme-dsm.txt @@ -0,0 +1,92 @@ +nvme-dsm(1) +=========== + +NAME +---- +nvme-dsm - Send NVMe Data Set Management, return results + +SYNOPSIS +-------- +[verse] +'nvme dsm' [--namespace-id= | -n ] + [--ctx-attrs= | -a ] + [--blocks= | -b ] + [--slbs= | -s ] + [--ad= | -d ] + [--idw= | -w ] [--idr= | -r ] + [--cdw11= | -c ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends a Data Set Management command and +provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the character device is given, the `'--namespace-id'` option is +mandatory, otherwise it will use the ns-id of the namespace for the block +device you opened. For block devices, the ns-id used can be overridden +with the same option. + +You must specify at least one of the values for range list. If the range +lists provided do not list the same number of elements, the default +values for the remaining in the range will be set to 0. + +The command dword 11 may be provided at the command line. For convenience, +the current defined attributes (discard, integral read/write) for a +data-set management have flags. If cdw11 is specified, this will override +any settings from the flags may have provided. + +OPTIONS +------- +-n :: +--namespace-id=:: + Sends the command with the requested nsid. This is required for the + character devices, or overrides the block nsid if given. + +-a :: +--ctx-attrs=:: + Comma separated list of the context attributes in each range + +-b :: +--blocks=:: + Comma separated list of the number of blocks in each range + +-s :: +--slbs=:: + Comma separated list of the starting block in each range + +-d :: +--ad=:: + Attribute Deallocate. + +-w :: +--idw=:: + Attribute Integral Dataset for Write. + +-r :: +--idr=:: + Attribute Integral Dataset for Read. + +-c :: +--cdw11=:: + All the command command dword 11 attributes. Use exclusive from + specifying individual attributes + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-effects-log.1 b/Documentation/nvme-effects-log.1 new file mode 100644 index 0000000..112c264 --- /dev/null +++ b/Documentation/nvme-effects-log.1 @@ -0,0 +1,116 @@ +'\" t +.\" Title: nvme-effects-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-EFFECTS\-LOG" "1" "02/14/2024" "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-effects-log \- Send NVMe Command Effects log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme effects\-log\fR [\-\-human\-readable | \-H] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Command Effects log page from an NVMe device and provides the returned structure\&. +.sp +The parameter is mandatory and should be the NVMe character device (ex: /dev/nvme0)\&. +.sp +On success, the returned command effects log structure will be printed for each command that is supported\&. +.SH "OPTIONS" +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into a human\-readable format\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +This option will print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the human\-readable option\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the effects log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme effects\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program return the raw structure in binary: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme effects\-log /dev/nvme0 \-\-raw\-binary > effects_log\&.raw +# nvme effects\-log /dev/nvme0 \-b > effects_log\&.raw +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-effects-log.html b/Documentation/nvme-effects-log.html new file mode 100644 index 0000000..b7570a9 --- /dev/null +++ b/Documentation/nvme-effects-log.html @@ -0,0 +1,864 @@ + + + + + + +nvme-effects-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme effects-log <device> [--human-readable | -H] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Command Effects log page 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 command effects log structure will be printed +for each command that is supported.

+
+
+
+

OPTIONS

+
+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields into a + human-readable format. +

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

+ This option will print the raw buffer to stdout. Structure is not + parsed by program. This overrides the human-readable option. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the effects log page in a human readable format: +

    +
    +
    +
    # nvme effects-log /dev/nvme0
    +
    +
  • +
  • +

    +Have the program return the raw structure in binary: +

    +
    +
    +
    # nvme effects-log /dev/nvme0 --raw-binary > effects_log.raw
    +# nvme effects-log /dev/nvme0 -b > effects_log.raw
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-effects-log.txt b/Documentation/nvme-effects-log.txt new file mode 100644 index 0000000..57a1369 --- /dev/null +++ b/Documentation/nvme-effects-log.txt @@ -0,0 +1,66 @@ +nvme-effects-log(1) +=================== + +NAME +---- +nvme-effects-log - Send NVMe Command Effects log page request, returns result +and log + +SYNOPSIS +-------- +[verse] +'nvme effects-log' [--human-readable | -H] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe Command Effects log page 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 command effects log structure will be printed +for each command that is supported. + +OPTIONS +------- + +-H:: +--human-readable:: + This option will parse and format many of the bit fields into a + human-readable format. + +-b:: +--raw-binary:: + This option will print the raw buffer to stdout. Structure is not + parsed by program. This overrides the human-readable option. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the effects log page in a human readable format: ++ +------------ +# nvme effects-log /dev/nvme0 +------------ ++ + +* Have the program return the raw structure in binary: ++ +------------ +# nvme effects-log /dev/nvme0 --raw-binary > effects_log.raw +# nvme effects-log /dev/nvme0 -b > effects_log.raw +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-endurance-event-agg-log.1 b/Documentation/nvme-endurance-event-agg-log.1 new file mode 100644 index 0000000..08c22e9 --- /dev/null +++ b/Documentation/nvme-endurance-event-agg-log.1 @@ -0,0 +1,118 @@ +'\" t +.\" Title: nvme-endurance-event-agg-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ENDURANCE\-EVE" "1" "02/14/2024" "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-endurance-event-agg-log \- Send NVMe Endurance log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme endurance\-event\-agg\-log\fR [\-\-log\-entries= | \-e ] + [\-\-rae | \-r] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Endurance Event Aggregate log page from an NVMe device and provides the returned 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 +On success, the returned endurance event agg log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format, the raw buffer may be printed to stdout for another program to parse, or reported in json format\&. +.SH "OPTIONS" +.PP +\-e , \-\-log\-entries= +.RS 4 +Retrieve the Endurance Group Event Aggregate Log pending entries\&. This argument is mandatory and its success may depend on the device\(cqs statistics to provide this log For More details see NVM Express 1\&.4 Spec\&. Section 5\&.14\&.1\&.15\&. The maximum number of log entries supported is 2044 for the device\&. +.RE +.PP +\-r, \-\-rae +.RS 4 +Retain an Asynchronous Event\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the Endurance log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme endurance\-event\-agg\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw Endurance log to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme endurance\-event\-agg\-log /dev/nvme0 \-\-output=binary > endurance_event_agg_log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-endurance-event-agg-log.html b/Documentation/nvme-endurance-event-agg-log.html new file mode 100644 index 0000000..0bfc9e1 --- /dev/null +++ b/Documentation/nvme-endurance-event-agg-log.html @@ -0,0 +1,869 @@ + + + + + + +nvme-endurance-event-agg-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme endurance-event-agg-log <device> [--log-entries=<log_entries> | -e <log_entries>]
+                        [--rae | -r] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Endurance Event Aggregate log page from an NVMe device and +provides the returned structure.

+

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

+

On success, the returned endurance event agg log structure may be returned +in one of several ways depending on the option flags; the structure may parsed +by the program and printed in a readable format, the raw buffer may be +printed to stdout for another program to parse, or reported in json format.

+
+
+
+

OPTIONS

+
+
+
+-e <log_entries> +
+
+--log-entries=<log_entries> +
+
+

+ Retrieve the Endurance Group Event Aggregate Log pending entries. + This argument is mandatory and its success may depend on the device’s + statistics to provide this log For More details see NVM Express 1.4 Spec. + Section 5.14.1.15. The maximum number of log entries supported is 2044 + for the device. +

+
+
+-r +
+
+--rae +
+
+

+ Retain an Asynchronous Event. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the Endurance log page in a human readable format: +

    +
    +
    +
    # nvme endurance-event-agg-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw Endurance log to a file: +

    +
    +
    +
    # nvme endurance-event-agg-log /dev/nvme0 --output=binary > endurance_event_agg_log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-endurance-event-agg-log.txt b/Documentation/nvme-endurance-event-agg-log.txt new file mode 100644 index 0000000..7cbceb1 --- /dev/null +++ b/Documentation/nvme-endurance-event-agg-log.txt @@ -0,0 +1,70 @@ +nvme-endurance-event-agg-log(1) +=============================== + +NAME +---- +nvme-endurance-event-agg-log - Send NVMe Endurance log page request, returns result and log + +SYNOPSIS +-------- +[verse] +'nvme endurance-event-agg-log' [--log-entries= | -e ] + [--rae | -r] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe Endurance Event Aggregate log page from an NVMe device and +provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned endurance event agg log structure may be returned +in one of several ways depending on the option flags; the structure may parsed +by the program and printed in a readable format, the raw buffer may be +printed to stdout for another program to parse, or reported in json format. + +OPTIONS +------- +-e :: +--log-entries=:: + Retrieve the Endurance Group Event Aggregate Log pending entries. + This argument is mandatory and its success may depend on the device's + statistics to provide this log For More details see NVM Express 1.4 Spec. + Section 5.14.1.15. The maximum number of log entries supported is 2044 + for the device. + +-r:: +--rae:: + Retain an Asynchronous Event. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the Endurance log page in a human readable format: ++ +------------ +# nvme endurance-event-agg-log /dev/nvme0 +------------ ++ + +* Print the raw Endurance log to a file: ++ +------------ +# nvme endurance-event-agg-log /dev/nvme0 --output=binary > endurance_event_agg_log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite \ No newline at end of file diff --git a/Documentation/nvme-endurance-log.1 b/Documentation/nvme-endurance-log.1 new file mode 100644 index 0000000..91cbdc1 --- /dev/null +++ b/Documentation/nvme-endurance-log.1 @@ -0,0 +1,112 @@ +'\" t +.\" Title: nvme-endurance-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ENDURANCE\-LOG" "1" "02/14/2024" "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-endurance-log \- Send NVMe Endurance log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme endurance\-log\fR [\-\-group\-id= | \-g ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Endurance log page from an NVMe device and provides the returned 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 +On success, the returned endurance log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format, the raw buffer may be printed to stdout for another program to parse, or reported in json format\&. +.SH "OPTIONS" +.PP +\-g , \-\-group\-id= +.RS 4 +The endurance group identifier\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the Endurance log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme endurance\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw Endurance log to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme endurance\-log /dev/nvme0 \-\-output=binary > endurance_log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-endurance-log.html b/Documentation/nvme-endurance-log.html new file mode 100644 index 0000000..49ee586 --- /dev/null +++ b/Documentation/nvme-endurance-log.html @@ -0,0 +1,852 @@ + + + + + + +nvme-endurance-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme endurance-log <device> [--group-id=<group> | -g <group>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Endurance log page from an NVMe device and provides the returned structure.

+

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

+

On success, the returned endurance log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format, the raw buffer may be +printed to stdout for another program to parse, or reported in json format.

+
+
+
+

OPTIONS

+
+
+
+-g <group> +
+
+--group-id=<group> +
+
+

+ The endurance group identifier. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the Endurance log page in a human readable format: +

    +
    +
    +
    # nvme endurance-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw Endurance log to a file: +

    +
    +
    +
    # nvme endurance-log /dev/nvme0 --output=binary > endurance_log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-endurance-log.txt b/Documentation/nvme-endurance-log.txt new file mode 100644 index 0000000..c263834 --- /dev/null +++ b/Documentation/nvme-endurance-log.txt @@ -0,0 +1,60 @@ +nvme-endurance-log(1) +===================== + +NAME +---- +nvme-endurance-log - Send NVMe Endurance log page request, returns result and log + +SYNOPSIS +-------- +[verse] +'nvme endurance-log' [--group-id= | -g ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe Endurance log page from an NVMe device and provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned endurance log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format, the raw buffer may be +printed to stdout for another program to parse, or reported in json format. + +OPTIONS +------- +-g :: +--group-id=:: + The endurance group identifier. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the Endurance log page in a human readable format: ++ +------------ +# nvme endurance-log /dev/nvme0 +------------ ++ + +* Print the raw Endurance log to a file: ++ +------------ +# nvme endurance-log /dev/nvme0 --output=binary > endurance_log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-error-log.1 b/Documentation/nvme-error-log.1 new file mode 100644 index 0000000..b710a06 --- /dev/null +++ b/Documentation/nvme-error-log.1 @@ -0,0 +1,118 @@ +'\" t +.\" Title: nvme-error-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ERROR\-LOG" "1" "02/14/2024" "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-error-log \- Send NVME Error log page request, return result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme error\-log\fR [\-\-log\-entries= | \-e ] + [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves NVMe Error log page from an NVMe device and provides the returned 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 +On success, the returned error log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-e , \-\-log\-entries= +.RS 4 +Specifies how many log entries the program should request from the device\&. This must be at least one, and shouldn\(cqt exceed the device\(cqs capabilities\&. Defaults to 64 log entries\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw error log buffer to stdout\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the error log and print it in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme error\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw output to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme error\-log /dev/nvme0 \-\-raw\-binary > error_log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-error-log.html b/Documentation/nvme-error-log.html new file mode 100644 index 0000000..acf35fc --- /dev/null +++ b/Documentation/nvme-error-log.html @@ -0,0 +1,867 @@ + + + + + + +nvme-error-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme error-log <device> [--log-entries=<entries> | -e <entries>]
+                        [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves NVMe Error log page from an NVMe device and provides the +returned structure.

+

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

+

On success, the returned error log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-e <entries> +
+
+--log-entries=<entries> +
+
+

+ Specifies how many log entries the program should request from + the device. This must be at least one, and shouldn’t exceed the + device’s capabilities. Defaults to 64 log entries. +

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

+ Print the raw error log buffer to stdout. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Get the error log and print it in a human readable format: +

    +
    +
    +
    # nvme error-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw output to a file: +

    +
    +
    +
    # nvme error-log /dev/nvme0 --raw-binary > error_log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-error-log.txt b/Documentation/nvme-error-log.txt new file mode 100644 index 0000000..94442ee --- /dev/null +++ b/Documentation/nvme-error-log.txt @@ -0,0 +1,68 @@ +nvme-error-log(1) +================= + +NAME +---- +nvme-error-log - Send NVME Error log page request, return result and log + +SYNOPSIS +-------- +[verse] +'nvme error-log' [--log-entries= | -e ] + [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves NVMe Error log page from an NVMe device and provides the +returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned error log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse. + +OPTIONS +------- +-e :: +--log-entries=:: + Specifies how many log entries the program should request from + the device. This must be at least one, and shouldn't exceed the + device's capabilities. Defaults to 64 log entries. + +-b:: +--raw-binary:: + Print the raw error log buffer to stdout. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Get the error log and print it in a human readable format: ++ +------------ +# nvme error-log /dev/nvme0 +------------ ++ + +* Print the raw output to a file: ++ +------------ +# nvme error-log /dev/nvme0 --raw-binary > error_log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-fdp-configs.1 b/Documentation/nvme-fdp-configs.1 new file mode 100644 index 0000000..1fdb44b --- /dev/null +++ b/Documentation/nvme-fdp-configs.1 @@ -0,0 +1,68 @@ +'\" t +.\" Title: nvme-fdp-configs +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FDP\-CONFIGS" "1" "02/14/2024" "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-fdp-configs \- Get Flexible Data Placement Configurations +.SH "SYNOPSIS" +.sp +.nf +\fInvme fdp configs\fR [\-\-endgrp\-id= | \-e ] + [\-\-human\-readable | \-H] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, and the endurance group identifier specified, list the possible configurations for Flexible Data Placement\&. +.SH "OPTIONS" +.PP +\-e , \-\-endgrp\-id= +.RS 4 +The endurance group identifier to use when requesting the log page\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +Parse, print and describe individual parts of bitfields\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to the standard output stream\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "NVME" +.sp +Part of nvme\-cli diff --git a/Documentation/nvme-fdp-configs.html b/Documentation/nvme-fdp-configs.html new file mode 100644 index 0000000..dfcc5aa --- /dev/null +++ b/Documentation/nvme-fdp-configs.html @@ -0,0 +1,833 @@ + + + + + + +nvme-fdp-configs(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fdp configs <device> [--endgrp-id=<NUM> | -e <NUM>]
+                        [--human-readable | -H] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, and the endurance group identifier specified, list +the possible configurations for Flexible Data Placement.

+
+
+
+

OPTIONS

+
+
+
+-e <NUM> +
+
+--endgrp-id=<NUM> +
+
+

+ The endurance group identifier to use when requesting the log page. +

+
+
+-H +
+
+--human-readable +
+
+

+ Parse, print and describe individual parts of bitfields. +

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

+ Print the raw buffer to the standard output stream. +

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

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

+
+
+
+
+
+

NVME

+
+

Part of nvme-cli

+
+
+
+

+ + + diff --git a/Documentation/nvme-fdp-configs.txt b/Documentation/nvme-fdp-configs.txt new file mode 100644 index 0000000..d5cc487 --- /dev/null +++ b/Documentation/nvme-fdp-configs.txt @@ -0,0 +1,41 @@ +nvme-fdp-configs(1) +=================== + +NAME +---- +nvme-fdp-configs - Get Flexible Data Placement Configurations + +SYNOPSIS +-------- +[verse] +'nvme fdp configs' [--endgrp-id= | -e ] + [--human-readable | -H] [--raw-binary | -b] + [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, and the endurance group identifier specified, list +the possible configurations for Flexible Data Placement. + +OPTIONS +------- +-e :: +--endgrp-id=:: + The endurance group identifier to use when requesting the log page. + +-H:: +--human-readable:: + Parse, print and describe individual parts of bitfields. + +-b:: +--raw-binary:: + Print the raw buffer to the standard output stream. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or 'binary'. Only one + output format can be used at a time. + +NVME +---- +Part of nvme-cli diff --git a/Documentation/nvme-fdp-events.1 b/Documentation/nvme-fdp-events.1 new file mode 100644 index 0000000..03c6ef2 --- /dev/null +++ b/Documentation/nvme-fdp-events.1 @@ -0,0 +1,67 @@ +'\" t +.\" Title: nvme-fdp-events +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FDP\-EVENTS" "1" "02/14/2024" "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-fdp-events \- Get Flexible Data Placement Events +.SH "SYNOPSIS" +.sp +.nf +\fInvme fdp events\fR [\-\-endgrp\-id= | \-e ] [\-\-host\-events | \-E] + [\-\-raw\-binary | \-b] [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, provide information about events affecting Reclaim Units and media usage in an Endurance Group\&. +.SH "OPTIONS" +.PP +\-e , \-\-endgrp\-id= +.RS 4 +The endurance group identifier to use when requesting the log page\&. +.RE +.PP +\-E, \-\-host\-events +.RS 4 +Request the controller to report host events\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to the standard output stream\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "NVME" +.sp +Part of nvme\-cli diff --git a/Documentation/nvme-fdp-events.html b/Documentation/nvme-fdp-events.html new file mode 100644 index 0000000..79fffaf --- /dev/null +++ b/Documentation/nvme-fdp-events.html @@ -0,0 +1,832 @@ + + + + + + +nvme-fdp-events(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fdp events <device> [--endgrp-id=<NUM> | -e <NUM>] [--host-events | -E]
+                        [--raw-binary | -b] [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, provide information about events affecting Reclaim +Units and media usage in an Endurance Group.

+
+
+
+

OPTIONS

+
+
+
+-e <NUM> +
+
+--endgrp-id=<NUM> +
+
+

+ The endurance group identifier to use when requesting the log page. +

+
+
+-E +
+
+--host-events +
+
+

+ Request the controller to report host events. +

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

+ Print the raw buffer to the standard output stream. +

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

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

+
+
+
+
+
+

NVME

+
+

Part of nvme-cli

+
+
+
+

+ + + diff --git a/Documentation/nvme-fdp-events.txt b/Documentation/nvme-fdp-events.txt new file mode 100644 index 0000000..5602f44 --- /dev/null +++ b/Documentation/nvme-fdp-events.txt @@ -0,0 +1,40 @@ +nvme-fdp-events(1) +================== + +NAME +---- +nvme-fdp-events - Get Flexible Data Placement Events + +SYNOPSIS +-------- +[verse] +'nvme fdp events' [--endgrp-id= | -e ] [--host-events | -E] + [--raw-binary | -b] [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, provide information about events affecting Reclaim +Units and media usage in an Endurance Group. + +OPTIONS +------- +-e :: +--endgrp-id=:: + The endurance group identifier to use when requesting the log page. + +-E:: +--host-events:: + Request the controller to report host events. + +-b:: +--raw-binary:: + Print the raw buffer to the standard output stream. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or 'binary'. Only one + output format can be used at a time. + +NVME +---- +Part of nvme-cli diff --git a/Documentation/nvme-fdp-set-events.1 b/Documentation/nvme-fdp-set-events.1 new file mode 100644 index 0000000..66aaa7e --- /dev/null +++ b/Documentation/nvme-fdp-set-events.1 @@ -0,0 +1,63 @@ +'\" t +.\" Title: nvme-fdp-set-events +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FDP\-SET\-EVEN" "1" "02/14/2024" "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-fdp-set-events \- Enable or disable FDP events +.SH "SYNOPSIS" +.sp +.nf +\fInvme fdp set\-events\fR [\-\-namespace\-id= | \-n ] + [\-\-placement\-handle= | \-p ] [\-\-enable | \-e] + [\-\-event\-types= | \-t ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, enable or disable a list of event types from being generated for the Reclaim Unit Handle reference by the specified Placement Handle\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Namespace identifier\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to the standard output stream\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "NVME" +.sp +Part of nvme\-cli diff --git a/Documentation/nvme-fdp-set-events.html b/Documentation/nvme-fdp-set-events.html new file mode 100644 index 0000000..4615772 --- /dev/null +++ b/Documentation/nvme-fdp-set-events.html @@ -0,0 +1,823 @@ + + + + + + +nvme-fdp-set-events(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fdp set-events <device> [--namespace-id=<NUM> | -n <NUM>]
+                        [--placement-handle=<NUM> | -p <NUM>] [--enable | -e]
+                        [--event-types=<NUM,> | -t <NUM,>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, enable or disable a list of event types from being +generated for the Reclaim Unit Handle reference by the specified Placement +Handle.

+
+
+
+

OPTIONS

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

+ Namespace identifier. +

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

+ Print the raw buffer to the standard output stream. +

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

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

+
+
+
+
+
+

NVME

+
+

Part of nvme-cli

+
+
+
+

+ + + diff --git a/Documentation/nvme-fdp-set-events.txt b/Documentation/nvme-fdp-set-events.txt new file mode 100644 index 0000000..b93cdc3 --- /dev/null +++ b/Documentation/nvme-fdp-set-events.txt @@ -0,0 +1,38 @@ +nvme-fdp-set-events(1) +====================== + +NAME +---- +nvme-fdp-set-events - Enable or disable FDP events + +SYNOPSIS +-------- +[verse] +'nvme fdp set-events' [--namespace-id= | -n ] + [--placement-handle= | -p ] [--enable | -e] + [--event-types= | -t ] + +DESCRIPTION +----------- +For the NVMe device given, enable or disable a list of event types from being +generated for the Reclaim Unit Handle reference by the specified Placement +Handle. + +OPTIONS +------- +-n :: +--namespace-id=:: + Namespace identifier. + +-b:: +--raw-binary:: + Print the raw buffer to the standard output stream. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or 'binary'. Only one + output format can be used at a time. + +NVME +---- +Part of nvme-cli diff --git a/Documentation/nvme-fdp-stats.1 b/Documentation/nvme-fdp-stats.1 new file mode 100644 index 0000000..fb11832 --- /dev/null +++ b/Documentation/nvme-fdp-stats.1 @@ -0,0 +1,62 @@ +'\" t +.\" Title: nvme-fdp-stats +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FDP\-STATS" "1" "02/14/2024" "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-fdp-stats \- Get Flexible Data Placement Statistics +.SH "SYNOPSIS" +.sp +.nf +\fInvme fdp stats\fR [\-\-endgrp\-id= | \-e ] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, provide information about the FDP configuration over the life of the FDP configuration in an Endurance Group\&. +.SH "OPTIONS" +.PP +\-e , \-\-endgrp\-id= +.RS 4 +The endurance group identifier to use when requesting the log page\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to the standard output stream\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "NVME" +.sp +Part of nvme\-cli diff --git a/Documentation/nvme-fdp-stats.html b/Documentation/nvme-fdp-stats.html new file mode 100644 index 0000000..009bb38 --- /dev/null +++ b/Documentation/nvme-fdp-stats.html @@ -0,0 +1,821 @@ + + + + + + +nvme-fdp-stats(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fdp stats <device> [--endgrp-id=<NUM> | -e <NUM>] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, provide information about the FDP configuration over +the life of the FDP configuration in an Endurance Group.

+
+
+
+

OPTIONS

+
+
+
+-e <NUM> +
+
+--endgrp-id=<NUM> +
+
+

+ The endurance group identifier to use when requesting the log page. +

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

+ Print the raw buffer to the standard output stream. +

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

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

+
+
+
+
+
+

NVME

+
+

Part of nvme-cli

+
+
+
+

+ + + diff --git a/Documentation/nvme-fdp-stats.txt b/Documentation/nvme-fdp-stats.txt new file mode 100644 index 0000000..0b184a9 --- /dev/null +++ b/Documentation/nvme-fdp-stats.txt @@ -0,0 +1,36 @@ +nvme-fdp-stats(1) +================= + +NAME +---- +nvme-fdp-stats - Get Flexible Data Placement Statistics + +SYNOPSIS +-------- +[verse] +'nvme fdp stats' [--endgrp-id= | -e ] [--raw-binary | -b] + [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, provide information about the FDP configuration over +the life of the FDP configuration in an Endurance Group. + +OPTIONS +------- +-e :: +--endgrp-id=:: + The endurance group identifier to use when requesting the log page. + +-b:: +--raw-binary:: + Print the raw buffer to the standard output stream. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or 'binary'. Only one + output format can be used at a time. + +NVME +---- +Part of nvme-cli diff --git a/Documentation/nvme-fdp-status.1 b/Documentation/nvme-fdp-status.1 new file mode 100644 index 0000000..362f4b1 --- /dev/null +++ b/Documentation/nvme-fdp-status.1 @@ -0,0 +1,62 @@ +'\" t +.\" Title: nvme-fdp-status +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FDP\-STATUS" "1" "02/14/2024" "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-fdp-status \- Get Reclaim Unit Handle Status +.SH "SYNOPSIS" +.sp +.nf +\fInvme fdp status\fR [\-\-namespace\-id= | \-n ] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, provide information about Reclaim Unit Handles that are accessible by the specified namespace\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Namespace identifier\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to the standard output stream\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "NVME" +.sp +Part of nvme\-cli diff --git a/Documentation/nvme-fdp-status.html b/Documentation/nvme-fdp-status.html new file mode 100644 index 0000000..a073a94 --- /dev/null +++ b/Documentation/nvme-fdp-status.html @@ -0,0 +1,821 @@ + + + + + + +nvme-fdp-status(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fdp status <device> [--namespace-id=<NUM> | -n <NUM>] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, provide information about Reclaim Unit Handles that +are accessible by the specified namespace.

+
+
+
+

OPTIONS

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

+ Namespace identifier. +

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

+ Print the raw buffer to the standard output stream. +

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

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

+
+
+
+
+
+

NVME

+
+

Part of nvme-cli

+
+
+
+

+ + + diff --git a/Documentation/nvme-fdp-status.txt b/Documentation/nvme-fdp-status.txt new file mode 100644 index 0000000..78dddae --- /dev/null +++ b/Documentation/nvme-fdp-status.txt @@ -0,0 +1,36 @@ +nvme-fdp-status(1) +================== + +NAME +---- +nvme-fdp-status - Get Reclaim Unit Handle Status + +SYNOPSIS +-------- +[verse] +'nvme fdp status' [--namespace-id= | -n ] [--raw-binary | -b] + [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, provide information about Reclaim Unit Handles that +are accessible by the specified namespace. + +OPTIONS +------- +-n :: +--namespace-id=:: + Namespace identifier. + +-b:: +--raw-binary:: + Print the raw buffer to the standard output stream. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or 'binary'. Only one + output format can be used at a time. + +NVME +---- +Part of nvme-cli diff --git a/Documentation/nvme-fdp-update.1 b/Documentation/nvme-fdp-update.1 new file mode 100644 index 0000000..ca7e39a --- /dev/null +++ b/Documentation/nvme-fdp-update.1 @@ -0,0 +1,54 @@ +'\" t +.\" Title: nvme-fdp-update +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FDP\-UPDATE" "1" "02/14/2024" "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-fdp-update \- Reclaim Unit Handle Update +.SH "SYNOPSIS" +.sp +.nf +\fInvme fdp update\fR [\-\-namespace\-id= | \-n ] + [\-\-pids= | \-p ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, update the given Placement Identifiers to reference a different Reclaim Unit accessible by the specified namespace\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Namespace identifier\&. +.RE +.PP +\-p , \-\-pids= +.RS 4 +Comma\-separated list of placement identifiers to update\&. +.RE +.SH "NVME" +.sp +Part of nvme\-cli diff --git a/Documentation/nvme-fdp-update.html b/Documentation/nvme-fdp-update.html new file mode 100644 index 0000000..2ad566f --- /dev/null +++ b/Documentation/nvme-fdp-update.html @@ -0,0 +1,809 @@ + + + + + + +nvme-fdp-update(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fdp update <device> [--namespace-id=<NUM> | -n <NUM>]
+                        [--pids=<NUM,> | -p <NUM,>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, update the given Placement Identifiers to reference +a different Reclaim Unit accessible by the specified namespace.

+
+
+
+

OPTIONS

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

+ Namespace identifier. +

+
+
+-p <NUM,> +
+
+--pids=<NUM,> +
+
+

+ Comma-separated list of placement identifiers to update. +

+
+
+
+
+
+

NVME

+
+

Part of nvme-cli

+
+
+
+

+ + + diff --git a/Documentation/nvme-fdp-update.txt b/Documentation/nvme-fdp-update.txt new file mode 100644 index 0000000..5af83e5 --- /dev/null +++ b/Documentation/nvme-fdp-update.txt @@ -0,0 +1,31 @@ +nvme-fdp-update(1) +================== + +NAME +---- +nvme-fdp-update - Reclaim Unit Handle Update + +SYNOPSIS +-------- +[verse] +'nvme fdp update' [--namespace-id= | -n ] + [--pids= | -p ] + +DESCRIPTION +----------- +For the NVMe device given, update the given Placement Identifiers to reference +a different Reclaim Unit accessible by the specified namespace. + +OPTIONS +------- +-n :: +--namespace-id=:: + Namespace identifier. + +-p :: +--pids=:: + Comma-separated list of placement identifiers to update. + +NVME +---- +Part of nvme-cli diff --git a/Documentation/nvme-fdp-usage.1 b/Documentation/nvme-fdp-usage.1 new file mode 100644 index 0000000..912d0fd --- /dev/null +++ b/Documentation/nvme-fdp-usage.1 @@ -0,0 +1,62 @@ +'\" t +.\" Title: nvme-fdp-usage +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FDP\-USAGE" "1" "02/14/2024" "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-fdp-usage \- Get Reclaim Unit Handle Usage +.SH "SYNOPSIS" +.sp +.nf +\fInvme fdp usage\fR [\-\-endgrp\-id= | \-e ] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, provide information about the Reclaim Unit Handles associated with the Placement Handles of the namespaces in the specified Endurance Group\&. +.SH "OPTIONS" +.PP +\-e , \-\-endgrp\-id= +.RS 4 +The endurance group identifier to use when requesting the log page\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to the standard output stream\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "NVME" +.sp +Part of nvme\-cli diff --git a/Documentation/nvme-fdp-usage.html b/Documentation/nvme-fdp-usage.html new file mode 100644 index 0000000..aaa349b --- /dev/null +++ b/Documentation/nvme-fdp-usage.html @@ -0,0 +1,822 @@ + + + + + + +nvme-fdp-usage(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fdp usage <device> [--endgrp-id=<NUM> | -e <NUM>] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, provide information about the Reclaim Unit Handles +associated with the Placement Handles of the namespaces in the specified +Endurance Group.

+
+
+
+

OPTIONS

+
+
+
+-e <NUM> +
+
+--endgrp-id=<NUM> +
+
+

+ The endurance group identifier to use when requesting the log page. +

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

+ Print the raw buffer to the standard output stream. +

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

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

+
+
+
+
+
+

NVME

+
+

Part of nvme-cli

+
+
+
+

+ + + diff --git a/Documentation/nvme-fdp-usage.txt b/Documentation/nvme-fdp-usage.txt new file mode 100644 index 0000000..3e0fb98 --- /dev/null +++ b/Documentation/nvme-fdp-usage.txt @@ -0,0 +1,37 @@ +nvme-fdp-usage(1) +================= + +NAME +---- +nvme-fdp-usage - Get Reclaim Unit Handle Usage + +SYNOPSIS +-------- +[verse] +'nvme fdp usage' [--endgrp-id= | -e ] [--raw-binary | -b] + [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, provide information about the Reclaim Unit Handles +associated with the Placement Handles of the namespaces in the specified +Endurance Group. + +OPTIONS +------- +-e :: +--endgrp-id=:: + The endurance group identifier to use when requesting the log page. + +-b:: +--raw-binary:: + Print the raw buffer to the standard output stream. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or 'binary'. Only one + output format can be used at a time. + +NVME +---- +Part of nvme-cli diff --git a/Documentation/nvme-fid-support-effects-log.1 b/Documentation/nvme-fid-support-effects-log.1 new file mode 100644 index 0000000..82417b4 --- /dev/null +++ b/Documentation/nvme-fid-support-effects-log.1 @@ -0,0 +1,69 @@ +'\" t +.\" Title: nvme-fid-support-effects-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FID\-SUPPORT\-" "1" "02/14/2024" "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-fid-support-effects-log \- Send NVMe FID Support and Effects log, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme fid\-support\-effects\-log\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an FID Support and Effects log 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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-fid-support-effects-log.html b/Documentation/nvme-fid-support-effects-log.html new file mode 100644 index 0000000..d23d711 --- /dev/null +++ b/Documentation/nvme-fid-support-effects-log.html @@ -0,0 +1,832 @@ + + + + + + +nvme-fid-support-effects-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fid-support-effects-log <device> [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an FID Support and Effects log and +provides the result and returned log structure.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

+
+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-fid-support-effects-log.txt b/Documentation/nvme-fid-support-effects-log.txt new file mode 100644 index 0000000..9670b88 --- /dev/null +++ b/Documentation/nvme-fid-support-effects-log.txt @@ -0,0 +1,47 @@ +nvme-fid-support-effects-log(1) +=============================== + +NAME +---- +nvme-fid-support-effects-log - Send NVMe FID Support and Effects log, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme fid-support-effects-log' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an FID Support and Effects log and +provides the result and returned log structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite \ No newline at end of file diff --git a/Documentation/nvme-flush.1 b/Documentation/nvme-flush.1 new file mode 100644 index 0000000..a5ca384 --- /dev/null +++ b/Documentation/nvme-flush.1 @@ -0,0 +1,66 @@ +'\" t +.\" Title: nvme-flush +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FLUSH" "1" "02/14/2024" "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-flush \- Flush command\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme flush\fR [\-\-namespace\-id= | \-n ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Flush command shall commit data and metadata associated with the specified namespace(s) to nonvolatile media\&. The flush applies to all commands completed prior to the submission of the Flush command\&. The controller may also flush additional data and/or metadata from any namespace\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Specify the optional namespace id for this command\&. Defaults to 0xffffffff, indicating flush for all namespaces\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-flush.html b/Documentation/nvme-flush.html new file mode 100644 index 0000000..b008b96 --- /dev/null +++ b/Documentation/nvme-flush.html @@ -0,0 +1,831 @@ + + + + + + +nvme-flush(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme flush <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Flush command shall commit data and metadata associated with the +specified namespace(s) to nonvolatile media. The flush applies to +all commands completed prior to the submission of the Flush command. +The controller may also flush additional data and/or metadata from +any namespace.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Specify the optional namespace id for this command. Defaults to + 0xffffffff, indicating flush for all namespaces. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-flush.txt b/Documentation/nvme-flush.txt new file mode 100644 index 0000000..102cd71 --- /dev/null +++ b/Documentation/nvme-flush.txt @@ -0,0 +1,44 @@ +nvme-flush(1) +============= + +NAME +---- +nvme-flush - Flush command. + +SYNOPSIS +-------- +[verse] +'nvme flush' [--namespace-id= | -n ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Flush command shall commit data and metadata associated with the +specified namespace(s) to nonvolatile media. The flush applies to +all commands completed prior to the submission of the Flush command. +The controller may also flush additional data and/or metadata from +any namespace. + +OPTIONS +------- +-n :: +--namespace-id=:: + Specify the optional namespace id for this command. Defaults to + 0xffffffff, indicating flush for all namespaces. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-format.1 b/Documentation/nvme-format.1 new file mode 100644 index 0000000..6837f23 --- /dev/null +++ b/Documentation/nvme-format.1 @@ -0,0 +1,237 @@ +'\" t +.\" Title: nvme-format +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FORMAT" "1" "02/14/2024" "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-format \- Format an NVMe device +.SH "SYNOPSIS" +.sp +.nf +\fInvme format\fR [\-\-namespace\-id= | \-n ] + [\-\-lbaf= | \-l ] + [\-\-block\-size=] + [\-\-ses= | \-s ] [\-\-pil= | \-p ] + [\-\-pi= | \-i ] [\-\-ms= | \-m ] + [\-\-reset | \-r] [\-\-force] + [\-\-timeout= | \-t ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, send an nvme Format Namespace admin command and provides the results\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. If the character device is given, and the controller does not support formatting of particular namespaces (ID_CTRL\&.FNA bit 0 enabled), then all namespaces will be formatted\&. If FNA is disabled, then the namespace identifier must be specified with the \fInamespace\-id\fR option; specify a value of 0xffffffff to send the format to all namespaces\&. If the block device is given, the namespace identifier will default to the namespace ID of the block device given, but can be overridden with the same option\&. +.sp +Note, the numeric suffix on the character device, for example the \fI0\fR in /dev/nvme0, does NOT indicate this device handle is the parent controller of any namespaces with the same suffix\&. The namespace handle\(cqs numeral may be coming from the subsystem identifier, which is independent of the controller\(cqs identifier\&. Do not assume any particular device relationship based on their names\&. If you do, you may irrevocably erase data on an unintended device\&. +.sp +On success, the program will automatically issue BLKRRPART ioctl to force rescanning the namespaces\&. If the driver is recent enough, this will automatically update the physical block size\&. If it is not recent enough, you will need to remove and rescan your device some other way for the new block size to be visible, if the size was changed with this command\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Send the format command for the specified nsid\&. This can be used to override the default value for either character device (unspecified) or the block device (result from NVME_IOCTL_ID)\&. +.RE +.PP +\-l , \-\-lbaf= +.RS 4 +LBA Format: This field specifies the LBA format to apply to the NVM media\&. This corresponds to the LBA formats indicated in the Identify Namespace command\&. Conflicts with \-\-block\-size argument\&. Defaults to 0\&. +.RE +.PP +\-b , \-\-block\-size= +.RS 4 +Block Size: This field is used to specify the target block size to format to\&. Potential lbaf values will be scanned and the lowest numbered will be selected for the format operation\&. Conflicts with \-\-lbaf argument\&. +.RE +.PP +\-s , \-\-ses= +.RS 4 +Secure Erase Settings: This field specifies whether a secure erase should be performed as part of the format and the type of the secure erase operation\&. The erase applies to all user data, regardless of location (e\&.g\&., within an exposed LBA, within a cache, within deallocated LBAs, etc)\&. Defaults to 0\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +0 +T}:T{ +No secure erase operation requested +T} +T{ +1 +T}:T{ +User Data Erase: All user data shall be erased, contents of the user data after the erase is indeterminate (e\&.g\&., the user data may be zero filled, one filled, etc)\&. The controller may perform a cryptographic erase when a User Data Erase is requested if all user data is encrypted\&. +T} +T{ +2 +T}:T{ +Cryptographic Erase: All user data shall be erased cryptographically\&. This is accomplished by deleting the encryption key\&. +T} +T{ +3\(en7 +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.PP +\-p , \-\-pil= +.RS 4 +Protection Information Location: If set to \(oq1\(cq and protection information is enabled, then protection information is transferred as the first eight bytes of metadata\&. If cleared to \(oq0\(cq and protection information is enabled, then protection information is transferred as the last eight bytes of metadata\&. Defaults to 0\&. +.RE +.PP +\-i , \-\-pi= +.RS 4 +Protection Information: This field specifies whether end\-to\-end data protection is enabled and the type of protection information\&. Defaults to 0\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +0 +T}:T{ +Protection information is not enabled +T} +T{ +1 +T}:T{ +Protection information is enabled, Type 1 +T} +T{ +2 +T}:T{ +Protection information is enabled, Type 2 +T} +T{ +3 +T}:T{ +Protection information is enabled, Type 3 +T} +T{ +4\(en7 +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.PP +\-m , \-\-ms= +.RS 4 +Metadata Settings: This field is set to \(oq1\(cq if the metadata is transferred as part of an extended data LBA\&. This field is cleared to \(oq0\(cq if the metadata is transferred as part of a separate buffer\&. The metadata may include protection information, based on the Protection Information (PI) field\&. Defaults to 0\&. +.RE +.PP +\-r, \-\-reset +.RS 4 +Issue a reset after successful format\&. Must use the character device for this\&. +.RE +.PP +\-\-force +.RS 4 +Just send the command immediately without warning of the implications\&. +.RE +.PP +\-t , \-\-timeout= +.RS 4 +Override default timeout value\&. In milliseconds\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Format the device using all defaults: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme format /dev/nvme0n1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Format namespace 1 with user data secure erase settings and protection information: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme format /dev/nvme0 \-\-namespace\-id=1 \-\-ses=1 \-\-pi=1 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-format.html b/Documentation/nvme-format.html new file mode 100644 index 0000000..f462649 --- /dev/null +++ b/Documentation/nvme-format.html @@ -0,0 +1,1063 @@ + + + + + + +nvme-format(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme format <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--lbaf=<lbaf> | -l <lbaf>]
+                        [--block-size=<block size | -b <block size>]
+                        [--ses=<ses> | -s <ses>] [--pil=<pil> | -p <pil>]
+                        [--pi=<pi> | -i <pi>] [--ms=<ms> | -m <ms>]
+                        [--reset | -r] [--force]
+                        [--timeout=<timeout> | -t <timeout>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, send an nvme Format Namespace admin command +and provides the results.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the character device is given, and the controller does not support +formatting of particular namespaces (ID_CTRL.FNA bit 0 enabled), then all +namespaces will be formatted. If FNA is disabled, then the namespace +identifier must be specified with the namespace-id option; specify a +value of 0xffffffff to send the format to all namespaces. If the block +device is given, the namespace identifier will default to the namespace +ID of the block device given, but can be overridden with the same option.

+

Note, the numeric suffix on the character device, for example the 0 in +/dev/nvme0, does NOT indicate this device handle is the parent controller +of any namespaces with the same suffix. The namespace handle’s numeral +may be coming from the subsystem identifier, which is independent of the +controller’s identifier. Do not assume any particular device relationship +based on their names. If you do, you may irrevocably erase data on an +unintended device.

+

On success, the program will automatically issue BLKRRPART ioctl to +force rescanning the namespaces. If the driver is recent enough, this will +automatically update the physical block size. If it is not recent enough, +you will need to remove and rescan your device some other way for the +new block size to be visible, if the size was changed with this command.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Send the format command for the specified nsid. This can be + used to override the default value for either character device + (unspecified) or the block device (result from NVME_IOCTL_ID). +

+
+
+-l <lbaf> +
+
+--lbaf=<lbaf> +
+
+

+ LBA Format: This field specifies the LBA format to apply to the NVM + media. This corresponds to the LBA formats indicated in the + Identify Namespace command. Conflicts with --block-size argument. + Defaults to 0. +

+
+
+-b <block size> +
+
+--block-size=<block size> +
+
+

+ Block Size: This field is used to specify the target block size to + format to. Potential lbaf values will be scanned and the lowest + numbered will be selected for the format operation. Conflicts with + --lbaf argument. +

+
+
+-s <ses> +
+
+--ses=<ses> +
+
+

+ Secure Erase Settings: This field specifies whether a secure + erase should be performed as part of the format and the type of + the secure erase operation. The erase applies to all user data, + regardless of location (e.g., within an exposed LBA, within a + cache, within deallocated LBAs, etc). Defaults to 0. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

0

No secure erase operation requested

1

User Data Erase: All user data shall be erased, contents of the user +data after the erase is indeterminate (e.g., the user data may be zero +filled, one filled, etc). The controller may perform a cryptographic +erase when a User Data Erase is requested if all user data is encrypted.

2

Cryptographic Erase: All user data shall be erased +cryptographically. This is accomplished by deleting the encryption key.

3–7

Reserved

+
+
+
+-p <pil> +
+
+--pil=<pil> +
+
+

+ Protection Information Location: If set to ‘1’ and protection + information is enabled, then protection information is transferred + as the first eight bytes of metadata. If cleared to ‘0’ and + protection information is enabled, then protection information + is transferred as the last eight bytes of metadata. Defaults to 0. +

+
+
+-i <pi> +
+
+--pi=<pi> +
+
+

+ Protection Information: This field specifies whether end-to-end + data protection is enabled and the type of protection + information. Defaults to 0. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

0

Protection information is not enabled

1

Protection information is enabled, Type 1

2

Protection information is enabled, Type 2

3

Protection information is enabled, Type 3

4–7

Reserved

+
+
+
+-m <ms> +
+
+--ms=<ms> +
+
+

+ Metadata Settings: This field is set to ‘1’ if the metadata + is transferred as part of an extended data LBA. This field is + cleared to ‘0’ if the metadata is transferred as part of a + separate buffer. The metadata may include protection information, + based on the Protection Information (PI) field. Defaults to 0. +

+
+
+-r +
+
+--reset +
+
+

+ Issue a reset after successful format. Must use the character + device for this. +

+
+
+--force +
+
+

+ Just send the command immediately without warning of the implications. +

+
+
+-t <timeout> +
+
+--timeout=<timeout> +
+
+

+ Override default timeout value. In milliseconds. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Format the device using all defaults: +

    +
    +
    +
    # nvme format /dev/nvme0n1
    +
    +
  • +
  • +

    +Format namespace 1 with user data secure erase settings and protection +information: +

    +
    +
    +
    # nvme format /dev/nvme0 --namespace-id=1 --ses=1 --pi=1
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-format.txt b/Documentation/nvme-format.txt new file mode 100644 index 0000000..e4623f1 --- /dev/null +++ b/Documentation/nvme-format.txt @@ -0,0 +1,163 @@ +nvme-format(1) +============== + +NAME +---- +nvme-format - Format an NVMe device + +SYNOPSIS +-------- +[verse] +'nvme format' [--namespace-id= | -n ] + [--lbaf= | -l ] + [--block-size=] + [--ses= | -s ] [--pil= | -p ] + [--pi= | -i ] [--ms= | -m ] + [--reset | -r] [--force] + [--timeout= | -t ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, send an nvme Format Namespace admin command +and provides the results. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the character device is given, and the controller does not support +formatting of particular namespaces (ID_CTRL.FNA bit 0 enabled), then all +namespaces will be formatted. If FNA is disabled, then the namespace +identifier must be specified with the 'namespace-id' option; specify a +value of 0xffffffff to send the format to all namespaces. If the block +device is given, the namespace identifier will default to the namespace +ID of the block device given, but can be overridden with the same option. + +Note, the numeric suffix on the character device, for example the '0' in +/dev/nvme0, does NOT indicate this device handle is the parent controller +of any namespaces with the same suffix. The namespace handle's numeral +may be coming from the subsystem identifier, which is independent of the +controller's identifier. Do not assume any particular device relationship +based on their names. If you do, you may irrevocably erase data on an +unintended device. + +On success, the program will automatically issue BLKRRPART ioctl to +force rescanning the namespaces. If the driver is recent enough, this will +automatically update the physical block size. If it is not recent enough, +you will need to remove and rescan your device some other way for the +new block size to be visible, if the size was changed with this command. + +OPTIONS +------- +-n :: +--namespace-id=:: + Send the format command for the specified nsid. This can be + used to override the default value for either character device + (unspecified) or the block device (result from NVME_IOCTL_ID). + +-l :: +--lbaf=:: + LBA Format: This field specifies the LBA format to apply to the NVM + media. This corresponds to the LBA formats indicated in the + Identify Namespace command. Conflicts with --block-size argument. + Defaults to 0. + +-b :: +--block-size=:: + Block Size: This field is used to specify the target block size to + format to. Potential lbaf values will be scanned and the lowest + numbered will be selected for the format operation. Conflicts with + --lbaf argument. + +-s :: +--ses=:: + Secure Erase Settings: This field specifies whether a secure + erase should be performed as part of the format and the type of + the secure erase operation. The erase applies to all user data, + regardless of location (e.g., within an exposed LBA, within a + cache, within deallocated LBAs, etc). Defaults to 0. ++ +[] +|================= +|Value|Definition +|0|No secure erase operation requested +|1|User Data Erase: All user data shall be erased, contents of the user +data after the erase is indeterminate (e.g., the user data may be zero +filled, one filled, etc). The controller may perform a cryptographic +erase when a User Data Erase is requested if all user data is encrypted. +|2|Cryptographic Erase: All user data shall be erased +cryptographically. This is accomplished by deleting the encryption key. +|3–7|Reserved +|================= + +-p :: +--pil=:: + Protection Information Location: If set to ‘1’ and protection + information is enabled, then protection information is transferred + as the first eight bytes of metadata. If cleared to ‘0’ and + protection information is enabled, then protection information + is transferred as the last eight bytes of metadata. Defaults to 0. + +-i :: +--pi=:: + Protection Information: This field specifies whether end-to-end + data protection is enabled and the type of protection + information. Defaults to 0. ++ +[] +|================= +|Value|Definition +|0|Protection information is not enabled +|1|Protection information is enabled, Type 1 +|2|Protection information is enabled, Type 2 +|3|Protection information is enabled, Type 3 +|4–7|Reserved +|================= + +-m :: +--ms=:: + Metadata Settings: This field is set to ‘1’ if the metadata + is transferred as part of an extended data LBA. This field is + cleared to ‘0’ if the metadata is transferred as part of a + separate buffer. The metadata may include protection information, + based on the Protection Information (PI) field. Defaults to 0. + +-r:: +--reset:: + Issue a reset after successful format. Must use the character + device for this. + +--force:: + Just send the command immediately without warning of the implications. + +-t :: +--timeout=:: + Override default timeout value. In milliseconds. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Format the device using all defaults: ++ +------------ +# nvme format /dev/nvme0n1 +------------ ++ + +* Format namespace 1 with user data secure erase settings and protection +information: ++ +------------ +# nvme format /dev/nvme0 --namespace-id=1 --ses=1 --pi=1 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-fw-commit.1 b/Documentation/nvme-fw-commit.1 new file mode 100644 index 0000000..62e46ee --- /dev/null +++ b/Documentation/nvme-fw-commit.1 @@ -0,0 +1,162 @@ +'\" t +.\" Title: nvme-fw-commit +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FW\-COMMIT" "1" "02/14/2024" "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-fw-commit \- Used to verify and commit a firmware image\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme fw\-commit\fR [\-\-slot= | \-s ] + [\-\-action= | \-a ] + [\-\-bpid= | \-b ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, send an nvme Firmware Commit admin command and provides the results\&. +.sp +The Firmware Commit command is used to verify that a valid firmware image has been downloaded and to commit that revision to a specific firmware slot\&. The host may select the firmware image to commit on the next controller reset (CC\&.EN transitions from \(oq1\(cq to \(oq0\(cq, a PCI function level reset, and/or other Controller or NVM Subsystem Reset) as part of this command\&. The currently executing firmware revision may be determined from the Firmware Revision field of the Identify Controller data structure as indicated in the Firmware Slot Information log page\&. +.sp +No further action is automatically taken to reset the device, which is usually required to complete the activation process\&. If your kernel and driver are recent enough, you can commit the firmware by issuing a reset through Linux sysfs, for example: +.sp +.if n \{\ +.RS 4 +.\} +.nf + # echo 1 > /sys/class/nvme/nvme0/device/reset +.fi +.if n \{\ +.RE +.\} +.sp +If your kernel is not recent enough, you will need to remove and add the device some other way\&. +.SH "OPTIONS" +.PP +\-a , \-\-action= +.RS 4 +Commit Action: This field specifies the action that is taken on the image downloaded with the Firmware Image Download command or on a previously downloaded and placed image\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +0 +T}:T{ +Downloaded image replaces the image indicated by the Firmware Slot field\&. This image is not activated\&. +T} +T{ +1 +T}:T{ +Downloaded image replaces the image indicated by the Firmware Slot field\&. This image is activated at the next reset\&. +T} +T{ +2 +T}:T{ +The image indicated by the Firmware Slot field is activated at the next reset\&. +T} +T{ +3 +T}:T{ +The image specified by the Firmware Slot field is requested to be activated immediately without reset\&. +T} +T{ +6 +T}:T{ +Downloaded image replaces the Boot Partition specified by the Boot Partition ID field\&. +T} +T{ +7 +T}:T{ +Mark the Boot Partition specified in the BPID field as active and update BPINFO\&.ABPID\&. +T} +.TE +.sp 1 +.RE +.PP +\-s , \-\-slot= +.RS 4 +Firmware Slot: Specifies the firmware slot that shall be used for the Commit Action, if applicable\&. If the value specified is 0h, then the controller shall choose the firmware slot (slot 1 \(en 7) to use for the operation\&. +.RE +.PP +\-\-bpid=, \-b +.RS 4 +Specifies the Boot partition that shall be used for the Commit Action, if applicable (default: 0) +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +commit the last downloaded fw to slot 1\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme fw\-commit /dev/nvme0 \-\-slot=1 \-\-action=2 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "ALIAS" +.sp +fw\-activate +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-fw-commit.html b/Documentation/nvme-fw-commit.html new file mode 100644 index 0000000..5f02e38 --- /dev/null +++ b/Documentation/nvme-fw-commit.html @@ -0,0 +1,936 @@ + + + + + + +nvme-fw-commit(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fw-commit <device> [--slot=<slot> | -s <slot>]
+                        [--action=<action> | -a <action>]
+                        [--bpid=<boot-partid> | -b <boot-partid>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, send an nvme Firmware Commit admin command +and provides the results.

+

The Firmware Commit command is used to verify that a valid firmware +image has been downloaded and to commit that revision to a specific +firmware slot. The host may select the firmware image to commit on the +next controller reset (CC.EN transitions from ‘1’ to ‘0’, a PCI +function level reset, and/or other Controller or NVM Subsystem Reset) +as part of this command. The currently executing firmware revision may +be determined from the Firmware Revision field of the Identify Controller +data structure as indicated in the Firmware Slot Information log page.

+

No further action is automatically taken to reset the device, which is +usually required to complete the activation process. If your kernel and +driver are recent enough, you can commit the firmware by issuing a +reset through Linux sysfs, for example:

+
+
+
 # echo 1 > /sys/class/nvme/nvme0/device/reset
+
+

If your kernel is not recent enough, you will need to remove and add +the device some other way.

+
+
+
+

OPTIONS

+
+
+
+-a <action> +
+
+--action=<action> +
+
+

+ Commit Action: This field specifies the action that is taken + on the image downloaded with the Firmware Image Download command + or on a previously downloaded and placed image. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

0

Downloaded image replaces the image indicated by the Firmware Slot +field. This image is not activated.

1

Downloaded image replaces the image indicated by the Firmware Slot +field. This image is activated at the next reset.

2

The image indicated by the Firmware Slot field is activated at the +next reset.

3

The image specified by the Firmware Slot field is requested to be +activated immediately without reset.

6

Downloaded image replaces the Boot Partition specified by the Boot Partition +ID field.

7

Mark the Boot Partition specified in the BPID field as active and update +BPINFO.ABPID.

+
+
+
+-s <slot> +
+
+--slot=<slot> +
+
+

+ Firmware Slot: Specifies the firmware slot that shall be used for + the Commit Action, if applicable. If the value specified is 0h, + then the controller shall choose the firmware slot (slot 1 – 7) + to use for the operation. +

+
+
+--bpid=<boot-partid> +
+
+-b <boot-partid> +
+
+

+ Specifies the Boot partition that shall be used for the Commit Action, + if applicable (default: 0) +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +commit the last downloaded fw to slot 1. +

    +
    +
    +
    # nvme fw-commit /dev/nvme0 --slot=1 --action=2
    +
    +
  • +
+
+
+
+

ALIAS

+
+

fw-activate

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-fw-commit.txt b/Documentation/nvme-fw-commit.txt new file mode 100644 index 0000000..8e08bd4 --- /dev/null +++ b/Documentation/nvme-fw-commit.txt @@ -0,0 +1,103 @@ +nvme-fw-commit(1) +================= + +NAME +---- +nvme-fw-commit - Used to verify and commit a firmware image. + +SYNOPSIS +-------- +[verse] +'nvme fw-commit' [--slot= | -s ] + [--action= | -a ] + [--bpid= | -b ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, send an nvme Firmware Commit admin command +and provides the results. + +The Firmware Commit command is used to verify that a valid firmware +image has been downloaded and to commit that revision to a specific +firmware slot. The host may select the firmware image to commit on the +next controller reset (CC.EN transitions from ‘1’ to ‘0’, a PCI +function level reset, and/or other Controller or NVM Subsystem Reset) +as part of this command. The currently executing firmware revision may +be determined from the Firmware Revision field of the Identify Controller +data structure as indicated in the Firmware Slot Information log page. + +No further action is automatically taken to reset the device, which is +usually required to complete the activation process. If your kernel and +driver are recent enough, you can commit the firmware by issuing a +reset through Linux sysfs, for example: + +------------ + # echo 1 > /sys/class/nvme/nvme0/device/reset +------------ + +If your kernel is not recent enough, you will need to remove and add +the device some other way. + +OPTIONS +------- +-a :: +--action=:: + Commit Action: This field specifies the action that is taken + on the image downloaded with the Firmware Image Download command + or on a previously downloaded and placed image. ++ +[] +|================= +|Value|Definition +|0|Downloaded image replaces the image indicated by the Firmware Slot +field. This image is not activated. +|1|Downloaded image replaces the image indicated by the Firmware Slot +field. This image is activated at the next reset. +|2|The image indicated by the Firmware Slot field is activated at the +next reset. +|3|The image specified by the Firmware Slot field is requested to be +activated immediately without reset. +|6|Downloaded image replaces the Boot Partition specified by the Boot Partition +ID field. +|7|Mark the Boot Partition specified in the BPID field as active and update +BPINFO.ABPID. +|================= + +-s :: +--slot=:: + Firmware Slot: Specifies the firmware slot that shall be used for + the Commit Action, if applicable. If the value specified is 0h, + then the controller shall choose the firmware slot (slot 1 – 7) + to use for the operation. + +--bpid=:: +-b :: + Specifies the Boot partition that shall be used for the Commit Action, + if applicable (default: 0) + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* commit the last downloaded fw to slot 1. ++ +------------ +# nvme fw-commit /dev/nvme0 --slot=1 --action=2 +------------ + +ALIAS +----- + +fw-activate + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-fw-download.1 b/Documentation/nvme-fw-download.1 new file mode 100644 index 0000000..18a87ca --- /dev/null +++ b/Documentation/nvme-fw-download.1 @@ -0,0 +1,103 @@ +'\" t +.\" Title: nvme-fw-download +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FW\-DOWNLOAD" "1" "02/14/2024" "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-fw-download \- Download all or a portion of an nvme firmware image\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme fw\-download\fR [\-\-fw= | \-f ] + [\-\-xfer= | \-x ] + [\-\-offset= | \-O ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Firmware Image Download command is used to download all or a portion of the firmware image for a future update to the controller\&. The Firmware Image Download command may be submitted while other commands on the Admin Submission Queue or I/O Submission Queues are outstanding\&. The Firmware Image Download command copies the new firmware image (in whole or in part) to the controller\&. +.sp +The firmware image may be constructed of multiple pieces that are individually downloaded with separate Firmware Image Download commands\&. Each Firmware Image Download command includes a Dword Offset and Number of Dwords that specify a Dword range\&. The host software shall ensure that firmware pieces do not have Dword ranges that overlap\&. Firmware portions may be submitted out of order to the controller\&. +.sp +The new firmware image is not applied as part of the Firmware Image Download command\&. It is applied following a reset, where the image to apply and the firmware slot it should be committed to is specified with the Firmware Commit command (nvme fw\-commit )\&. +.SH "OPTIONS" +.PP +\-f , \-\-fw= +.RS 4 +Required argument\&. This specifies the path to the device\(cqs firmware file on your system that will be read by the program and sent to the device\&. +.RE +.PP +\-x , \-\-xfer= +.RS 4 +This specifies the size to split each transfer\&. This is useful if the device has a max transfer size requirement for firmware\&. It defaults to 4k\&. +.RE +.PP +\-O , \-\-offset= +.RS 4 +This specifies the starting offset in dwords\&. This is really only useful if your firmware is split in multiple files; otherwise the offset starts at zero and automatically adjusts based on the +\fIxfer\fR +size given\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Transfer a firmware size 128KiB at a time: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme fw\-download /dev/nvme0 \-\-fw=/path/to/nvme\&.fw \-\-xfer=0x20000 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-fw-download.html b/Documentation/nvme-fw-download.html new file mode 100644 index 0000000..278bb7a --- /dev/null +++ b/Documentation/nvme-fw-download.html @@ -0,0 +1,883 @@ + + + + + + +nvme-fw-download(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fw-download <device> [--fw=<firmware-file> | -f <firmware-file>]
+                        [--xfer=<transfer-size> | -x <transfer-size>]
+                        [--offset=<offset> | -O <offset>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Firmware Image Download command is used to download all or a portion +of the firmware image for a future update to the controller. The Firmware +Image Download command may be submitted while other commands on the Admin +Submission Queue or I/O Submission Queues are outstanding. The Firmware +Image Download command copies the new firmware image (in whole or in part) +to the controller.

+

The firmware image may be constructed of multiple pieces that +are individually downloaded with separate Firmware Image Download +commands. Each Firmware Image Download command includes a Dword +Offset and Number of Dwords that specify a Dword range. The host +software shall ensure that firmware pieces do not have Dword ranges +that overlap. Firmware portions may be submitted out of order to the +controller.

+

The new firmware image is not applied as part of the Firmware Image +Download command. It is applied following a reset, where the image to +apply and the firmware slot it should be committed to is specified with +the Firmware Commit command (nvme fw-commit <args>).

+
+
+
+

OPTIONS

+
+
+
+-f <firmware-file> +
+
+--fw=<firmware-file> +
+
+

+ Required argument. This specifies the path to the device’s + firmware file on your system that will be read by the program + and sent to the device. +

+
+
+-x <transfer-size> +
+
+--xfer=<transfer-size> +
+
+

+ This specifies the size to split each transfer. This is useful if + the device has a max transfer size requirement for firmware. It + defaults to 4k. +

+
+
+-O <offset> +
+
+--offset=<offset> +
+
+

+ This specifies the starting offset in dwords. This is really only + useful if your firmware is split in multiple files; otherwise + the offset starts at zero and automatically adjusts based on the + xfer size given. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Transfer a firmware size 128KiB at a time: +

    +
    +
    +
    # nvme fw-download /dev/nvme0 --fw=/path/to/nvme.fw --xfer=0x20000
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-fw-download.txt b/Documentation/nvme-fw-download.txt new file mode 100644 index 0000000..1ec466f --- /dev/null +++ b/Documentation/nvme-fw-download.txt @@ -0,0 +1,78 @@ +nvme-fw-download(1) +=================== + +NAME +---- +nvme-fw-download - Download all or a portion of an nvme firmware image. + +SYNOPSIS +-------- +[verse] +'nvme fw-download' [--fw= | -f ] + [--xfer= | -x ] + [--offset= | -O ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Firmware Image Download command is used to download all or a portion +of the firmware image for a future update to the controller. The Firmware +Image Download command may be submitted while other commands on the Admin +Submission Queue or I/O Submission Queues are outstanding. The Firmware +Image Download command copies the new firmware image (in whole or in part) +to the controller. + +The firmware image may be constructed of multiple pieces that +are individually downloaded with separate Firmware Image Download +commands. Each Firmware Image Download command includes a Dword +Offset and Number of Dwords that specify a Dword range. The host +software shall ensure that firmware pieces do not have Dword ranges +that overlap. Firmware portions may be submitted out of order to the +controller. + +The new firmware image is not applied as part of the Firmware Image +Download command. It is applied following a reset, where the image to +apply and the firmware slot it should be committed to is specified with +the Firmware Commit command (nvme fw-commit ). + +OPTIONS +------- +-f :: +--fw=:: + Required argument. This specifies the path to the device's + firmware file on your system that will be read by the program + and sent to the device. + +-x :: +--xfer=:: + This specifies the size to split each transfer. This is useful if + the device has a max transfer size requirement for firmware. It + defaults to 4k. + +-O :: +--offset=:: + This specifies the starting offset in dwords. This is really only + useful if your firmware is split in multiple files; otherwise + the offset starts at zero and automatically adjusts based on the + 'xfer' size given. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Transfer a firmware size 128KiB at a time: ++ +------------ +# nvme fw-download /dev/nvme0 --fw=/path/to/nvme.fw --xfer=0x20000 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-fw-log.1 b/Documentation/nvme-fw-log.1 new file mode 100644 index 0000000..03776a7 --- /dev/null +++ b/Documentation/nvme-fw-log.1 @@ -0,0 +1,112 @@ +'\" t +.\" Title: nvme-fw-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-FW\-LOG" "1" "02/14/2024" "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-fw-log \- Send NVMe Firmware log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme fw\-log\fR [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Firmware log page from an NVMe device and provides the returned 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 +On success, the returned f/w log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw fw log buffer to stdout\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the firmware log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme fw\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the log firmware to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme fw\-log /dev/nvme0 \-\-raw\-binary > fw_log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-fw-log.html b/Documentation/nvme-fw-log.html new file mode 100644 index 0000000..92fd8f0 --- /dev/null +++ b/Documentation/nvme-fw-log.html @@ -0,0 +1,853 @@ + + + + + + +nvme-fw-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme fw-log <device> [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Firmware log page from an NVMe device and provides +the returned structure.

+

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

+

On success, the returned f/w log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

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

+ Print the raw fw log buffer to stdout. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the firmware log page in a human readable format: +

    +
    +
    +
    # nvme fw-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the log firmware to a file: +

    +
    +
    +
    # nvme fw-log /dev/nvme0 --raw-binary > fw_log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-fw-log.txt b/Documentation/nvme-fw-log.txt new file mode 100644 index 0000000..d957548 --- /dev/null +++ b/Documentation/nvme-fw-log.txt @@ -0,0 +1,61 @@ +nvme-fw-log(1) +============== + +NAME +---- +nvme-fw-log - Send NVMe Firmware log page request, returns result and log + +SYNOPSIS +-------- +[verse] +'nvme fw-log' [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe Firmware log page from an NVMe device and provides +the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned f/w log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse. + +OPTIONS +------- +-b:: +--raw-binary:: + Print the raw fw log buffer to stdout. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the firmware log page in a human readable format: ++ +------------ +# nvme fw-log /dev/nvme0 +------------ ++ + +* Print the log firmware to a file: ++ +------------ +# nvme fw-log /dev/nvme0 --raw-binary > fw_log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-gen-dhchap-key.1 b/Documentation/nvme-gen-dhchap-key.1 new file mode 100644 index 0000000..ad54b1f --- /dev/null +++ b/Documentation/nvme-gen-dhchap-key.1 @@ -0,0 +1,69 @@ +'\" t +.\" Title: nvme-gen-dhchap-key +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 11/25/2021 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-GEN\-DHCHAP\-K" "1" "11/25/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-gen-dhchap-key \- Generate a host DH\-HMAC\-CHAP key +.SH "SYNOPSIS" +.sp +.nf +\fInvme gen\-dhchap\-key\fR [\-\-hmac= | \-h ] + [\-\-secret= | \-s ] + [\-\-key\-length= | \-l ] + [\-\-nqn= | \-n ] +.fi +.SH "DESCRIPTION" +.sp +Generate a base64\-encoded DH\-HMAC\-CHAP host key in the form: DHHC\-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n: and prints it to stdout\&. +.SH "OPTIONS" +.PP +\-h , \-\-hmac= +.RS 4 +Select a HMAC algorithm to use\&. Possible values are: 0 \- No HMAC algorithm 1 \- SHA\-256 2 \- SHA\-384 3 \- SHA\-512 +.RE +.PP +\-s , \-\-secret= +.RS 4 +Secret value (in hexadecimal) to be used for the key\&. If none are provided a random value is used\&. +.RE +.PP +\-l , \-\-key\-length= +.RS 4 +Length of the resulting key\&. Possible values are 32, 48, or 64\&. +.RE +.PP +\-n , \-\-nqn= +.RS 4 +Host\-NQN to be used for the transformation\&. This parameter is only valid if a non\-zero HMAC function has been specified\&. +.RE +.SH "EXAMPLES" +.sp +No Examples +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-gen-dhchap-key.html b/Documentation/nvme-gen-dhchap-key.html new file mode 100644 index 0000000..224e773 --- /dev/null +++ b/Documentation/nvme-gen-dhchap-key.html @@ -0,0 +1,842 @@ + + + + + +nvme-gen-dhchap-key(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme gen-dhchap-key [--hmac=<hmac-id> | -h <hmac-id>]
+                      [--secret=<secret> | -s <secret> ]
+                      [--key-length=<len> | -l <len> ]
+                      [--nqn=<host-nqn> | -n <host-nqn> ]
+
+
+
+
+
+

DESCRIPTION

+
+

Generate a base64-encoded DH-HMAC-CHAP host key in the form: +DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n: +and prints it to stdout.

+
+
+
+

OPTIONS

+
+
+
+-h <hmac-id> +
+
+--hmac=<hmac-id> +
+
+

+ Select a HMAC algorithm to use. Possible values are: + 0 - No HMAC algorithm + 1 - SHA-256 + 2 - SHA-384 + 3 - SHA-512 +

+
+
+-s <secret> +
+
+--secret=<secret> +
+
+

+ Secret value (in hexadecimal) to be used for the key. If none are + provided a random value is used. +

+
+
+-l <len> +
+
+--key-length=<len> +
+
+

+ Length of the resulting key. Possible values are 32, 48, or 64. +

+
+
+-n <hostnqn> +
+
+--nqn=<hostnqn> +
+
+

+ Host-NQN to be used for the transformation. This parameter is only + valid if a non-zero HMAC function has been specified. +

+
+
+
+
+
+

EXAMPLES

+
+

No Examples

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-gen-dhchap-key.txt b/Documentation/nvme-gen-dhchap-key.txt new file mode 100644 index 0000000..1e5f969 --- /dev/null +++ b/Documentation/nvme-gen-dhchap-key.txt @@ -0,0 +1,62 @@ +nvme-gen-dhchap-key(1) +====================== + +NAME +---- +nvme-gen-dhchap-key - Generate a host DH-HMAC-CHAP key + +SYNOPSIS +-------- +[verse] +'nvme gen-dhchap-key' [--hmac= | -h ] + [--secret= | -s ] + [--key-length= | -l ] + [--nqn= | -n ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Generate a base64-encoded DH-HMAC-CHAP host key in the form: +DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n: +and prints it to stdout. + +OPTIONS +------- +-h :: +--hmac=:: + Select a HMAC algorithm to use. Possible values are: + 0 - No HMAC algorithm + 1 - SHA-256 + 2 - SHA-384 + 3 - SHA-512 + +-s :: +--secret=:: + Secret value (in hexadecimal) to be used for the key. If none are + provided a random value is used. + +-l :: +--key-length=:: + Length of the resulting key. Possible values are 32, 48, or 64. + +-n :: +--nqn=:: + Host-NQN to be used for the transformation. This parameter is only + valid if a non-zero HMAC function has been specified. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No Examples + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-gen-hostnqn.1 b/Documentation/nvme-gen-hostnqn.1 new file mode 100644 index 0000000..843a8a8 --- /dev/null +++ b/Documentation/nvme-gen-hostnqn.1 @@ -0,0 +1,60 @@ +'\" t +.\" Title: nvme-gen-hostnqn +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-GEN\-HOSTNQN" "1" "02/14/2024" "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-gen-hostnqn \- Generate a host NVMe Qualified Name +.SH "SYNOPSIS" +.sp +.nf +\fInvme gen\-hostnqn\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Generate a random host NQN in the form: nqn\&.2014\-08\&.org\&.nvmexpress:uuid:1b4e28ba\-2fa1\-11d2\-883f\-0016d3cca427 and prints it to stdout\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +nvme gen\-hostnqn +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-gen-hostnqn.html b/Documentation/nvme-gen-hostnqn.html new file mode 100644 index 0000000..a6d5fda --- /dev/null +++ b/Documentation/nvme-gen-hostnqn.html @@ -0,0 +1,816 @@ + + + + + + +nvme-gen-hostnqn(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme gen-hostnqn [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Generate a random host NQN in the form: +nqn.2014-08.org.nvmexpress:uuid:1b4e28ba-2fa1-11d2-883f-0016d3cca427 +and prints it to stdout.

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

nvme gen-hostnqn

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-gen-hostnqn.txt b/Documentation/nvme-gen-hostnqn.txt new file mode 100644 index 0000000..7b7d776 --- /dev/null +++ b/Documentation/nvme-gen-hostnqn.txt @@ -0,0 +1,36 @@ +nvme-gen-hostnqn(1) +=================== + +NAME +---- +nvme-gen-hostnqn - Generate a host NVMe Qualified Name + +SYNOPSIS +-------- +[verse] +'nvme gen-hostnqn' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Generate a random host NQN in the form: +nqn.2014-08.org.nvmexpress:uuid:1b4e28ba-2fa1-11d2-883f-0016d3cca427 +and prints it to stdout. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +nvme gen-hostnqn + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-gen-tls-key.txt b/Documentation/nvme-gen-tls-key.txt new file mode 100644 index 0000000..772c7bc --- /dev/null +++ b/Documentation/nvme-gen-tls-key.txt @@ -0,0 +1,99 @@ +nvme-gen-tls-key(1) +====================== + +NAME +---- +nvme-gen-tls-key - Generate a NVMe TLS PSK + +SYNOPSIS +-------- +[verse] +'nvme gen-tls-key' [--keyring= | -k ] + [--keytype= | -t ] + [--hostnqn= | -n ] + [--subsysnqn= | -c ] + [--hmac= | -h ] + [--identity= | -I ] + [--secret= | -s ] + [--insert | -i] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Generate a base64-encoded NVMe TLS pre-shared key (PSK). +The resulting key is either printed in the PSK interchange format +'NVMeTLSkey-1:01::' or inserted as a +'retained' key into the specified keyring if the '--insert' option +is given. +When the PSK should be inserted into the keyring a 'retained' key +is derived from the secret key material. The resulting 'retained' +key is stored with the identity +'NVMe0R0 ' +(for identity version '0') or +'NVMe1R0 ' +(for identity version '1') in the keyring. +The 'retained' key is derived from the secret key material, +the specified subsystem NQN, and the host NQN. +Once the 'retained' key is stored in the keyring the original +secret key material cannot be retrieved. + +OPTIONS +------- +-k :: +--keyring=:: + Name of the keyring into which the 'retained' TLS key should be + stored. Default is '.nvme'. + +-t :: +--keytype=:: + Type of the key for resulting TLS key. + Default is 'psk'. + +-n :: +--hostnqn=:: + Host NVMe Qualified Name (NQN) to be used to derive the + 'retained' TLS key + +-c :: +--subsysnqn=:: + Subsystem NVMe Qualified Name (NQN) to be used to derive the + 'retained' TLS key + +-h :: +--hmac=:: + Select a HMAC algorithm to use. Possible values are: + 1 - SHA-256 (default) + 2 - SHA-384 + +-I :: +--identity=:: + Select the TLS identity to use. Possible values are: + 0 - Original NVMe TLS 1.0c identity + 1 - NVMe TLS 2.0 (TP8018) identity + +-s :: +--secret=:: + Secret value (in hexadecimal) to be used for the key. If none are + provided a random value is used. + +-i:: +--insert:: + Insert the resulting TLS key into the keyring without printing out + the key in PSK interchange format. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No Examples + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-get-feature.1 b/Documentation/nvme-get-feature.1 new file mode 100644 index 0000000..c183514 --- /dev/null +++ b/Documentation/nvme-get-feature.1 @@ -0,0 +1,247 @@ +'\" t +.\" Title: nvme-get-feature +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-GET\-FEATURE" "1" "02/14/2024" "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-get-feature \- Gets an NVMe feature, returns applicable results +.SH "SYNOPSIS" +.sp +.nf +\fInvme get\-feature\fR [\-\-namespace\-id= | \-n ] + [\-\-feature\-id= | \-f ] [\-\-cdw11=] + [\-\-uuid\-index= | \-U ] + [\-\-data\-len= | \-l ] + [\-\-sel=] + [\-\-raw\-binary | \-b] + [\-\-human\-readable | \-H] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Submits an NVMe Get Feature admin command and returns the applicable results\&. This may be the feature\(cqs value, or may also include a feature structure if the feature requires it (ex: LBA Range Type)\&. +.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 +On success, the returned feature\(cqs structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Retrieve the feature for the given nsid\&. This is optional and most features do not use this value\&. +.RE +.PP +\-f , \-\-feature\-id= +.RS 4 +The feature id to send with the command\&. Value provided should be in hex\&. +.RE +.PP +\-s +.RS 4 +Select (SEL): This field specifies which value of the attributes to return in the provided data: +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Select +T}:T{ +Description +T} +T{ +0 +T}:T{ +Current +T} +T{ +1 +T}:T{ +Default +T} +T{ +2 +T}:T{ +Saved +T} +T{ +3 +T}:T{ +Supported capabilities +T} +T{ +4\-7 +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.PP +\-U , \-\-uuid\-index= +.RS 4 +UUID Index of the feature +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +The data length for the buffer returned for this feature\&. Most known features do not use this value\&. The exception is LBA Range Type +.RE +.PP +\-\-cdw11= +.RS 4 +The value for command dword 11, if applicable\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw feature buffer to stdout if the feature returns a structure\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Retrieves the feature for Number of Queues, or feature id 7: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-feature /dev/nvme0 \-f 7 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and will be printed to the screen in human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-feature /dev/nvme0 \-f 3 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Retrieves the feature for the some vendor specific feature and specifically requesting a buffer be allocate for this feature, which will be displayed to the user in as a hex dump: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-feature /dev/nvme0 \-f 0xc0 \-l 512 +.fi +.if n \{\ +.RE +.\} +.sp +Get feature with UUID index +.RE +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-feature /dev/nvme0 \-f 0xc0 \-l 512 \-U 0x1 +.fi +.if n \{\ +.RE +.\} +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and will be saved to a file in its raw format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-feature /dev/nvme0 \-f 3 \-\-raw\-binary > lba_range\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-get-feature.html b/Documentation/nvme-get-feature.html new file mode 100644 index 0000000..920a5e3 --- /dev/null +++ b/Documentation/nvme-get-feature.html @@ -0,0 +1,1008 @@ + + + + + + +nvme-get-feature(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme get-feature <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--feature-id=<fid> | -f <fid>] [--cdw11=<cdw11>]
+                        [--uuid-index=<uuid-index> | -U <uuid_index>]
+                        [--data-len=<data-len> | -l <data-len>]
+                        [--sel=<select> | -s <select>]
+                        [--raw-binary | -b]
+                        [--human-readable | -H]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Submits an NVMe Get Feature admin command and returns the applicable +results. This may be the feature’s value, or may also include a feature +structure if the feature requires it (ex: LBA Range Type).

+

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

+

On success, the returned feature’s structure (if applicable) may be +returned in one of several ways depending on the option flags; the +structure may parsed by the program and printed in a readable format +if it is a known structure, displayed in hex, or the raw buffer may be +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Retrieve the feature for the given nsid. This is optional and + most features do not use this value. +

+
+
+-f <fid> +
+
+--feature-id=<fid> +
+
+

+ The feature id to send with the command. Value provided should + be in hex. +

+
+
+-s <select> +
+
+--sel=<select> +
+
+

+ Select (SEL): This field specifies which value of the attributes + to return in the provided data: +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + +

Select

Description

0

Current

1

Default

2

Saved

3

Supported capabilities

4-7

Reserved

+
+
+
+-U <uuid-index> +
+
+--uuid-index=<uuid-index> +
+
+

+ UUID Index of the feature +

+
+
+-l <data-len> +
+
+--data-len=<data-len> +
+
+

+ The data length for the buffer returned for this feature. Most + known features do not use this value. The exception is LBA + Range Type +

+
+
+--cdw11=<cdw11> +
+
+

+ The value for command dword 11, if applicable. +

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

+ Print the raw feature buffer to stdout if the feature returns + a structure. +

+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Retrieves the feature for Number of Queues, or feature id 7: +

    +
    +
    +
    # nvme get-feature /dev/nvme0 -f 7
    +
    +
  • +
  • +

    +The following retrieves the feature for the LBA Range Type, which +implicitly requires a buffer and will be printed to the screen in human +readable format: +

    +
    +
    +
    # nvme get-feature /dev/nvme0 -f 3
    +
    +
  • +
  • +

    +Retrieves the feature for the some vendor specific feature and +specifically requesting a buffer be allocate for this feature, which +will be displayed to the user in as a hex dump: +

    +
    +
    +
    # nvme get-feature /dev/nvme0 -f 0xc0 -l 512
    +
    +

    Get feature with UUID index

    +
  • +
+
+
+
# nvme get-feature /dev/nvme0 -f 0xc0 -l 512 -U 0x1
+
+
    +
  • +

    +The following retrieves the feature for the LBA Range Type, which +implicitly requires a buffer and will be saved to a file in its raw +format: +

    +
    +
    +
    # nvme get-feature /dev/nvme0 -f 3 --raw-binary > lba_range.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-get-feature.txt b/Documentation/nvme-get-feature.txt new file mode 100644 index 0000000..6477bc6 --- /dev/null +++ b/Documentation/nvme-get-feature.txt @@ -0,0 +1,137 @@ +nvme-get-feature(1) +=================== + +NAME +---- +nvme-get-feature - Gets an NVMe feature, returns applicable results + +SYNOPSIS +-------- +[verse] +'nvme get-feature' [--namespace-id= | -n ] + [--feature-id= | -f ] [--cdw11=] + [--uuid-index= | -U ] + [--data-len= | -l ] + [--sel=] + [--raw-binary | -b] + [--human-readable | -H] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Submits an NVMe Get Feature admin command and returns the applicable +results. This may be the feature's value, or may also include a feature +structure if the feature requires it (ex: LBA Range Type). + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned feature's structure (if applicable) may be +returned in one of several ways depending on the option flags; the +structure may parsed by the program and printed in a readable format +if it is a known structure, displayed in hex, or the raw buffer may be +printed to stdout for another program to parse. + +OPTIONS +------- +-n :: +--namespace-id=:: + Retrieve the feature for the given nsid. This is optional and + most features do not use this value. + +-f :: +--feature-id=:: + The feature id to send with the command. Value provided should + be in hex. + +-s :: + Select (SEL): This field specifies which value of the attributes + to return in the provided data: ++ +[] +|================== +|Select|Description +|0|Current +|1|Default +|2|Saved +|3|Supported capabilities +|4-7|Reserved +|================== + +-U :: +--uuid-index=:: + UUID Index of the feature + +-l :: +--data-len=:: + The data length for the buffer returned for this feature. Most + known features do not use this value. The exception is LBA + Range Type + +--cdw11=:: + The value for command dword 11, if applicable. + +-b:: +--raw-binary:: + Print the raw feature buffer to stdout if the feature returns + a structure. + +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Retrieves the feature for Number of Queues, or feature id 7: ++ +------------ +# nvme get-feature /dev/nvme0 -f 7 +------------ ++ + +* The following retrieves the feature for the LBA Range Type, which +implicitly requires a buffer and will be printed to the screen in human +readable format: ++ +------------ +# nvme get-feature /dev/nvme0 -f 3 +------------ ++ + +* Retrieves the feature for the some vendor specific feature and +specifically requesting a buffer be allocate for this feature, which +will be displayed to the user in as a hex dump: ++ +------------ +# nvme get-feature /dev/nvme0 -f 0xc0 -l 512 +------------ ++ +Get feature with UUID index +------------ +# nvme get-feature /dev/nvme0 -f 0xc0 -l 512 -U 0x1 +------------ + +* The following retrieves the feature for the LBA Range Type, which +implicitly requires a buffer and will be saved to a file in its raw +format: ++ +------------ +# nvme get-feature /dev/nvme0 -f 3 --raw-binary > lba_range.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-get-lba-status.1 b/Documentation/nvme-get-lba-status.1 new file mode 100644 index 0000000..473a5b9 --- /dev/null +++ b/Documentation/nvme-get-lba-status.1 @@ -0,0 +1,140 @@ +'\" t +.\" Title: nvme-get-lba-status +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-GET\-LBA\-STAT" "1" "02/14/2024" "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-get-lba-status \- Get LBA Status from NVMe device +.SH "SYNOPSIS" +.sp +.nf +\fInvme get\-lba\-status\fR [\-\-namespace\-id= | \-n ] + [\-\-start\-lba= | \-s ] + [\-\-max\-dw= | \-m ] + [\-\-action= | \-a ] + [\-\-range\-len= | \-l ] + [\-\-timeout= | \-t ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, send an nvme Get LBA Status admin command and provides the results\&. +.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 +On success, the returned get lba data structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Send the Get LBA Status command for the specified nsid\&. This can be used to override the default value for either character device (unspecified) or the block device (result from NVME_IOCTL_ID)\&. +.RE +.PP +\-s , \-\-start\-lba= +.RS 4 +Starting LBA(SLBA) in 64\-bit address of the first logical block addressed +.RE +.PP +\-m , \-\-max\-dw= +.RS 4 +Maximum Number of Dwords(MNDW) specifies maximum number of dwords to return +.RE +.PP +\-a , \-\-action= +.RS 4 +Action Type(ATYPE) specifies the mechanism it uses in determining the LBA Status Descriptors\&. +.RE +.PP +\-l , \-\-range\-len= +.RS 4 +Range Length(RL) specifies the length of the range of contiguous LBAs beginning at SLBA +.RE +.PP +\-t , \-\-timeout= +.RS 4 +Override default timeout value\&. In milliseconds\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the LBA Status of the device using all defaults: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-lba\-status /dev/nvme0n1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get LBA Status of the namespace 1 from SLBA 10 for the max Dwords of 0x1000 +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-lba\-status /dev/nvme0 \-\-namespace\-id=1 \-\-start\-lba=10 \-\-max\-dw=0x1000 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-get-lba-status.html b/Documentation/nvme-get-lba-status.html new file mode 100644 index 0000000..fe45726 --- /dev/null +++ b/Documentation/nvme-get-lba-status.html @@ -0,0 +1,914 @@ + + + + + + +nvme-get-lba-status(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme get-lba-status <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--start-lba=<slba> | -s <slba>]
+                        [--max-dw=<max-dw> | -m <max-dw>]
+                        [--action=<action-type> | -a <action-type>]
+                        [--range-len=<range-len> | -l <range-len>]
+                        [--timeout=<timeout> | -t <timeout>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, send an nvme Get LBA Status admin command +and provides the results.

+

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

+

On success, the returned get lba data structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Send the Get LBA Status command for the specified nsid. This can be + used to override the default value for either character device + (unspecified) or the block device (result from NVME_IOCTL_ID). +

+
+
+-s <slba> +
+
+--start-lba=<slba> +
+
+

+ Starting LBA(SLBA) in 64-bit address of the first logical block addressed +

+
+
+-m <max-dw> +
+
+--max-dw=<max-dw> +
+
+

+ Maximum Number of Dwords(MNDW) specifies maximum number of dwords to return +

+
+
+-a <action-type> +
+
+--action=<action-type> +
+
+

+ Action Type(ATYPE) specifies the mechanism it uses in determining the LBA Status Descriptors. +

+
+
+-l <range-len> +
+
+--range-len=<range-len> +
+
+

+ Range Length(RL) specifies the length of the range of contiguous LBAs beginning at SLBA +

+
+
+-t <timeout> +
+
+--timeout=<timeout> +
+
+

+ Override default timeout value. In milliseconds. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Get the LBA Status of the device using all defaults: +

    +
    +
    +
    # nvme get-lba-status /dev/nvme0n1
    +
    +
  • +
  • +

    +Get LBA Status of the namespace 1 from SLBA 10 for the max Dwords of 0x1000 +

    +
    +
    +
    # nvme get-lba-status /dev/nvme0 --namespace-id=1 --start-lba=10 --max-dw=0x1000
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-get-lba-status.txt b/Documentation/nvme-get-lba-status.txt new file mode 100644 index 0000000..9ef9d59 --- /dev/null +++ b/Documentation/nvme-get-lba-status.txt @@ -0,0 +1,86 @@ +nvme-get-lba-status(1) +====================== + +NAME +---- +nvme-get-lba-status - Get LBA Status from NVMe device + +SYNOPSIS +-------- +[verse] +'nvme get-lba-status' [--namespace-id= | -n ] + [--start-lba= | -s ] + [--max-dw= | -m ] + [--action= | -a ] + [--range-len= | -l ] + [--timeout= | -t ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, send an nvme Get LBA Status admin command +and provides the results. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned get lba data structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse. + +OPTIONS +------- +-n :: +--namespace-id=:: + Send the Get LBA Status command for the specified nsid. This can be + used to override the default value for either character device + (unspecified) or the block device (result from NVME_IOCTL_ID). + +-s :: +--start-lba=:: + Starting LBA(SLBA) in 64-bit address of the first logical block addressed + +-m :: +--max-dw=:: + Maximum Number of Dwords(MNDW) specifies maximum number of dwords to return + +-a :: +--action=:: + Action Type(ATYPE) specifies the mechanism it uses in determining the LBA Status Descriptors. + +-l :: +--range-len=:: + Range Length(RL) specifies the length of the range of contiguous LBAs beginning at SLBA + +-t :: +--timeout=:: + Override default timeout value. In milliseconds. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Get the LBA Status of the device using all defaults: ++ +------------ +# nvme get-lba-status /dev/nvme0n1 +------------ ++ + +* Get LBA Status of the namespace 1 from SLBA 10 for the max Dwords of 0x1000 ++ +------------ +# nvme get-lba-status /dev/nvme0 --namespace-id=1 --start-lba=10 --max-dw=0x1000 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-get-log.1 b/Documentation/nvme-get-log.1 new file mode 100644 index 0000000..1f189c3 --- /dev/null +++ b/Documentation/nvme-get-log.1 @@ -0,0 +1,181 @@ +'\" t +.\" Title: nvme-get-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-GET\-LOG" "1" "02/14/2024" "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-get-log \- Retrieves a log page from an NVMe device +.SH "SYNOPSIS" +.sp +.nf +\fInvme get\-log\fR [\-\-log\-id= | \-i ] + [\-\-log\-len= | \-l ] + [\-\-aen= | \-a ] + [\-\-namespace\-id= | \-n ] + [\-\-raw\-binary | \-b] + [\-\-lpo= | \-L ] + [\-\-lsp= | \-s ] + [\-\-lsi= | \-S ] + [\-\-rae | \-r] + [\-\-csi= | \-y ] + [\-\-ot= | \-O ] + [\-\-xfer\-len= | \-x ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves an arbitrary NVMe log page from an NVMe device and provides the returned 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 +On success, the returned log structure may be returned in one of several ways depending on the option flags; the structure may be displayed in hex by the program or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-l , \-\-log\-len= +.RS 4 +Allocates a buffer of bytes size and requests this many bytes be returned in the constructed NVMe command\&. This param is mandatory\&. +.RE +.PP +\-i , \-\-log\-id= +.RS 4 +Sets the commands requested log\-id to \&. Defaults to 0\&. +.RE +.PP +\-a , \-\-aen= +.RS 4 +Convenience field for extracting log information based on an asynchronous event notification result\&. This will override log\-id and log\-len, if set\&. +.RE +.PP +\-n , \-\-namespace\-id= +.RS 4 +Sets the command\(cqs nsid value to the given nsid\&. Defaults to 0xffffffff if not given\&. This option may not affect anything depending on the log page, which may or may not be specific to a namespace\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw log buffer to stdout\&. +.RE +.PP +\-L , \-\-lpo= +.RS 4 +The log page offset specifies the location within a log page to start returning data from\&. It\(cqs Dword\-aligned and 64\-bits\&. +.RE +.PP +\-s , \-\-lsp= +.RS 4 +The log specified field of LID\&. +.RE +.PP +\-S , \-\-lsi= +.RS 4 +The log specified field of Log Specific Identifier\&. +.RE +.PP +\-r, \-\-rae +.RS 4 +Retain an Asynchronous Event\&. +.RE +.PP +\-y , \-\-csi= +.RS 4 +This field specifies the identifier of command set\&. if not issued, NVM Command Set will be selected\&. +.RE +.PP +\-O, \-\-ot +.RS 4 +This field specifies the offset type\&. If set to false, the Log Page Offset Lower field and the Log Page Offset Upper field specify the byte offset into the log page to be returned\&. If set to true, the Log Page Offset Lower field and the Log Page Offset Upper field specify the index into the list of data structures in the log page to be returned\&. The default is byte offset\&. If the option is specified the index mode is used\&. +.RE +.PP +\-x +.RS 4 +\-\-xfer\-len : Specify the read chunk size\&. The length argument is expected to be a multiple of 4096\&. The default size is 4096\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get 512 bytes from log page 2 +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-log /dev/nvme0 \-\-log\-id=2 \-\-log\-len=512 +.fi +.if n \{\ +.RE +.\} +.sp +The above example will get log page 2 (SMART), and request 512 bytes\&. On success, the returned log will be dumped in hex and not interpreted by the program\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program return the raw log page in binary: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-log /dev/nvme0 \-log\-id=2 \-\-log\-len=512 \-\-raw\-binary > log_page_2\&.raw +# nvme get\-log /dev/nvme0 \-i 2 \-l 512 \-b > log_page_2\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is not a good idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-get-log.html b/Documentation/nvme-get-log.html new file mode 100644 index 0000000..0d86eb2 --- /dev/null +++ b/Documentation/nvme-get-log.html @@ -0,0 +1,1004 @@ + + + + + + +nvme-get-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme get-log <device> [--log-id=<log-id> | -i <log-id>]
+                        [--log-len=<log-len> | -l <log-len>]
+                        [--aen=<aen> | -a <aen>]
+                        [--namespace-id=<nsid> | -n <nsid>]
+                        [--raw-binary | -b]
+                        [--lpo=<offset> | -L <offset>]
+                        [--lsp=<field> | -s <field>]
+                        [--lsi=<field> | -S <field>]
+                        [--rae | -r]
+                        [--csi=<command_set_identifier> | -y <command_set_identifier>]
+                        [--ot=<offset_type> | -O <offset_type>]
+                        [--xfer-len=<length> | -x <length>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves an arbitrary NVMe log page from an NVMe device and provides +the returned structure.

+

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

+

On success, the returned log structure may be returned in one of several +ways depending on the option flags; the structure may be displayed in +hex by the program or the raw buffer may be printed to stdout for another +program to parse.

+
+
+
+

OPTIONS

+
+
+
+-l <log-len> +
+
+--log-len=<log-len> +
+
+

+ Allocates a buffer of <log-len> bytes size and requests this + many bytes be returned in the constructed NVMe command. This + param is mandatory. +

+
+
+-i <log-id> +
+
+--log-id=<log-id> +
+
+

+ Sets the commands requested log-id to <log-id>. Defaults to 0. +

+
+
+-a <aen> +
+
+--aen=<aen> +
+
+

+ Convenience field for extracting log information based on an + asynchronous event notification result. This will override log-id and + log-len, if set. +

+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Sets the command’s nsid value to the given nsid. Defaults to + 0xffffffff if not given. This option may not affect anything + depending on the log page, which may or may not be specific to + a namespace. +

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

+ Print the raw log buffer to stdout. +

+
+
+-L <offset> +
+
+--lpo=<offset> +
+
+

+ The log page offset specifies the location within a log page to start + returning data from. It’s Dword-aligned and 64-bits. +

+
+
+-s <field> +
+
+--lsp=<field> +
+
+

+ The log specified field of LID. +

+
+
+-S <field> +
+
+--lsi=<field> +
+
+

+ The log specified field of Log Specific Identifier. +

+
+
+-r +
+
+--rae +
+
+

+ Retain an Asynchronous Event. +

+
+
+-y <command_set_identifier> +
+
+--csi=<command_set_identifier> +
+
+

+ This field specifies the identifier of command set. + if not issued, NVM Command Set will be selected. +

+
+
+-O +
+
+--ot +
+
+

+ This field specifies the offset type. If set to false, the + Log Page Offset Lower field and the Log Page Offset Upper + field specify the byte offset into the log page to be returned. + If set to true, the Log Page Offset Lower field and the Log + Page Offset Upper field specify the index into the list of + data structures in the log page to be returned. + The default is byte offset. If the option is specified + the index mode is used. +

+
+
+-x <length> +
+
+

+--xfer-len <length>: + Specify the read chunk size. The length argument is expected to be + a multiple of 4096. The default size is 4096. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Get 512 bytes from log page 2 +

    +
    +
    +
    # nvme get-log /dev/nvme0 --log-id=2 --log-len=512
    +
    +

    The above example will get log page 2 (SMART), and request 512 +bytes. On success, the returned log will be dumped in hex and not +interpreted by the program.

    +
  • +
  • +

    +Have the program return the raw log page in binary: +

    +
    +
    +
    # nvme get-log /dev/nvme0 -log-id=2 --log-len=512 --raw-binary > log_page_2.raw
    +# nvme get-log /dev/nvme0 -i 2 -l 512 -b > log_page_2.raw
    +
    +

    It is not a good idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-get-log.txt b/Documentation/nvme-get-log.txt new file mode 100644 index 0000000..98b1f9c --- /dev/null +++ b/Documentation/nvme-get-log.txt @@ -0,0 +1,137 @@ +nvme-get-log(1) +=============== + +NAME +---- +nvme-get-log - Retrieves a log page from an NVMe device + +SYNOPSIS +-------- +[verse] +'nvme get-log' [--log-id= | -i ] + [--log-len= | -l ] + [--aen= | -a ] + [--namespace-id= | -n ] + [--raw-binary | -b] + [--lpo= | -L ] + [--lsp= | -s ] + [--lsi= | -S ] + [--rae | -r] + [--csi= | -y ] + [--ot= | -O ] + [--xfer-len= | -x ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves an arbitrary NVMe log page from an NVMe device and provides +the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned log structure may be returned in one of several +ways depending on the option flags; the structure may be displayed in +hex by the program or the raw buffer may be printed to stdout for another +program to parse. + +OPTIONS +------- +-l :: +--log-len=:: + Allocates a buffer of bytes size and requests this + many bytes be returned in the constructed NVMe command. This + param is mandatory. + +-i :: +--log-id=:: + Sets the commands requested log-id to . Defaults to 0. + +-a :: +--aen=:: + Convenience field for extracting log information based on an + asynchronous event notification result. This will override log-id and + log-len, if set. + +-n :: +--namespace-id=:: + Sets the command's nsid value to the given nsid. Defaults to + 0xffffffff if not given. This option may not affect anything + depending on the log page, which may or may not be specific to + a namespace. + +-b:: +--raw-binary:: + Print the raw log buffer to stdout. + +-L :: +--lpo=:: + The log page offset specifies the location within a log page to start + returning data from. It's Dword-aligned and 64-bits. + +-s :: +--lsp=:: + The log specified field of LID. + +-S :: +--lsi=:: + The log specified field of Log Specific Identifier. + +-r:: +--rae:: + Retain an Asynchronous Event. + +-y :: +--csi=:: + This field specifies the identifier of command set. + if not issued, NVM Command Set will be selected. + +-O:: +--ot:: + This field specifies the offset type. If set to false, the + Log Page Offset Lower field and the Log Page Offset Upper + field specify the byte offset into the log page to be returned. + If set to true, the Log Page Offset Lower field and the Log + Page Offset Upper field specify the index into the list of + data structures in the log page to be returned. + The default is byte offset. If the option is specified + the index mode is used. + +-x :: +--xfer-len : + Specify the read chunk size. The length argument is expected to be + a multiple of 4096. The default size is 4096. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Get 512 bytes from log page 2 ++ +------------ +# nvme get-log /dev/nvme0 --log-id=2 --log-len=512 +------------ ++ +The above example will get log page 2 (SMART), and request 512 +bytes. On success, the returned log will be dumped in hex and not +interpreted by the program. + +* Have the program return the raw log page in binary: ++ +------------ +# nvme get-log /dev/nvme0 -log-id=2 --log-len=512 --raw-binary > log_page_2.raw +# nvme get-log /dev/nvme0 -i 2 -l 512 -b > log_page_2.raw +------------ ++ +It is not a good idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-get-ns-id.1 b/Documentation/nvme-get-ns-id.1 new file mode 100644 index 0000000..cb12425 --- /dev/null +++ b/Documentation/nvme-get-ns-id.1 @@ -0,0 +1,79 @@ +'\" t +.\" Title: nvme-get-ns-id +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-GET\-NS\-ID" "1" "02/14/2024" "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-get-ns-id \- Retrieves the namespace ID for an NVMe block device +.SH "SYNOPSIS" +.sp +.nf +\fInvme get\-ns\-id\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the namespace ID for an NVMe block device\&. The param is mandatory and must be an NVMe block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Shows the namespace id for the given block device: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-ns\-id /dev/nvme0n1 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-get-ns-id.html b/Documentation/nvme-get-ns-id.html new file mode 100644 index 0000000..07e9814 --- /dev/null +++ b/Documentation/nvme-get-ns-id.html @@ -0,0 +1,825 @@ + + + + + + +nvme-get-ns-id(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme get-ns-id <device> [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the namespace ID for an NVMe block device. The <device> param +is mandatory and must be an NVMe block device (ex: /dev/nvme0n1).

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Shows the namespace id for the given block device: +

    +
    +
    +
    # nvme get-ns-id /dev/nvme0n1
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-get-ns-id.txt b/Documentation/nvme-get-ns-id.txt new file mode 100644 index 0000000..8516cb8 --- /dev/null +++ b/Documentation/nvme-get-ns-id.txt @@ -0,0 +1,39 @@ +nvme-get-ns-id(1) +================= + +NAME +---- +nvme-get-ns-id - Retrieves the namespace ID for an NVMe block device + +SYNOPSIS +-------- +[verse] +'nvme get-ns-id' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the namespace ID for an NVMe block device. The param +is mandatory and must be an NVMe block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Shows the namespace id for the given block device: ++ +------------ +# nvme get-ns-id /dev/nvme0n1 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-get-property.1 b/Documentation/nvme-get-property.1 new file mode 100644 index 0000000..8053cc1 --- /dev/null +++ b/Documentation/nvme-get-property.1 @@ -0,0 +1,138 @@ +'\" t +.\" Title: nvme-get-property +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-GET\-PROPERTY" "1" "02/14/2024" "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-get-property \- Reads and shows the defined NVMe controller property for NVMe over Fabric +.SH "SYNOPSIS" +.sp +.nf +\fInvme get\-property\fR [\-\-offset= | \-O ] + [\-\-human\-readable | \-H] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Reads and shows the defined NVMe controller property for NVMe over Fabric\&. +.SH "OPTIONS" +.PP +\-O, \-\-offset +.RS 4 +The offset of the property\&. One of CAP=0x0, VS=0x8, CC=0x14, CSTS=0x1c, NSSR=0x20 +.RE +.PP +\-H +.RS 4 +\-\-human\-readable: Show the fields packed in the property +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +The following will run the get\-property command with offset 0 +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme get\-property /dev/nvme0 \-\-offset=0x0 \-\-human\-readable +.fi +.if n \{\ +.RE +.\} +.RE +.SH "BUGS" +.sp +Currently the CAP value is truncated to 32 bits due to a limitation in the ioctl interface\&. +.sp +In a recent enough kernel, the 64 bit value is shown in kernel traces\&. +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +First enable traces by this command +.sp +.if n \{\ +.RS 4 +.\} +.nf +# echo 1 > /sys/kernel/debug/tracing/events/nvme/enable +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Then look for NVMe Fabrics command (0x7f) at trace +.sp +.if n \{\ +.RS 4 +.\} +.nf +/sys/kernel/debug/tracing/trace +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-get-property.html b/Documentation/nvme-get-property.html new file mode 100644 index 0000000..f19907c --- /dev/null +++ b/Documentation/nvme-get-property.html @@ -0,0 +1,874 @@ + + + + + + +nvme-get-property(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme get-property <device> [--offset=<offset> | -O <offset>]
+                        [--human-readable | -H]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Reads and shows the defined NVMe controller property for NVMe over Fabric.

+
+
+
+

OPTIONS

+
+
+
+-O +
+
+--offset +
+
+

+ The offset of the property. One of CAP=0x0, VS=0x8, CC=0x14, CSTS=0x1c, NSSR=0x20 +

+
+
+-H +
+
+

+--human-readable: + Show the fields packed in the property +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +The following will run the get-property command with offset 0 +

    +
    +
    +
    # nvme get-property /dev/nvme0 --offset=0x0 --human-readable
    +
    +
  • +
+
+
+
+

BUGS

+
+

Currently the CAP value is truncated to 32 bits due to a limitation in +the ioctl interface.

+

In a recent enough kernel, the 64 bit value is shown in kernel traces.

+
    +
  • +

    +First enable traces by this command +

    +
    +
    +
    # echo 1 > /sys/kernel/debug/tracing/events/nvme/enable
    +
    +
  • +
  • +

    +Then look for NVMe Fabrics command (0x7f) at trace +

    +
    +
    +
    /sys/kernel/debug/tracing/trace
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-get-property.txt b/Documentation/nvme-get-property.txt new file mode 100644 index 0000000..601b8a4 --- /dev/null +++ b/Documentation/nvme-get-property.txt @@ -0,0 +1,68 @@ +nvme-get-property(1) +==================== + +NAME +---- +nvme-get-property - Reads and shows the defined NVMe controller property +for NVMe over Fabric + +SYNOPSIS +-------- +[verse] +'nvme get-property' [--offset= | -O ] + [--human-readable | -H] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Reads and shows the defined NVMe controller property for NVMe over Fabric. + +OPTIONS +------- +-O:: +--offset:: + The offset of the property. One of CAP=0x0, VS=0x8, CC=0x14, CSTS=0x1c, NSSR=0x20 + +-H:: +--human-readable: + Show the fields packed in the property + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* The following will run the get-property command with offset 0 ++ +------------ +# nvme get-property /dev/nvme0 --offset=0x0 --human-readable +------------ + +BUGS +---- +Currently the CAP value is truncated to 32 bits due to a limitation in +the ioctl interface. + +In a recent enough kernel, the 64 bit value is shown in kernel traces. + +* First enable traces by this command ++ +------------ +# echo 1 > /sys/kernel/debug/tracing/events/nvme/enable +------------ + +* Then look for NVMe Fabrics command (0x7f) at trace ++ +------------ +/sys/kernel/debug/tracing/trace +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-help.1 b/Documentation/nvme-help.1 new file mode 100644 index 0000000..f88439a --- /dev/null +++ b/Documentation/nvme-help.1 @@ -0,0 +1,69 @@ +'\" t +.\" Title: nvme-help +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-HELP" "1" "02/14/2024" "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-help \- Help information\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme help\fR [] +.fi +.SH "DESCRIPTION" +.sp +Provides help information, with detailed information about the given command if provided\&. +.SH "OPTIONS" +.sp +No Options +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Show help for nvme smart log: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme help smart\-log +.fi +.if n \{\ +.RE +.\} +.sp +Not much to it +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-help.html b/Documentation/nvme-help.html new file mode 100644 index 0000000..ef591a7 --- /dev/null +++ b/Documentation/nvme-help.html @@ -0,0 +1,801 @@ + + + + + + +nvme-help(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme help [<command>]
+
+
+
+
+
+

DESCRIPTION

+
+

Provides help information, with detailed information about the given command if provided.

+
+
+
+

OPTIONS

+
+

No Options

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Show help for nvme smart log: +

    +
    +
    +
    # nvme help smart-log
    +
    +

    Not much to it

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-help.txt b/Documentation/nvme-help.txt new file mode 100644 index 0000000..0c0c4cd --- /dev/null +++ b/Documentation/nvme-help.txt @@ -0,0 +1,33 @@ +nvme-help(1) +============= + +NAME +---- +nvme-help - Help information. + +SYNOPSIS +-------- +[verse] +'nvme help' [] + +DESCRIPTION +----------- +Provides help information, with detailed information about the given command if provided. + +OPTIONS +------- +No Options + +EXAMPLES +-------- +* Show help for nvme smart log: ++ +------------ +# nvme help smart-log +------------ ++ +Not much to it + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-huawei-id-ctrl.1 b/Documentation/nvme-huawei-id-ctrl.1 new file mode 100644 index 0000000..39c7a01 --- /dev/null +++ b/Documentation/nvme-huawei-id-ctrl.1 @@ -0,0 +1,97 @@ +'\" t +.\" Title: nvme-huawei-id-ctrl +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-HUAWEI\-ID\-CT" "1" "02/14/2024" "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-huawei-id-ctrl \- Send NVMe Identify Controller, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme huawei id\-ctrl\fR [\-\-vendor\-specific | \-v] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify controller command and provides the result and returned 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 +This will only work on Huawei devices supporting this feature\&. Results for any other device are undefined\&. +.sp +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.sp +If having the program decode the output for readability, this version will decode Huawei vendor unique portions of the structure\&. +.SH "OPTIONS" +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. +.RE +.PP +\-v, \-\-vendor\-specific +.RS 4 +In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme huawei id\-ctrl /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-huawei-id-ctrl.html b/Documentation/nvme-huawei-id-ctrl.html new file mode 100644 index 0000000..b04dd72 --- /dev/null +++ b/Documentation/nvme-huawei-id-ctrl.html @@ -0,0 +1,862 @@ + + + + + + +nvme-huawei-id-ctrl(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme huawei id-ctrl <device> [--vendor-specific | -v] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify controller command and +provides the result and returned structure.

+

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 Huawei devices supporting this feature. +Results for any other device are undefined.

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+

If having the program decode the output for readability, this version +will decode Huawei vendor unique portions of the structure.

+
+
+
+

OPTIONS

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

+ Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. +

+
+
+-v +
+
+--vendor-specific +
+
+

+ In addition to parsing known fields, this option will dump + the vendor specific region of the structure in hex with ascii + interpretation. +

+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

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

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme huawei id-ctrl /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-huawei-id-ctrl.txt b/Documentation/nvme-huawei-id-ctrl.txt new file mode 100644 index 0000000..47225d1 --- /dev/null +++ b/Documentation/nvme-huawei-id-ctrl.txt @@ -0,0 +1,66 @@ +nvme-huawei-id-ctrl(1) +====================== + +NAME +---- +nvme-huawei-id-ctrl - Send NVMe Identify Controller, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme huawei id-ctrl' [--vendor-specific | -v] [--raw-binary | -b] + [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify controller command and +provides the result and returned structure. + +The 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 Huawei devices supporting this feature. +Results for any other device are undefined. + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +If having the program decode the output for readability, this version +will decode Huawei vendor unique portions of the structure. + +OPTIONS +------- +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. + +-v:: +--vendor-specific:: + In addition to parsing known fields, this option will dump + the vendor specific region of the structure in hex with ascii + interpretation. + +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or + 'binary'. Only one output format can be used at a time. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme huawei id-ctrl /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-huawei-list.1 b/Documentation/nvme-huawei-list.1 new file mode 100644 index 0000000..f3c0bb2 --- /dev/null +++ b/Documentation/nvme-huawei-list.1 @@ -0,0 +1,54 @@ +'\" t +.\" Title: nvme-list +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-LIST" "1" "02/14/2024" "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-huawei-list \- List all recognized Huawei NVMe devices +.SH "SYNOPSIS" +.sp +.nf +\fInvme huawei list\fR [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +Scan the sysfs tree for NVM Express devices and return the /dev node for those Huawei devices as well as some pertinent information about them\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR +or +\fIjson\fR\&. Only one output format can be used at a time\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-huawei-list.html b/Documentation/nvme-huawei-list.html new file mode 100644 index 0000000..5d3bbaa --- /dev/null +++ b/Documentation/nvme-huawei-list.html @@ -0,0 +1,804 @@ + + + + + + +nvme-list(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme huawei list [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

Scan the sysfs tree for NVM Express devices and return the /dev node +for those Huawei devices as well as some pertinent information about them.

+
+
+
+

OPTIONS

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

+ Set the reporting format to normal or json. Only one output + format can be used at a time. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-huawei-list.txt b/Documentation/nvme-huawei-list.txt new file mode 100644 index 0000000..95f1099 --- /dev/null +++ b/Documentation/nvme-huawei-list.txt @@ -0,0 +1,31 @@ +nvme-list(1) +============ + +NAME +---- +nvme-huawei-list - List all recognized Huawei NVMe devices + +SYNOPSIS +-------- +[verse] +'nvme huawei list' [--output-format= | -o ] + +DESCRIPTION +----------- +Scan the sysfs tree for NVM Express devices and return the /dev node +for those Huawei devices as well as some pertinent information about them. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal' or 'json'. Only one output + format can be used at a time. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-id-ctrl.1 b/Documentation/nvme-id-ctrl.1 new file mode 100644 index 0000000..97214b6 --- /dev/null +++ b/Documentation/nvme-id-ctrl.1 @@ -0,0 +1,202 @@ +'\" t +.\" Title: nvme-id-ctrl +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ID\-CTRL" "1" "02/14/2024" "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-id-ctrl \- Send NVMe Identify Controller, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme id\-ctrl\fR [\-\-vendor\-specific | \-V] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify controller command and provides the result and returned 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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. +.RE +.PP +\-V, \-\-vendor\-specific +.RS 4 +In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ctrl /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +In addition to showing the known fields, has the program to display the vendor unique field: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ctrl /dev/nvme0 \-\-vendor\-specific +# nvme id\-ctrl /dev/nvme0 \-V +.fi +.if n \{\ +.RE +.\} +.sp +The above will dump the +\fIvs\fR +buffer in hex since it doesn\(cqt know how to interpret it\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program return the raw structure in binary: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ctrl /dev/nvme0 \-\-raw\-binary > id_ctrl\&.raw +# nvme id\-ctrl /dev/nvme0 \-b > id_ctrl\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Alternatively you may want to send the data to another program that can parse the raw buffer\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ctrl /dev/nvme0 \-\-raw\-binary | nvme_parse_id_ctrl +.fi +.if n \{\ +.RE +.\} +.sp +The parse program in the above example can be a program that shows the structure in a way you like\&. The following program is such an example that will parse it and can accept the output through a pipe, +\*(Aq|\*(Aq, as shown in the above example, or you can +\*(Aqcat\*(Aq +a saved output buffer to it\&. +.RE +.sp +.if n \{\ +.RS 4 +.\} +.nf +/* File: nvme_parse_id_ctrl\&.c */ + +#include +#include +#include + +int main(int argc, char **argv) +{ + unsigned char buf[sizeof(struct nvme_id_ctrl)]; + struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf; + + if (read(STDIN_FILENO, buf, sizeof(buf))) + return 1; + + printf("vid : %#x\en", ctrl\->vid); + printf("ssvid : %#x\en", ctrl\->ssvid); + return 0; +} +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-id-ctrl.html b/Documentation/nvme-id-ctrl.html new file mode 100644 index 0000000..9c00c75 --- /dev/null +++ b/Documentation/nvme-id-ctrl.html @@ -0,0 +1,928 @@ + + + + + + +nvme-id-ctrl(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme id-ctrl <device> [--vendor-specific | -V] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify controller command and +provides the result and returned structure.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

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

+ Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. +

+
+
+-V +
+
+--vendor-specific +
+
+

+ In addition to parsing known fields, this option will dump + the vendor specific region of the structure in hex with ascii + interpretation. +

+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme id-ctrl /dev/nvme0
    +
    +
  • +
  • +

    +In addition to showing the known fields, has the program to display +the vendor unique field: +

    +
    +
    +
    # nvme id-ctrl /dev/nvme0 --vendor-specific
    +# nvme id-ctrl /dev/nvme0 -V
    +
    +

    The above will dump the vs buffer in hex since it doesn’t know how to +interpret it.

    +
  • +
  • +

    +Have the program return the raw structure in binary: +

    +
    +
    +
    # nvme id-ctrl /dev/nvme0 --raw-binary > id_ctrl.raw
    +# nvme id-ctrl /dev/nvme0 -b > id_ctrl.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
  • +

    +Alternatively you may want to send the data to another program that +can parse the raw buffer. +

    +
    +
    +
    # nvme id-ctrl /dev/nvme0 --raw-binary | nvme_parse_id_ctrl
    +
    +

    The parse program in the above example can be a program that shows the +structure in a way you like. The following program is such an example +that will parse it and can accept the output through a pipe, '|', +as shown in the above example, or you can 'cat' a saved output buffer to it.

    +
  • +
+
+
+
/* File: nvme_parse_id_ctrl.c */
+
+#include <linux/nvme.h>
+#include <stdio.h>
+#include <unistd.h>
+
+int main(int argc, char **argv)
+{
+        unsigned char buf[sizeof(struct nvme_id_ctrl)];
+        struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf;
+
+        if (read(STDIN_FILENO, buf, sizeof(buf)))
+                return 1;
+
+        printf("vid   : %#x\n", ctrl->vid);
+        printf("ssvid : %#x\n", ctrl->ssvid);
+        return 0;
+}
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-id-ctrl.txt b/Documentation/nvme-id-ctrl.txt new file mode 100644 index 0000000..3667c63 --- /dev/null +++ b/Documentation/nvme-id-ctrl.txt @@ -0,0 +1,117 @@ +nvme-id-ctrl(1) +=============== + +NAME +---- +nvme-id-ctrl - Send NVMe Identify Controller, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme id-ctrl' [--vendor-specific | -V] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify controller command and +provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. + +-V:: +--vendor-specific:: + In addition to parsing known fields, this option will dump + the vendor specific region of the structure in hex with ascii + interpretation. + +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme id-ctrl /dev/nvme0 +------------ ++ + +* In addition to showing the known fields, has the program to display +the vendor unique field: ++ +------------ +# nvme id-ctrl /dev/nvme0 --vendor-specific +# nvme id-ctrl /dev/nvme0 -V +------------ ++ +The above will dump the 'vs' buffer in hex since it doesn't know how to +interpret it. + +* Have the program return the raw structure in binary: ++ +------------ +# nvme id-ctrl /dev/nvme0 --raw-binary > id_ctrl.raw +# nvme id-ctrl /dev/nvme0 -b > id_ctrl.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +* Alternatively you may want to send the data to another program that +can parse the raw buffer. ++ +------------ +# nvme id-ctrl /dev/nvme0 --raw-binary | nvme_parse_id_ctrl +------------ ++ +The parse program in the above example can be a program that shows the +structure in a way you like. The following program is such an example +that will parse it and can accept the output through a pipe, `'|'`, +as shown in the above example, or you can `'cat'` a saved output buffer to it. +------------ +/* File: nvme_parse_id_ctrl.c */ + +#include +#include +#include + +int main(int argc, char **argv) +{ + unsigned char buf[sizeof(struct nvme_id_ctrl)]; + struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf; + + if (read(STDIN_FILENO, buf, sizeof(buf))) + return 1; + + printf("vid : %#x\n", ctrl->vid); + printf("ssvid : %#x\n", ctrl->ssvid); + return 0; +} +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-id-domain.1 b/Documentation/nvme-id-domain.1 new file mode 100644 index 0000000..f905dd6 --- /dev/null +++ b/Documentation/nvme-id-domain.1 @@ -0,0 +1,68 @@ +'\" t +.\" Title: nvme-id-domain +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ID\-DOMAIN" "1" "02/14/2024" "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-id-domain \- Send NVMe Identify Domain List, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme id\-domain\fR [\-\-dom\-id= | \-d ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, send an identify command and return the domain list data 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)\&. +.SH "OPTIONS" +.PP +\-d , \-\-dom\-id= +.RS 4 +Retrieve the identify domain list data structure for the given domain id\&. If this value is not given, domain id will be 0xffff\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-id-domain.html b/Documentation/nvme-id-domain.html new file mode 100644 index 0000000..dffc249 --- /dev/null +++ b/Documentation/nvme-id-domain.html @@ -0,0 +1,830 @@ + + + + + + +nvme-id-domain(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme id-domain <device> [--dom-id=<domian_id> | -d <domian_id>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, send an identify command and return the domain list +data structure.

+

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

+
+
+
+

OPTIONS

+
+
+
+-d <domian_id> +
+
+--dom-id=<domian_id> +
+
+

+ Retrieve the identify domain list data structure for the given + domain id. If this value is not given, domain id will be 0xffff. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-id-domain.txt b/Documentation/nvme-id-domain.txt new file mode 100644 index 0000000..1d6ec48 --- /dev/null +++ b/Documentation/nvme-id-domain.txt @@ -0,0 +1,44 @@ +nvme-id-domain(1) +================= + +NAME +---- +nvme-id-domain - Send NVMe Identify Domain List, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme id-domain' [--dom-id= | -d ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, send an identify command and return the domain list +data structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-d :: +--dom-id=:: + Retrieve the identify domain list data structure for the given + domain id. If this value is not given, domain id will be 0xffff. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-id-iocs.1 b/Documentation/nvme-id-iocs.1 new file mode 100644 index 0000000..e6918cd --- /dev/null +++ b/Documentation/nvme-id-iocs.1 @@ -0,0 +1,113 @@ +'\" t +.\" Title: nvme-id-iocs +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ID\-IOCS" "1" "02/14/2024" "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-id-iocs \- Send NVMe Identify I/O Command Set, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme id\-iocs\fR [\-\-controller\-id= | \-c ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, send an identify command and return the Identify I/O Command Set data 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)\&. +.SH "OPTIONS" +.PP +\-c , \-\-controller\-id= +.RS 4 +Retrieve the identify I/O Command set data structure for the given cntid\&. If this value is not given, cntid will be 0xffff\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-iocs /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +show the fields in human readable format +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-iocs /dev/nvme0 \-H +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-id-iocs.html b/Documentation/nvme-id-iocs.html new file mode 100644 index 0000000..704ddae --- /dev/null +++ b/Documentation/nvme-id-iocs.html @@ -0,0 +1,862 @@ + + + + + + +nvme-id-iocs(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme id-iocs <device> [--controller-id=<cntid> | -c <cntid>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, send an identify command and return the Identify I/O +Command Set data structure.

+

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

+
+
+
+

OPTIONS

+
+
+
+-c <cntid> +
+
+--controller-id=<cntid> +
+
+

+ Retrieve the identify I/O Command set data structure for the given + cntid. If this value is not given, cntid will be 0xffff. +

+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Have the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme id-iocs /dev/nvme0
    +
    +
  • +
  • +

    +show the fields in human readable format +

    +
    +
    +
    # nvme id-iocs /dev/nvme0 -H
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-id-iocs.txt b/Documentation/nvme-id-iocs.txt new file mode 100644 index 0000000..bb85aef --- /dev/null +++ b/Documentation/nvme-id-iocs.txt @@ -0,0 +1,58 @@ +nvme-id-iocs(1) +=============== + +NAME +---- +nvme-id-iocs - Send NVMe Identify I/O Command Set, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme id-iocs' [--controller-id= | -c ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, send an identify command and return the Identify I/O +Command Set data structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-c :: +--controller-id=:: + Retrieve the identify I/O Command set data structure for the given + cntid. If this value is not given, cntid will be 0xffff. +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Have the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme id-iocs /dev/nvme0 +------------ ++ +* show the fields in human readable format ++ +------------ +# nvme id-iocs /dev/nvme0 -H +------------ +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-id-ns-granularity.txt b/Documentation/nvme-id-ns-granularity.txt new file mode 100755 index 0000000..67006c3 --- /dev/null +++ b/Documentation/nvme-id-ns-granularity.txt @@ -0,0 +1,46 @@ +nvme-id-ns-granularity(1) +========================= + +NAME +---- +nvme-id-ns-granularity - Send a Identify Namespace Granularity List command to +the specified device + +SYNOPSIS +-------- +[verse] +'nvme id-ns-granularity' + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Send a Identify Namespace Granularity List command command to the specified +device, return results. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program issue a id-ns-granularity to display structure. ++ +------------ +# nvme id-ns-granularity /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-id-ns-lba-format.1 b/Documentation/nvme-id-ns-lba-format.1 new file mode 100644 index 0000000..cb6c2a9 --- /dev/null +++ b/Documentation/nvme-id-ns-lba-format.1 @@ -0,0 +1,172 @@ +'\" t +.\" Title: nvme-id-ns-lba-format +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 01/07/2022 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ID\-NS\-LBA\-F" "1" "01/07/2022" "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-id-ns-lba-format \- Send NVMe Identify Namespace for the specified LBA Format index, display structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme id\-ns\fR [\-\-uuid\-index= | \-U ] + [\-\-lba\-format\-index= | \-i ] + [\-v | \-\-verbose] + [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify namespace for the specified LBA Format index command and provides the result that is include capability field only and returned 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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-U , \-\-uuid\-index= +.RS 4 +UUID Index of the feature +.RE +.PP +\-i , \-\-lba\-format\-index= +.RS 4 +This field specifies the index into the LBA Format list identifying the LBA Format capabilities that are to be returned +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ns\-lba\-format /dev/nvme0n1 \-i 0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program return the raw structure in binary: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ns\-lba\-format /dev/nvme0n1 \-i 0 \-o binary > id_ns\&.raw +# nvme id\-ns\-lba\-format /dev/nvme0n1 \-i 0 \-\-output\-format=binary > id_ns\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Alternatively you may want to send the data to another program that can parse the raw buffer\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ns\-lba\-format /dev/nvme0n1 \-i 0 \-\-raw\-binary | nvme_parse_id_ns +.fi +.if n \{\ +.RE +.\} +.sp +The parse program in the above example can be a program that shows the structure in a way you like\&. The following program is such an example that will parse it and can accept the output through a pipe, +\*(Aq|\*(Aq, as shown in the above example, or you can +\*(Aqcat\*(Aq +a saved output buffer to it\&. +.RE +.sp +.if n \{\ +.RS 4 +.\} +.nf +/* File: nvme_parse_id_ns_lba_format\&.c */ + +#include +#include +#include + +int main(int argc, char **argv) +{ + unsigned char buf[sizeof(struct nvme_id_ns)]; + struct nvme_id_ns *ns = (struct nvme_id_ns *)buf; + + if (read(STDIN_FILENO, buf, sizeof(buf))) + return 1; + + printf("nsze : %#llx\en", ns\->nlbaf); + printf("ncap : %#llx\en", ns\->mc); + return 0; +} +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-id-ns-lba-format.html b/Documentation/nvme-id-ns-lba-format.html new file mode 100644 index 0000000..1a4b83f --- /dev/null +++ b/Documentation/nvme-id-ns-lba-format.html @@ -0,0 +1,901 @@ + + + + + +nvme-id-ns-lba-format(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme id-ns <device> [--uuid-index=<uuid-index> | -U <uuid_index>]
+                    [--lba-format-index=<lba_format_index> | -i <lba_format_index>]
+                        [-v | --verbose]
+                        [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify namespace for +the specified LBA Format index command and provides the result +that is include capability field only and returned structure.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

+
+
+
+-U <uuid-index> +
+
+--uuid-index=<uuid-index> +
+
+

+ UUID Index of the feature +

+
+
+-i <lba_format_index> +
+
+--lba-format-index=<lba_format_index> +
+
+

+ This field specifies the index into the LBA Format list identifying + the LBA Format capabilities that are to be returned +

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

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

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

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme id-ns-lba-format /dev/nvme0n1 -i 0
    +
    +
  • +
  • +

    +Have the program return the raw structure in binary: +

    +
    +
    +
    # nvme id-ns-lba-format /dev/nvme0n1 -i 0 -o binary > id_ns.raw
    +# nvme id-ns-lba-format /dev/nvme0n1 -i 0 --output-format=binary > id_ns.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
  • +

    +Alternatively you may want to send the data to another program that +can parse the raw buffer. +

    +
    +
    +
    # nvme id-ns-lba-format /dev/nvme0n1 -i 0 --raw-binary | nvme_parse_id_ns
    +
    +

    The parse program in the above example can be a program that shows the +structure in a way you like. The following program is such an example +that will parse it and can accept the output through a pipe, '|', +as shown in the above example, or you can 'cat' a saved output buffer +to it.

    +
  • +
+
+
+
/* File: nvme_parse_id_ns_lba_format.c */
+
+#include <linux/nvme.h>
+#include <stdio.h>
+#include <unistd.h>
+
+int main(int argc, char **argv)
+{
+        unsigned char buf[sizeof(struct nvme_id_ns)];
+        struct nvme_id_ns *ns = (struct nvme_id_ns *)buf;
+
+        if (read(STDIN_FILENO, buf, sizeof(buf)))
+                return 1;
+
+        printf("nsze : %#llx\n", ns->nlbaf);
+        printf("ncap : %#llx\n", ns->mc);
+        return 0;
+}
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-id-ns-lba-format.txt b/Documentation/nvme-id-ns-lba-format.txt new file mode 100644 index 0000000..514ba48 --- /dev/null +++ b/Documentation/nvme-id-ns-lba-format.txt @@ -0,0 +1,102 @@ +nvme-id-ns-lba-format(1) +======================== + +NAME +---- +nvme-id-ns-lba-format - Send NVMe Identify Namespace for the specified LBA Format index, display structure + +SYNOPSIS +-------- +[verse] +'nvme id-ns' [--uuid-index= | -U ] + [--lba-format-index= | -i ] + [--verbose | -v] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify namespace for +the specified LBA Format index command and provides the result +that is include capability field only and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-U :: +--uuid-index=:: + UUID Index of the feature + +-i :: +--lba-format-index=:: + This field specifies the index into the LBA Format list identifying + the LBA Format capabilities that are to be returned + +-v:: +--verbose:: + Increase the information detail in the output. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme id-ns-lba-format /dev/nvme0n1 -i 0 +------------ ++ +* Have the program return the raw structure in binary: ++ +------------ +# nvme id-ns-lba-format /dev/nvme0n1 -i 0 -o binary > id_ns.raw +# nvme id-ns-lba-format /dev/nvme0n1 -i 0 --output-format=binary > id_ns.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +* Alternatively you may want to send the data to another program that +can parse the raw buffer. ++ +------------ +# nvme id-ns-lba-format /dev/nvme0n1 -i 0 --raw-binary | nvme_parse_id_ns +------------ ++ +The parse program in the above example can be a program that shows the +structure in a way you like. The following program is such an example +that will parse it and can accept the output through a pipe, `'|'`, +as shown in the above example, or you can `'cat'` a saved output buffer +to it. +------------ +/* File: nvme_parse_id_ns_lba_format.c */ + +#include +#include +#include + +int main(int argc, char **argv) +{ + unsigned char buf[sizeof(struct nvme_id_ns)]; + struct nvme_id_ns *ns = (struct nvme_id_ns *)buf; + + if (read(STDIN_FILENO, buf, sizeof(buf))) + return 1; + + printf("nsze : %#llx\n", ns->nlbaf); + printf("ncap : %#llx\n", ns->mc); + return 0; +} +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-id-ns.1 b/Documentation/nvme-id-ns.1 new file mode 100644 index 0000000..1a44058 --- /dev/null +++ b/Documentation/nvme-id-ns.1 @@ -0,0 +1,235 @@ +'\" t +.\" Title: nvme-id-ns +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ID\-NS" "1" "02/14/2024" "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-id-ns \- Send NVMe Identify Namespace, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme id\-ns\fR [\-\-vendor\-specific | \-v] [\-\-raw\-binary | \-b] + [\-\-namespace\-id= | \-n ] [\-\-force] + [\-\-human\-readable | \-H] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify namespace command and provides the result and returned 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)\&. If the character device is given, the \*(Aq\-\-namespace\-id\*(Aq option is mandatory, otherwise it will use the ns\-id of the namespace for the block device you opened\&. For block devices, the ns\-id used can be overridden with the same option\&. +.sp +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Retrieve the identify namespace structure for the given nsid\&. This is required for the character devices, or overrides the block nsid if given\&. If the controller supports namespace management capability and 0xFFFFFFFF is given, then the controller returns the identify namespace structure that specifies common capabilities across namespaces for the controller\&. +.RE +.PP +\-\-force +.RS 4 +Request controller return the identify namespace structure even if the namespace is not attached to the controller\&. This is valid only for controllers at or newer than revision 1\&.2\&. Controllers at revision lower than this may interpret the command incorrectly\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. +.RE +.PP +\-V, \-\-vendor\-specific +.RS 4 +In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ns /dev/nvme0n1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +If using the character device or overriding namespace id: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ns /dev/nvme0 \-n 1 +# nvme id\-ns /dev/nvme0n1 \-n 1 +# nvme id\-ns /dev/nvme0 \-\-namespace\-id=1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +In addition to showing the known fields, have the program to display the vendor unique field: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ns /dev/nvme0n1 \-\-vendor\-specific +# nvme id\-ns /dev/nvme0n1 \-V +.fi +.if n \{\ +.RE +.\} +.sp +The above will dump the \*(Aqvs\*(Aq buffer in hex since it doesn\(cqt know how to interpret it\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program return the raw structure in binary: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ns /dev/nvme0n1 \-\-raw\-binary > id_ns\&.raw +# nvme id\-ns /dev/nvme0n1 \-b > id_ns\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Alternatively you may want to send the data to another program that can parse the raw buffer\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-ns /dev/nvme0n1 \-\-raw\-binary | nvme_parse_id_ns +.fi +.if n \{\ +.RE +.\} +.sp +The parse program in the above example can be a program that shows the structure in a way you like\&. The following program is such an example that will parse it and can accept the output through a pipe, +\*(Aq|\*(Aq, as shown in the above example, or you can +\*(Aqcat\*(Aq +a saved output buffer to it\&. +.RE +.sp +.if n \{\ +.RS 4 +.\} +.nf +/* File: nvme_parse_id_ns\&.c */ + +#include +#include +#include + +int main(int argc, char **argv) +{ + unsigned char buf[sizeof(struct nvme_id_ns)]; + struct nvme_id_ns *ns = (struct nvme_id_ns *)buf; + + if (read(STDIN_FILENO, buf, sizeof(buf))) + return 1; + + printf("nsze : %#llx\en", ns\->nsze); + printf("ncap : %#llx\en", ns\->ncap); + return 0; +} +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-id-ns.html b/Documentation/nvme-id-ns.html new file mode 100644 index 0000000..20044bc --- /dev/null +++ b/Documentation/nvme-id-ns.html @@ -0,0 +1,973 @@ + + + + + + +nvme-id-ns(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme id-ns <device> [--vendor-specific | -v] [--raw-binary | -b]
+                        [--namespace-id=<nsid> | -n <nsid>] [--force]
+                        [--human-readable | -H]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify namespace command and +provides the result and returned structure.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the character device is given, the '--namespace-id' option is +mandatory, otherwise it will use the ns-id of the namespace for the block +device you opened. For block devices, the ns-id used can be overridden +with the same option.

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Retrieve the identify namespace structure for the given nsid. This + is required for the character devices, or overrides the block nsid + if given. If the controller supports namespace management capability + and 0xFFFFFFFF is given, then the controller returns the identify + namespace structure that specifies common capabilities across + namespaces for the controller. +

+
+
+--force +
+
+

+ Request controller return the identify namespace structure even + if the namespace is not attached to the controller. This is valid + only for controllers at or newer than revision 1.2. Controllers + at revision lower than this may interpret the command incorrectly. +

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

+ Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. +

+
+
+-V +
+
+--vendor-specific +
+
+

+ In addition to parsing known fields, this option will dump + the vendor specific region of the structure in hex with ascii + interpretation. +

+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme id-ns /dev/nvme0n1
    +
    +
  • +
  • +

    +If using the character device or overriding namespace id: +

    +
    +
    +
    # nvme id-ns /dev/nvme0 -n 1
    +# nvme id-ns /dev/nvme0n1 -n 1
    +# nvme id-ns /dev/nvme0 --namespace-id=1
    +
    +
  • +
  • +

    +In addition to showing the known fields, have the program to display +the vendor unique field: +

    +
    +
    +
    # nvme id-ns /dev/nvme0n1 --vendor-specific
    +# nvme id-ns /dev/nvme0n1 -V
    +
    +

    The above will dump the 'vs' buffer in hex since it doesn’t know how to +interpret it.

    +
  • +
  • +

    +Have the program return the raw structure in binary: +

    +
    +
    +
    # nvme id-ns /dev/nvme0n1 --raw-binary > id_ns.raw
    +# nvme id-ns /dev/nvme0n1 -b > id_ns.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
  • +

    +Alternatively you may want to send the data to another program that +can parse the raw buffer. +

    +
    +
    +
    # nvme id-ns /dev/nvme0n1 --raw-binary | nvme_parse_id_ns
    +
    +

    The parse program in the above example can be a program that shows the +structure in a way you like. The following program is such an example +that will parse it and can accept the output through a pipe, '|', +as shown in the above example, or you can 'cat' a saved output buffer +to it.

    +
  • +
+
+
+
/* File: nvme_parse_id_ns.c */
+
+#include <linux/nvme.h>
+#include <stdio.h>
+#include <unistd.h>
+
+int main(int argc, char **argv)
+{
+        unsigned char buf[sizeof(struct nvme_id_ns)];
+        struct nvme_id_ns *ns = (struct nvme_id_ns *)buf;
+
+        if (read(STDIN_FILENO, buf, sizeof(buf)))
+                return 1;
+
+        printf("nsze : %#llx\n", ns->nsze);
+        printf("ncap : %#llx\n", ns->ncap);
+        return 0;
+}
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-id-ns.txt b/Documentation/nvme-id-ns.txt new file mode 100644 index 0000000..0791250 --- /dev/null +++ b/Documentation/nvme-id-ns.txt @@ -0,0 +1,148 @@ +nvme-id-ns(1) +============= + +NAME +---- +nvme-id-ns - Send NVMe Identify Namespace, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme id-ns' [--vendor-specific | -v] [--raw-binary | -b] + [--namespace-id= | -n ] [--force] + [--human-readable | -H] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify namespace command and +provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the character device is given, the `'--namespace-id'` option is +mandatory, otherwise it will use the ns-id of the namespace for the block +device you opened. For block devices, the ns-id used can be overridden +with the same option. + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-n :: +--namespace-id=:: + Retrieve the identify namespace structure for the given nsid. This + is required for the character devices, or overrides the block nsid + if given. If the controller supports namespace management capability + and 0xFFFFFFFF is given, then the controller returns the identify + namespace structure that specifies common capabilities across + namespaces for the controller. + +--force:: + Request controller return the identify namespace structure even + if the namespace is not attached to the controller. This is valid + only for controllers at or newer than revision 1.2. Controllers + at revision lower than this may interpret the command incorrectly. + +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. + +-V:: +--vendor-specific:: + In addition to parsing known fields, this option will dump + the vendor specific region of the structure in hex with ascii + interpretation. + +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme id-ns /dev/nvme0n1 +------------ ++ + +* If using the character device or overriding namespace id: ++ +------------ +# nvme id-ns /dev/nvme0 -n 1 +# nvme id-ns /dev/nvme0n1 -n 1 +# nvme id-ns /dev/nvme0 --namespace-id=1 +------------ ++ + +* In addition to showing the known fields, have the program to display +the vendor unique field: ++ +------------ +# nvme id-ns /dev/nvme0n1 --vendor-specific +# nvme id-ns /dev/nvme0n1 -V +------------ ++ +The above will dump the \'vs' buffer in hex since it doesn't know how to +interpret it. + +* Have the program return the raw structure in binary: ++ +------------ +# nvme id-ns /dev/nvme0n1 --raw-binary > id_ns.raw +# nvme id-ns /dev/nvme0n1 -b > id_ns.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +* Alternatively you may want to send the data to another program that +can parse the raw buffer. ++ +------------ +# nvme id-ns /dev/nvme0n1 --raw-binary | nvme_parse_id_ns +------------ ++ +The parse program in the above example can be a program that shows the +structure in a way you like. The following program is such an example +that will parse it and can accept the output through a pipe, `'|'`, +as shown in the above example, or you can `'cat'` a saved output buffer +to it. +------------ +/* File: nvme_parse_id_ns.c */ + +#include +#include +#include + +int main(int argc, char **argv) +{ + unsigned char buf[sizeof(struct nvme_id_ns)]; + struct nvme_id_ns *ns = (struct nvme_id_ns *)buf; + + if (read(STDIN_FILENO, buf, sizeof(buf))) + return 1; + + printf("nsze : %#llx\n", ns->nsze); + printf("ncap : %#llx\n", ns->ncap); + return 0; +} +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-id-nvmset.1 b/Documentation/nvme-id-nvmset.1 new file mode 100644 index 0000000..4a5f82c --- /dev/null +++ b/Documentation/nvme-id-nvmset.1 @@ -0,0 +1,148 @@ +'\" t +.\" Title: nvme-id-nvmset +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ID\-NVMSET" "1" "02/14/2024" "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-id-nvmset \- Send NVMe Identify NVM Set List, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme id\-nvmset\fR [\-\-nvmset_id= | \-i ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify NVM set list command and provides the result and returned 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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-i , \-\-nvmset_id= +.RS 4 +This field specifies the identifier of the NVM Set\&. If given, NVM set identifier whose entry is to be in result data will be greater than or equal to this value\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-nvmset /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program return the raw structure in binary: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-nvmset /dev/nvme0 \-\-output\-format=binary > id_nvmset\&.raw +# nvme id\-nvmset /dev/nvme0 \-o binary > id_nvmset\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Alternatively you may want to send the data to another program that can parse the raw buffer\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme id\-nvmset /dev/nvme0 \-o binary | nvme_parse_id_nvmset +.fi +.if n \{\ +.RE +.\} +.sp +The parse program in the above example can be a program that shows the structure in a way you like\&. The following program is such an example that will parse it and can accept the output through a pipe, +\*(Aq|\*(Aq, as shown in the above example, or you can +\*(Aqcat\*(Aq +a saved output buffer to it\&. +.RE +.sp +.if n \{\ +.RS 4 +.\} +.nf +NVME +.fi +.if n \{\ +.RE +.\} +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-id-nvmset.html b/Documentation/nvme-id-nvmset.html new file mode 100644 index 0000000..535bb73 --- /dev/null +++ b/Documentation/nvme-id-nvmset.html @@ -0,0 +1,869 @@ + + + + + + +nvme-id-nvmset(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme id-nvmset <device> [--nvmset_id=<id> | -i <id>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify NVM set list command and +provides the result and returned structure.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

+
+
+
+-i <id> +
+
+--nvmset_id=<id> +
+
+

+ This field specifies the identifier of the NVM Set. If given, NVM set + identifier whose entry is to be in result data will be greater than or + equal to this value. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme id-nvmset /dev/nvme0
    +
    +
  • +
  • +

    +Have the program return the raw structure in binary: +

    +
    +
    +
    # nvme id-nvmset /dev/nvme0 --output-format=binary > id_nvmset.raw
    +# nvme id-nvmset /dev/nvme0 -o binary > id_nvmset.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
  • +

    +Alternatively you may want to send the data to another program that +can parse the raw buffer. +

    +
    +
    +
    # nvme id-nvmset /dev/nvme0 -o binary | nvme_parse_id_nvmset
    +
    +

    The parse program in the above example can be a program that shows the +structure in a way you like. The following program is such an example +that will parse it and can accept the output through a pipe, '|', +as shown in the above example, or you can 'cat' a saved output buffer to it.

    +
  • +
+
+
+
NVME
+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-id-nvmset.txt b/Documentation/nvme-id-nvmset.txt new file mode 100644 index 0000000..e2894e3 --- /dev/null +++ b/Documentation/nvme-id-nvmset.txt @@ -0,0 +1,77 @@ +nvme-id-nvmset(1) +================= + +NAME +---- +nvme-id-nvmset - Send NVMe Identify NVM Set List, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme id-nvmset' [--nvmset_id= | -i ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify NVM set list command and +provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-i :: +--nvmset_id=:: + This field specifies the identifier of the NVM Set. If given, NVM set + identifier whose entry is to be in result data will be greater than or + equal to this value. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme id-nvmset /dev/nvme0 +------------ ++ + +* Have the program return the raw structure in binary: ++ +------------ +# nvme id-nvmset /dev/nvme0 --output-format=binary > id_nvmset.raw +# nvme id-nvmset /dev/nvme0 -o binary > id_nvmset.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +* Alternatively you may want to send the data to another program that +can parse the raw buffer. ++ +------------ +# nvme id-nvmset /dev/nvme0 -o binary | nvme_parse_id_nvmset +------------ ++ +The parse program in the above example can be a program that shows the +structure in a way you like. The following program is such an example +that will parse it and can accept the output through a pipe, `'|'`, +as shown in the above example, or you can `'cat'` a saved output buffer to it. +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-id-uuid.txt b/Documentation/nvme-id-uuid.txt new file mode 100755 index 0000000..f7cc1c0 --- /dev/null +++ b/Documentation/nvme-id-uuid.txt @@ -0,0 +1,55 @@ +nvme-id-uuid(1) +=============== + +NAME +---- +nvme-id-uuid - Send a Identify UUID List command to the specified device + +SYNOPSIS +-------- +[verse] +'nvme id-uuid' [--raw-binary | -b] [--human-readable | -H] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Send a Identify UUID List command command to the specified device, return +results. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. + +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program issue a id-uuid to display structure. ++ +------------ +# nvme id-uuid /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-inspur-nvme-vendor-log.1 b/Documentation/nvme-inspur-nvme-vendor-log.1 new file mode 100644 index 0000000..4ccea25 --- /dev/null +++ b/Documentation/nvme-inspur-nvme-vendor-log.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-inspur-nvme-vendor-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-INSPUR\-NVME\-" "1" "02/14/2024" "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-inspur-nvme-vendor-log \- Send NVMe Inspur Device Vendor log page request, returns result +.SH "SYNOPSIS" +.sp +.nf +\fInvme inspur nvme\-vendor\-log\fR +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Inspur Device Vendor log page from the device and provides the returned 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 +On success, vendor log structure are printed in a readable format\&. +.SH "OPTIONS" +.sp +none +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the Inspur Device Vendor log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme inspur nvme\-vendor\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-inspur-nvme-vendor-log.html b/Documentation/nvme-inspur-nvme-vendor-log.html new file mode 100644 index 0000000..424c26d --- /dev/null +++ b/Documentation/nvme-inspur-nvme-vendor-log.html @@ -0,0 +1,803 @@ + + + + + + +nvme-inspur-nvme-vendor-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme inspur nvme-vendor-log <device>
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Inspur Device Vendor log page from the device and provides the returned structure.

+

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

+

On success, vendor log structure are printed in a readable format.

+
+
+
+

OPTIONS

+
+

none

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the Inspur Device Vendor log page in a human readable format: +

    +
    +
    +
    # nvme inspur nvme-vendor-log /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-inspur-nvme-vendor-log.txt b/Documentation/nvme-inspur-nvme-vendor-log.txt new file mode 100644 index 0000000..c860497 --- /dev/null +++ b/Documentation/nvme-inspur-nvme-vendor-log.txt @@ -0,0 +1,36 @@ +nvme-inspur-nvme-vendor-log(1) +============================== + +NAME +---- +nvme-inspur-nvme-vendor-log - Send NVMe Inspur Device Vendor log page request, returns result + +SYNOPSIS +-------- +[verse] +'nvme inspur nvme-vendor-log' + +DESCRIPTION +----------- +Retrieves the NVMe Inspur Device Vendor log page from the device and provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, vendor log structure are printed in a readable format. + +OPTIONS +------- +none + +EXAMPLES +-------- +* Print the Inspur Device Vendor log page in a human readable format: ++ +------------ +# nvme inspur nvme-vendor-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-intel-id-ctrl.1 b/Documentation/nvme-intel-id-ctrl.1 new file mode 100644 index 0000000..2c1a4d9 --- /dev/null +++ b/Documentation/nvme-intel-id-ctrl.1 @@ -0,0 +1,95 @@ +'\" t +.\" Title: nvme-intel-id-ctrl +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-INTEL\-ID\-CTR" "1" "02/14/2024" "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-intel-id-ctrl \- Send NVMe Identify Controller, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme intel id\-ctrl\fR [\-\-vendor\-specific | \-v] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify controller command and provides the result and returned 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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.sp +If having the program decode the output for readability, this version will decode Intel vendor unique portions of the structure\&. +.SH "OPTIONS" +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. +.RE +.PP +\-v, \-\-vendor\-specific +.RS 4 +In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme intel id\-ctrl /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-intel-id-ctrl.html b/Documentation/nvme-intel-id-ctrl.html new file mode 100644 index 0000000..aabaa2f --- /dev/null +++ b/Documentation/nvme-intel-id-ctrl.html @@ -0,0 +1,860 @@ + + + + + + +nvme-intel-id-ctrl(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme intel id-ctrl <device> [--vendor-specific | -v] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify controller command and +provides the result and returned structure.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+

If having the program decode the output for readability, this version +will decode Intel vendor unique portions of the structure.

+
+
+
+

OPTIONS

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

+ Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. +

+
+
+-v +
+
+--vendor-specific +
+
+

+ In addition to parsing known fields, this option will dump + the vendor specific region of the structure in hex with ascii + interpretation. +

+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

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

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme intel id-ctrl /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-intel-id-ctrl.txt b/Documentation/nvme-intel-id-ctrl.txt new file mode 100644 index 0000000..469d60e --- /dev/null +++ b/Documentation/nvme-intel-id-ctrl.txt @@ -0,0 +1,63 @@ +nvme-intel-id-ctrl(1) +===================== + +NAME +---- +nvme-intel-id-ctrl - Send NVMe Identify Controller, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme intel id-ctrl' [--vendor-specific | -v] [--raw-binary | -b] + [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify controller command and +provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +If having the program decode the output for readability, this version +will decode Intel vendor unique portions of the structure. + +OPTIONS +------- +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. + +-v:: +--vendor-specific:: + In addition to parsing known fields, this option will dump + the vendor specific region of the structure in hex with ascii + interpretation. + +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or + 'binary'. Only one output format can be used at a time. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme intel id-ctrl /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-intel-internal-log.1 b/Documentation/nvme-intel-internal-log.1 new file mode 100644 index 0000000..0bec162 --- /dev/null +++ b/Documentation/nvme-intel-internal-log.1 @@ -0,0 +1,120 @@ +'\" t +.\" Title: nvme-intel-internal-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-INTEL\-INTERNA" "1" "02/14/2024" "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-intel-internal-log \- Retrieve Intel device\*(Aqs internal log and save to file\&. +.SH "SYNOPSIS" +.sp +.nf +\*(Aqnvme intel internal\-log \*(Aq [\-\-log=, \-l ] + [\-\-region=, r ] + [\-\-nlognum=, m ] + [\-\-namespace\-id=, \-n ] + [\-\-output\-file=, \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the Intel vendor unique device log request and saves the result to a file\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. If using the character device, the namespace id parameter is mandatory\&. +.sp +This will only work on Intel devices supporting this feature which includes (but not limited to) all the Intel DC P3xxx family of controllers\&. Results for any other device are undefined\&. +.SH "OPTIONS" +.PP +\-l , \-\-log= +.RS 4 +Log type: 0, 1, or 2 for nlog, event log, and assert log, respectively\&. +.RE +.PP +\-n , \-\-namespace\-id= +.RS 4 +Namespace to use\&. +.RE +.PP +\-o , \-\-output\-file= +.RS 4 +Output file; defaults to device name provided +.RE +.PP +\-r , \-\-region= +.RS 4 +Select which core region to retrieve the log from\&. \-1 for all available, if supported by the device\&. +.RE +.PP +\-m , \-\-nlognum= +.RS 4 +When used with +\fInlog\fR, this specifies which nlog to read\&. \-1 for all, if supported by the device\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the nlog from the device and saves to default file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme intel internal\-log /dev/nvme0 \-\-namespace\-id=1 \-\-log=0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the event log from the device and saves to defined file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme intel internal\-log /dev/nvme0 \-\-namespace\-id=1 \-\-log=1 \-\-output\-file=MyAwesomeEventLog +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-intel-internal-log.html b/Documentation/nvme-intel-internal-log.html new file mode 100644 index 0000000..aca2133 --- /dev/null +++ b/Documentation/nvme-intel-internal-log.html @@ -0,0 +1,880 @@ + + + + + + +nvme-intel-internal-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
'nvme intel internal-log ' <device> [--log=<NUM>, -l <NUM>]
+                [--region=<NUM>, r <NUM>]
+                [--nlognum=<NUM>, m <NUM>]
+                [--namespace-id=<NUM>, -n <NUM>]
+                [--output-file=<FILE>, -o <FILE>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the Intel vendor unique device log +request and saves the result to a file.

+

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

+

This will only work on Intel devices supporting this feature which +includes (but not limited to) all the Intel DC P3xxx family of +controllers. Results for any other device are undefined.

+
+
+
+

OPTIONS

+
+
+
+-l <NUM> +
+
+--log=<NUM> +
+
+

+ Log type: 0, 1, or 2 for nlog, event log, and assert log, + respectively. +

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

+ Namespace to use. +

+
+
+-o <FILE> +
+
+--output-file=<FILE> +
+
+

+ Output file; defaults to device name provided +

+
+
+-r <NUM> +
+
+--region=<NUM> +
+
+

+ Select which core region to retrieve the log from. -1 for all + available, if supported by the device. +

+
+
+-m <NUM> +
+
+--nlognum=<NUM> +
+
+

+ When used with nlog, this specifies which nlog to read. -1 + for all, if supported by the device. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Gets the nlog from the device and saves to default file: +

    +
    +
    +
    # nvme intel internal-log /dev/nvme0 --namespace-id=1 --log=0
    +
    +
  • +
  • +

    +Gets the event log from the device and saves to defined file: +

    +
    +
    +
    # nvme intel internal-log /dev/nvme0 --namespace-id=1 --log=1 --output-file=MyAwesomeEventLog
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-intel-internal-log.txt b/Documentation/nvme-intel-internal-log.txt new file mode 100644 index 0000000..a1e1792 --- /dev/null +++ b/Documentation/nvme-intel-internal-log.txt @@ -0,0 +1,73 @@ +nvme-intel-internal-log(1) +========================== + +NAME +---- +nvme-intel-internal-log - Retrieve Intel device's internal log and save to file. + +SYNOPSIS +-------- +[verse] +'nvme intel internal-log ' [--log=, -l ] + [--region=, r ] + [--nlognum=, m ] + [--namespace-id=, -n ] + [--output-file=, -o ] + +DESCRIPTION +----------- +For the NVMe device given, sends the Intel vendor unique device log +request and saves the result to a file. + +The parameter is mandatory and may be either the NVMe +character device (ex: /dev/nvme0), or a namespace block device (ex: +/dev/nvme0n1). If using the character device, the namespace id parameter +is mandatory. + +This will only work on Intel devices supporting this feature which +includes (but not limited to) all the Intel DC P3xxx family of +controllers. Results for any other device are undefined. + +OPTIONS +------- +-l :: +--log=:: + Log type: 0, 1, or 2 for nlog, event log, and assert log, + respectively. + +-n :: +--namespace-id=:: + Namespace to use. + +-o :: +--output-file=:: + Output file; defaults to device name provided + +-r :: +--region=:: + Select which core region to retrieve the log from. -1 for all + available, if supported by the device. + +-m :: +--nlognum=:: + When used with 'nlog', this specifies which nlog to read. -1 + for all, if supported by the device. + +EXAMPLES +-------- +* Gets the nlog from the device and saves to default file: ++ +------------ +# nvme intel internal-log /dev/nvme0 --namespace-id=1 --log=0 +------------ ++ + +* Gets the event log from the device and saves to defined file: ++ +------------ +# nvme intel internal-log /dev/nvme0 --namespace-id=1 --log=1 --output-file=MyAwesomeEventLog +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-intel-lat-stats.1 b/Documentation/nvme-intel-lat-stats.1 new file mode 100644 index 0000000..7b04288 --- /dev/null +++ b/Documentation/nvme-intel-lat-stats.1 @@ -0,0 +1,100 @@ +'\" t +.\" Title: nvme-intel-lat-stats +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-INTEL\-LAT\-ST" "1" "02/14/2024" "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-intel-lat-stats \- Send NVMe Identify Controller, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme intel lat\-stats\fR [\-\-write | \-w] [\-\-raw\-binary | \-b] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, retrieves intel vendor specific latency statistics and provides the result and returned 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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. +.RE +.PP +\-w, \-\-write +.RS 4 +Get write statistics\&. Read statistics are returned by default\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the read statistics +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme intel lat\-stats /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the write statistics +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme intel lat\-stats /dev/nvme0 \-w +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-intel-lat-stats.html b/Documentation/nvme-intel-lat-stats.html new file mode 100644 index 0000000..837e17e --- /dev/null +++ b/Documentation/nvme-intel-lat-stats.html @@ -0,0 +1,839 @@ + + + + + + +nvme-intel-lat-stats(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme intel lat-stats <device> [--write | -w] [--raw-binary | -b]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, retrieves intel vendor specific latency statistics and +provides the result and returned structure.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

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

+ Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. +

+
+
+-w +
+
+--write +
+
+

+ Get write statistics. Read statistics are returned by default. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Get the read statistics +

    +
    +
    +
    # nvme intel lat-stats /dev/nvme0
    +
    +
  • +
  • +

    +Get the write statistics +

    +
    +
    +
    # nvme intel lat-stats /dev/nvme0 -w
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-intel-lat-stats.txt b/Documentation/nvme-intel-lat-stats.txt new file mode 100644 index 0000000..767cf92 --- /dev/null +++ b/Documentation/nvme-intel-lat-stats.txt @@ -0,0 +1,53 @@ +nvme-intel-lat-stats(1) +======================= + +NAME +---- +nvme-intel-lat-stats - Send NVMe Identify Controller, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme intel lat-stats' [--write | -w] [--raw-binary | -b] + +DESCRIPTION +----------- +For the NVMe device given, retrieves intel vendor specific latency statistics and +provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. + +-w:: +--write:: + Get write statistics. Read statistics are returned by default. + +EXAMPLES +-------- +* Get the read statistics ++ +------------ +# nvme intel lat-stats /dev/nvme0 +------------ ++ + +* Get the write statistics ++ +------------ +# nvme intel lat-stats /dev/nvme0 -w +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-intel-market-name.1 b/Documentation/nvme-intel-market-name.1 new file mode 100644 index 0000000..b77c38b --- /dev/null +++ b/Documentation/nvme-intel-market-name.1 @@ -0,0 +1,74 @@ +'\" t +.\" Title: nvme-intel-market-name +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-INTEL\-MARKET\" "1" "02/14/2024" "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-intel-market-name \- Send NVMe Identify Controller, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme intel market\-name\fR [\-\-raw\-binary | \-b] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, retrieves intel vendor specific marketing name log page and provides the result and returned structure\&. The output is simply the marketing name used to identify what kind of device it is\&. +.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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the marketing name +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme intel market\-name /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-intel-market-name.html b/Documentation/nvme-intel-market-name.html new file mode 100644 index 0000000..817a255 --- /dev/null +++ b/Documentation/nvme-intel-market-name.html @@ -0,0 +1,820 @@ + + + + + + +nvme-intel-market-name(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme intel market-name <device> [--raw-binary | -b]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, retrieves intel vendor specific marketing name +log page and provides the result and returned structure. The output is +simply the marketing name used to identify what kind of device it is.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

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

+ Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Get the marketing name +

    +
    +
    +
    # nvme intel market-name /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-intel-market-name.txt b/Documentation/nvme-intel-market-name.txt new file mode 100644 index 0000000..0b4b96a --- /dev/null +++ b/Documentation/nvme-intel-market-name.txt @@ -0,0 +1,43 @@ +nvme-intel-market-name(1) +========================= + +NAME +---- +nvme-intel-market-name - Send NVMe Identify Controller, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme intel market-name' [--raw-binary | -b] + +DESCRIPTION +----------- +For the NVMe device given, retrieves intel vendor specific marketing name +log page and provides the result and returned structure. The output is +simply the marketing name used to identify what kind of device it is. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. + +EXAMPLES +-------- +* Get the marketing name ++ +------------ +# nvme intel market-name /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-intel-smart-log-add.1 b/Documentation/nvme-intel-smart-log-add.1 new file mode 100644 index 0000000..539d9bf --- /dev/null +++ b/Documentation/nvme-intel-smart-log-add.1 @@ -0,0 +1,108 @@ +'\" t +.\" Title: nvme-intel-smart-log-add +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-INTEL\-SMART\-" "1" "02/14/2024" "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-intel-smart-log-add \- Send NVMe Intel Additional SMART log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme intel smart\-log\-add\fR [\-\-namespace\-id= | \-n ] + [\-\-raw\-binary | \-b] [\-\-json | \-j] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Intel Additional SMART log page from the device and provides the returned 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 +On success, the returned smart log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Retrieve the Additional SMART log for the given nsid\&. This is optional and its success may depend on the device\(cqs capabilities to provide this log on a per\-namespace basis (see the NVMe Identify Controller for this capability)\&. The default nsid to use is 0xffffffff for the device global SMART log\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw Intel Additional SMART log buffer to stdout\&. +.RE +.PP +\-j, \-\-json +.RS 4 +Dump output in json format\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the Intel Additional SMART log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme intel smart\-log\-add /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw Intel Additional SMART log to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme intel smart\-log\-add /dev/nvme0 \-\-raw\-binary > smart_log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-intel-smart-log-add.html b/Documentation/nvme-intel-smart-log-add.html new file mode 100644 index 0000000..f5b1b5e --- /dev/null +++ b/Documentation/nvme-intel-smart-log-add.html @@ -0,0 +1,856 @@ + + + + + + +nvme-intel-smart-log-add(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme intel smart-log-add <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--raw-binary | -b] [--json | -j]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Intel Additional SMART log page from the device and +provides the returned structure.

+

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

+

On success, the returned smart log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Retrieve the Additional SMART log for the given nsid. This is + optional and its success may depend on the device’s capabilities + to provide this log on a per-namespace basis (see the NVMe + Identify Controller for this capability). The default nsid to + use is 0xffffffff for the device global SMART log. +

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

+ Print the raw Intel Additional SMART log buffer to stdout. +

+
+
+-j +
+
+--json +
+
+

+ Dump output in json format. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the Intel Additional SMART log page in a human readable format: +

    +
    +
    +
    # nvme intel smart-log-add /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw Intel Additional SMART log to a file: +

    +
    +
    +
    # nvme intel smart-log-add /dev/nvme0 --raw-binary > smart_log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-intel-smart-log-add.txt b/Documentation/nvme-intel-smart-log-add.txt new file mode 100644 index 0000000..0ed1f10 --- /dev/null +++ b/Documentation/nvme-intel-smart-log-add.txt @@ -0,0 +1,65 @@ +nvme-intel-smart-log-add(1) +=========================== + +NAME +---- +nvme-intel-smart-log-add - Send NVMe Intel Additional SMART log page request, +returns result and log + +SYNOPSIS +-------- +[verse] +'nvme intel smart-log-add' [--namespace-id= | -n ] + [--raw-binary | -b] [--json | -j] + +DESCRIPTION +----------- +Retrieves the NVMe Intel Additional SMART log page from the device and +provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned smart log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse. + +OPTIONS +------- +-n :: +--namespace-id=:: + Retrieve the Additional SMART log for the given nsid. This is + optional and its success may depend on the device's capabilities + to provide this log on a per-namespace basis (see the NVMe + Identify Controller for this capability). The default nsid to + use is 0xffffffff for the device global SMART log. + +-b:: +--raw-binary:: + Print the raw Intel Additional SMART log buffer to stdout. + +-j:: +--json:: + Dump output in json format. + +EXAMPLES +-------- +* Print the Intel Additional SMART log page in a human readable format: ++ +------------ +# nvme intel smart-log-add /dev/nvme0 +------------ ++ + +* Print the raw Intel Additional SMART log to a file: ++ +------------ +# nvme intel smart-log-add /dev/nvme0 --raw-binary > smart_log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-intel-temp-stats.1 b/Documentation/nvme-intel-temp-stats.1 new file mode 100644 index 0000000..15434bb --- /dev/null +++ b/Documentation/nvme-intel-temp-stats.1 @@ -0,0 +1,97 @@ +'\" t +.\" Title: nvme-intel-temp-stats +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-INTEL\-TEMP\-S" "1" "02/14/2024" "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-intel-temp-stats \- Send NVMe SMART log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme intel temp\-stats\fR [\-\-raw\-binary | \-b] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Intel Additional SMART log page from the device and provides the returned 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 +On success, the returned smart log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw temperature stats log buffer to stdout\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the temperature stats log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme intel temp\-stats /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw SMART log to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme intel temp\-stats /dev/nvme0 \-\-raw\-binary > temp_stats_log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-intel-temp-stats.html b/Documentation/nvme-intel-temp-stats.html new file mode 100644 index 0000000..c03b0a0 --- /dev/null +++ b/Documentation/nvme-intel-temp-stats.html @@ -0,0 +1,829 @@ + + + + + + +nvme-intel-temp-stats(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme intel temp-stats <device> [--raw-binary | -b]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Intel Additional SMART log page from the device and +provides the returned structure.

+

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

+

On success, the returned smart log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

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

+ Print the raw temperature stats log buffer to stdout. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the temperature stats log page in a human readable format: +

    +
    +
    +
    # nvme intel temp-stats /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw SMART log to a file: +

    +
    +
    +
    # nvme intel temp-stats /dev/nvme0 --raw-binary > temp_stats_log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-intel-temp-stats.txt b/Documentation/nvme-intel-temp-stats.txt new file mode 100644 index 0000000..656422f --- /dev/null +++ b/Documentation/nvme-intel-temp-stats.txt @@ -0,0 +1,51 @@ +nvme-intel-temp-stats(1) +======================== + +NAME +---- +nvme-intel-temp-stats - Send NVMe SMART log page request, returns result and log + +SYNOPSIS +-------- +[verse] +'nvme intel temp-stats' [--raw-binary | -b] + +DESCRIPTION +----------- +Retrieves the NVMe Intel Additional SMART log page from the device and +provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned smart log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse. + +OPTIONS +------- +-b:: +--raw-binary:: + Print the raw temperature stats log buffer to stdout. + +EXAMPLES +-------- +* Print the temperature stats log page in a human readable format: ++ +------------ +# nvme intel temp-stats /dev/nvme0 +------------ ++ + +* Print the raw SMART log to a file: ++ +------------ +# nvme intel temp-stats /dev/nvme0 --raw-binary > temp_stats_log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-io-mgmt-recv.1 b/Documentation/nvme-io-mgmt-recv.1 new file mode 100644 index 0000000..df8eda9 --- /dev/null +++ b/Documentation/nvme-io-mgmt-recv.1 @@ -0,0 +1,86 @@ +'\" t +.\" Title: nvme-io-mgmt-recv +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-IO\-MGMT\-RECV" "1" "02/14/2024" "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-io-mgmt-recv \- I/O Management Receive command +.SH "SYNOPSIS" +.sp +.nf +\fInvme io\-mgmt\-recv\fR [\-\-namespace\-id= | \-n ] + [\-\-mos= | \-s ] [\-\-mo= | \-m ] + [\-\-data= | \-d ] + [\-\-data\-len= | \-l ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, issues the I/O Management Receive command with the requested management operation (mo) and management operation specific parameter (mos)\&. This is the generic interface provided for forward compatibility as new operations are added that this program isn\(cqt aware of at the time of its development\&. As such, this is a generic command that does not do any additional decoding for specific types of data received\&. This will only report the data as a hex dump, or binary\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Use the provided namespace id for the command\&. If not provided, the namespace id of the block device will be used\&. If the command is issued to a non\-block device, the parameter is required\&. +.RE +.PP +\-d , \-\-data= +.RS 4 +File to write received data into\&. If unspecified, received data will be hex dumped to the standard output stream\&. +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +Received data buffer length +.RE +.PP +\-m , \-\-mo +.RS 4 +Management Operation to perform\&. +.RE +.PP +\-s , \-\-mos= +.RS 4 +Management Operation Specific parameter\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "NVME" +.sp +Part of nvme\-cli diff --git a/Documentation/nvme-io-mgmt-recv.html b/Documentation/nvme-io-mgmt-recv.html new file mode 100644 index 0000000..bed1c31 --- /dev/null +++ b/Documentation/nvme-io-mgmt-recv.html @@ -0,0 +1,876 @@ + + + + + + +nvme-io-mgmt-recv(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme io-mgmt-recv <device> [--namespace-id=<NUM> | -n <NUM>]
+                        [--mos=<NUM> | -s <NUM>] [--mo=<NUM> | -m <NUM>]
+                        [--data=<FILE> | -d <FILE>]
+                        [--data-len=<NUM> | -l <NUM>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, issues the I/O Management Receive command with the +requested management operation (mo) and management operation specific parameter +(mos). This is the generic interface provided for forward compatibility as new +operations are added that this program isn’t aware of at the time of its +development. As such, this is a generic command that does not do any additional +decoding for specific types of data received. This will only report the data as +a hex dump, or binary.

+
+
+
+

OPTIONS

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

+ Use the provided namespace id for the command. If not provided, the + namespace id of the block device will be used. If the command is issued + to a non-block device, the parameter is required. +

+
+
+-d <FILE> +
+
+--data=<FILE> +
+
+

+ File to write received data into. If unspecified, received data will be + hex dumped to the standard output stream. +

+
+
+-l <NUM> +
+
+--data-len=<NUM> +
+
+

+ Received data buffer length +

+
+
+-m <NUM> +
+
+--mo <NUM> +
+
+

+ Management Operation to perform. +

+
+
+-s <NUM> +
+
+--mos=<NUM> +
+
+

+ Management Operation Specific parameter. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

NVME

+
+

Part of nvme-cli

+
+
+
+

+ + + diff --git a/Documentation/nvme-io-mgmt-recv.txt b/Documentation/nvme-io-mgmt-recv.txt new file mode 100644 index 0000000..332d0bb --- /dev/null +++ b/Documentation/nvme-io-mgmt-recv.txt @@ -0,0 +1,63 @@ +nvme-io-mgmt-recv(1) +==================== + +NAME +---- +nvme-io-mgmt-recv - I/O Management Receive command + +SYNOPSIS +-------- +[verse] +'nvme io-mgmt-recv' [--namespace-id= | -n ] + [--mos= | -s ] [--mo= | -m ] + [--data= | -d ] + [--data-len= | -l ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, issues the I/O Management Receive command with the +requested management operation (mo) and management operation specific parameter +(mos). This is the generic interface provided for forward compatibility as new +operations are added that this program isn't aware of at the time of its +development. As such, this is a generic command that does not do any additional +decoding for specific types of data received. This will only report the data as +a hex dump, or binary. + +OPTIONS +------- +-n :: +--namespace-id=:: + Use the provided namespace id for the command. If not provided, the + namespace id of the block device will be used. If the command is issued + to a non-block device, the parameter is required. + +-d :: +--data=:: + File to write received data into. If unspecified, received data will be + hex dumped to the standard output stream. + +-l :: +--data-len=:: + Received data buffer length + +-m :: +--mo :: + Management Operation to perform. + +-s :: +--mos=:: + Management Operation Specific parameter. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +NVME +---- +Part of nvme-cli diff --git a/Documentation/nvme-io-mgmt-send.1 b/Documentation/nvme-io-mgmt-send.1 new file mode 100644 index 0000000..3206738 --- /dev/null +++ b/Documentation/nvme-io-mgmt-send.1 @@ -0,0 +1,86 @@ +'\" t +.\" Title: nvme-io-mgmt-send +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-IO\-MGMT\-SEND" "1" "02/14/2024" "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-io-mgmt-send \- I/O Management Send command +.SH "SYNOPSIS" +.sp +.nf +\fInvme io\-mgmt\-send\fR [\-\-namespace\-id= | \-n ] + [\-\-mos= | \-s ] [\-\-mo= | \-m ] + [\-\-data= | \-d ] + [\-\-data\-len= | \-l ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, issues the I/O Management Send command with the requested management operation (mo) and management operation specific parameter (mos)\&. This is the generic interface provided for forward compatibility as new operations are added that this program isn\(cqt aware of at the time of its development\&. As such, this is a generic command that does not provide any convenience parameters to produce the binary payload\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Use the provided namespace id for the command\&. If not provided, the namespace id of the block device will be used\&. If the command is issued to a non\-block device, the parameter is required\&. +.RE +.PP +\-d , \-\-data= +.RS 4 +File to read payload from\&. If unspecified, data will be read from the standard input stream\&. +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +Payload data buffer length +.RE +.PP +\-m , \-\-mo +.RS 4 +Management Operation to perform\&. +.RE +.PP +\-s , \-\-mos= +.RS 4 +Management Operation Specific parameter\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "NVME" +.sp +Part of nvme\-cli diff --git a/Documentation/nvme-io-mgmt-send.html b/Documentation/nvme-io-mgmt-send.html new file mode 100644 index 0000000..42e1548 --- /dev/null +++ b/Documentation/nvme-io-mgmt-send.html @@ -0,0 +1,875 @@ + + + + + + +nvme-io-mgmt-send(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme io-mgmt-send <device> [--namespace-id=<NUM> | -n <NUM>]
+                        [--mos=<NUM> | -s <NUM>] [--mo=<NUM> | -m <NUM>]
+                        [--data=<FILE> | -d <FILE>]
+                        [--data-len=<NUM> | -l <NUM>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, issues the I/O Management Send command with the +requested management operation (mo) and management operation specific parameter +(mos). This is the generic interface provided for forward compatibility as new +operations are added that this program isn’t aware of at the time of its +development. As such, this is a generic command that does not provide any +convenience parameters to produce the binary payload.

+
+
+
+

OPTIONS

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

+ Use the provided namespace id for the command. If not provided, the + namespace id of the block device will be used. If the command is issued + to a non-block device, the parameter is required. +

+
+
+-d <FILE> +
+
+--data=<FILE> +
+
+

+ File to read payload from. If unspecified, data will be read from the + standard input stream. +

+
+
+-l <NUM> +
+
+--data-len=<NUM> +
+
+

+ Payload data buffer length +

+
+
+-m <NUM> +
+
+--mo <NUM> +
+
+

+ Management Operation to perform. +

+
+
+-s <NUM> +
+
+--mos=<NUM> +
+
+

+ Management Operation Specific parameter. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

NVME

+
+

Part of nvme-cli

+
+
+
+

+ + + diff --git a/Documentation/nvme-io-mgmt-send.txt b/Documentation/nvme-io-mgmt-send.txt new file mode 100644 index 0000000..f7e8f6d --- /dev/null +++ b/Documentation/nvme-io-mgmt-send.txt @@ -0,0 +1,62 @@ +nvme-io-mgmt-send(1) +==================== + +NAME +---- +nvme-io-mgmt-send - I/O Management Send command + +SYNOPSIS +-------- +[verse] +'nvme io-mgmt-send' [--namespace-id= | -n ] + [--mos= | -s ] [--mo= | -m ] + [--data= | -d ] + [--data-len= | -l ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, issues the I/O Management Send command with the +requested management operation (mo) and management operation specific parameter +(mos). This is the generic interface provided for forward compatibility as new +operations are added that this program isn't aware of at the time of its +development. As such, this is a generic command that does not provide any +convenience parameters to produce the binary payload. + +OPTIONS +------- +-n :: +--namespace-id=:: + Use the provided namespace id for the command. If not provided, the + namespace id of the block device will be used. If the command is issued + to a non-block device, the parameter is required. + +-d :: +--data=:: + File to read payload from. If unspecified, data will be read from the + standard input stream. + +-l :: +--data-len=:: + Payload data buffer length + +-m :: +--mo :: + Management Operation to perform. + +-s :: +--mos=:: + Management Operation Specific parameter. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +NVME +---- +Part of nvme-cli diff --git a/Documentation/nvme-io-passthru.1 b/Documentation/nvme-io-passthru.1 new file mode 100644 index 0000000..a5c6d39 --- /dev/null +++ b/Documentation/nvme-io-passthru.1 @@ -0,0 +1,158 @@ +'\" t +.\" Title: nvme-io-passthru +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-IO\-PASSTHRU" "1" "02/14/2024" "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-io-passthru \- Submit an arbitrary io command, return results +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-io\-passthru\fR [\-\-opcode= | \-O ] + [\-\-flags= | \-f ] [\-rsvd= | \-R ] + [\-\-namespace\-id= | \-nsid ] + [\-\-cdw2=] [\-\-cdw3=] [\-\-cdw10=] + [\-\-cdw11=] [\-\-cdw12=] [\-\-cdw13=] + [\-\-cdw14=] [\-\-cdw15=] + [\-\-data\-len= | \-l ] + [\-\-metadata\-len= | \-m ] + [\-\-read | \-r] [\-\-write | \-w] + [\-\-input\-file= | \-i ] + [\-\-metadata= | \-M ] + [\-\-timeout= | \-t ] [\-\-show\-command | \-s] + [\-\-dry\-run | \-d] [\-\-raw\-binary | \-b] + [\-\-prefill= | \-p ] + [\-\-latency | \-T] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Submits an arbitrary NVMe IO command and returns the applicable results\&. This may be the simply the command\(cqs result and status, or may also include a buffer if the command returns one\&. This command does no interpretation of the opcodes or options\&. +.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 +On success, the returned structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may printed by the program as a hex dump, or may be returned as a raw buffer printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-O , \-\-opcode= +.RS 4 +The NVMe opcode to send to the device in the command +.RE +.PP +\-f , \-\-flags= +.RS 4 +The NVMe command flags to send to the device in the command +.RE +.PP +\-R , \-\-rsvd= +.RS 4 +The value for the reserved field in the command\&. +.RE +.PP +\-n , \-\-namespace\-id= +.RS 4 +The value for the ns\-id in the command\&. Defaults to +\fI0\fR\&. +.RE +.PP +\-\-cdw[2\-3,10\-15]= +.RS 4 +Specifies the command dword value for that specified entry in the command +.RE +.PP +\-r, \-\-read, \-w, \-\-write +.RS 4 +Used for the data\-direction for the command and required for commands sending/receiving data\&. Don\(cqt use both read and write at the same time\&. +.RE +.PP +\-i , \-\-input\-file= +.RS 4 +If the command is a data\-out (write) command, use this file to fill the buffer sent to the device\&. If no file is given, assumed to use STDIN\&. If the command is a data\-in (read) command, the data returned from the device will be saved here\&. +.RE +.PP +\-M , \-\-metadata= +.RS 4 +If the command is a data\-out (write) command, use this file to fill the metadata buffer sent to the device\&. If no file is given, assumed to use STDIN\&. If the command is a data\-in (read) command, the metadata returned from the device will be saved here\&. +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +The data length for the buffer used for this command\&. +.RE +.PP +\-m , \-\-metadata\-len= +.RS 4 +The metadata length for the buffer used for this command\&. +.RE +.PP +\-s, \-\-show\-cmd +.RS 4 +Print out the command to be sent\&. +.RE +.PP +\-d, \-\-dry\-run +.RS 4 +Do not actually send the command\&. If want to use \-\-dry\-run option, \-\-show\-cmd option +\fImust\fR +be set\&. Otherwise \-\-dry\-run option will be +\fIignored\fR\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw returned buffer to stdout if the command returns data or a structure\&. +.RE +.PP +\-p , \-\-prefill +.RS 4 +Prefill the buffer with a predetermined byte value\&. Defaults to 0\&. This may be useful if the data you are writing is shorter than the required buffer, and you need to pad it with a known value\&. It may also be useful if you need to confirm if a device is overwriting a buffer on a data\-in command\&. +.RE +.PP +\-T, \-\-latency +.RS 4 +Print out the latency the IOCTL took (in us)\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +nvme io\-passthru /dev/nvme0n1 \-\-opcode=2 \-\-namespace\-id=1 \-\-data\-len=4096 \-\-read \-\-cdw10=0 \-\-cdw11=0 \-\-cdw12=0x70000 \-\-raw\-binary +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-io-passthru.html b/Documentation/nvme-io-passthru.html new file mode 100644 index 0000000..da443ea --- /dev/null +++ b/Documentation/nvme-io-passthru.html @@ -0,0 +1,1022 @@ + + + + + + +nvme-io-passthru(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme-io-passthru <device> [--opcode=<opcode> | -O <opcode>]
+                        [--flags=<flags> | -f <flags>] [-rsvd=<rsvd> | -R <rsvd>]
+                        [--namespace-id=<nsid> | -nsid <nsid>]
+                        [--cdw2=<cdw2>] [--cdw3=<cdw3>] [--cdw10=<cdw10>]
+                        [--cdw11=<cdw11>] [--cdw12=<cdw12>] [--cdw13=<cdw13>]
+                        [--cdw14=<cdw14>] [--cdw15=<cdw15>]
+                        [--data-len=<data-len> | -l <data-len>]
+                        [--metadata-len=<len> | -m <len>]
+                        [--read | -r] [--write | -w]
+                        [--input-file=<file> | -i <file>]
+                        [--metadata=<file> | -M <file>]
+                        [--timeout=<to> | -t <to>] [--show-command | -s]
+                        [--dry-run | -d] [--raw-binary | -b]
+                        [--prefill=<prefill> | -p <prefill>]
+                        [--latency | -T]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Submits an arbitrary NVMe IO command and returns the applicable +results. This may be the simply the command’s result and status, or may +also include a buffer if the command returns one. This command does no +interpretation of the opcodes or options.

+

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

+

On success, the returned structure (if applicable) may be returned in +one of several ways depending on the option flags; the structure may +printed by the program as a hex dump, or may be returned as a raw buffer +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-O <opcode> +
+
+--opcode=<opcode> +
+
+

+ The NVMe opcode to send to the device in the command +

+
+
+-f <flags> +
+
+--flags=<flags> +
+
+

+ The NVMe command flags to send to the device in the command +

+
+
+-R <rsvd> +
+
+--rsvd=<rsvd> +
+
+

+ The value for the reserved field in the command. +

+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ The value for the ns-id in the command. Defaults to 0. +

+
+
+--cdw[2-3,10-15]=<cdw> +
+
+

+ Specifies the command dword value for that specified entry in + the command +

+
+
+-r +
+
+--read +
+
+-w +
+
+--write +
+
+

+ Used for the data-direction for the command and required for + commands sending/receiving data. Don’t use both read and write + at the same time. +

+
+
+-i <file> +
+
+--input-file=<file> +
+
+

+ If the command is a data-out (write) command, use this file + to fill the buffer sent to the device. If no file is given, assumed to + use STDIN. If the command is a data-in (read) command, the data + returned from the device will be saved here. +

+
+
+-M <file> +
+
+--metadata=<file> +
+
+

+ If the command is a data-out (write) command, use this file + to fill the metadata buffer sent to the device. If no file is given, + assumed to use STDIN. If the command is a data-in (read) command, the + metadata returned from the device will be saved here. +

+
+
+-l <data-len> +
+
+--data-len=<data-len> +
+
+

+ The data length for the buffer used for this command. +

+
+
+-m <data-len> +
+
+--metadata-len=<data-len> +
+
+

+ The metadata length for the buffer used for this command. +

+
+
+-s +
+
+--show-cmd +
+
+

+ Print out the command to be sent. +

+
+
+-d +
+
+--dry-run +
+
+

+ Do not actually send the command. If want to use --dry-run option, + --show-cmd option must be set. Otherwise --dry-run option will be + ignored. +

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

+ Print the raw returned buffer to stdout if the command returns + data or a structure. +

+
+
+-p <prefill> +
+
+--prefill <prefill> +
+
+

+ Prefill the buffer with a predetermined byte value. Defaults to 0. + This may be useful if the data you are writing is shorter + than the required buffer, and you need to pad it with a known + value. It may also be useful if you need to confirm if a device + is overwriting a buffer on a data-in command. +

+
+
+-T +
+
+--latency +
+
+

+ Print out the latency the IOCTL took (in us). +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

nvme io-passthru /dev/nvme0n1 --opcode=2 --namespace-id=1 --data-len=4096 --read --cdw10=0 --cdw11=0 --cdw12=0x70000 --raw-binary

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-io-passthru.txt b/Documentation/nvme-io-passthru.txt new file mode 100644 index 0000000..3ad5231 --- /dev/null +++ b/Documentation/nvme-io-passthru.txt @@ -0,0 +1,138 @@ +nvme-io-passthru(1) +=================== + +NAME +---- +nvme-io-passthru - Submit an arbitrary io command, return results + +SYNOPSIS +-------- +[verse] +'nvme-io-passthru' [--opcode= | -O ] + [--flags= | -f ] [-rsvd= | -R ] + [--namespace-id= | -nsid ] + [--cdw2=] [--cdw3=] [--cdw10=] + [--cdw11=] [--cdw12=] [--cdw13=] + [--cdw14=] [--cdw15=] + [--data-len= | -l ] + [--metadata-len= | -m ] + [--read | -r] [--write | -w] + [--input-file= | -i ] + [--metadata= | -M ] + [--timeout= | -t ] [--show-command | -s] + [--dry-run | -d] [--raw-binary | -b] + [--prefill= | -p ] + [--latency | -T] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Submits an arbitrary NVMe IO command and returns the applicable +results. This may be the simply the command's result and status, or may +also include a buffer if the command returns one. This command does no +interpretation of the opcodes or options. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned structure (if applicable) may be returned in +one of several ways depending on the option flags; the structure may +printed by the program as a hex dump, or may be returned as a raw buffer +printed to stdout for another program to parse. + +OPTIONS +------- +-O :: +--opcode=:: + The NVMe opcode to send to the device in the command + +-f :: +--flags=:: + The NVMe command flags to send to the device in the command + +-R :: +--rsvd=:: + The value for the reserved field in the command. + +-n :: +--namespace-id=:: + The value for the ns-id in the command. Defaults to '0'. + +--cdw[2-3,10-15]=:: + Specifies the command dword value for that specified entry in + the command + +-r:: +--read:: +-w:: +--write:: + Used for the data-direction for the command and required for + commands sending/receiving data. Don't use both read and write + at the same time. + +-i :: +--input-file=:: + If the command is a data-out (write) command, use this file + to fill the buffer sent to the device. If no file is given, assumed to + use STDIN. If the command is a data-in (read) command, the data + returned from the device will be saved here. + +-M :: +--metadata=:: + If the command is a data-out (write) command, use this file + to fill the metadata buffer sent to the device. If no file is given, + assumed to use STDIN. If the command is a data-in (read) command, the + metadata returned from the device will be saved here. + +-l :: +--data-len=:: + The data length for the buffer used for this command. + +-m :: +--metadata-len=:: + The metadata length for the buffer used for this command. + +-s:: +--show-cmd:: + Print out the command to be sent. + +-d:: +--dry-run:: + Do not actually send the command. If want to use --dry-run option, + --show-cmd option _must_ be set. Otherwise --dry-run option will be + _ignored_. + +-b:: +--raw-binary:: + Print the raw returned buffer to stdout if the command returns + data or a structure. + +-p :: +--prefill :: + Prefill the buffer with a predetermined byte value. Defaults to 0. + This may be useful if the data you are writing is shorter + than the required buffer, and you need to pad it with a known + value. It may also be useful if you need to confirm if a device + is overwriting a buffer on a data-in command. + +-T:: +--latency:: + Print out the latency the IOCTL took (in us). + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- + +nvme io-passthru /dev/nvme0n1 --opcode=2 --namespace-id=1 --data-len=4096 --read --cdw10=0 --cdw11=0 --cdw12=0x70000 --raw-binary + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-lba-status-log.1 b/Documentation/nvme-lba-status-log.1 new file mode 100644 index 0000000..a6466d3 --- /dev/null +++ b/Documentation/nvme-lba-status-log.1 @@ -0,0 +1,112 @@ +'\" t +.\" Title: nvme-lba-status-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-LBA\-STATUS\-L" "1" "02/14/2024" "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-lba-status-log \- Send LBA Status Log Page request returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme lba\-status\-log\fR [\-\-rae | \-r] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe LBA Status Log Page from an NVMe device and provides the returned 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 +On success, the returned LBA Status Log Page structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-r, \-\-rae +.RS 4 +Retain an Asynchronous Event\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the LBA Status Log page in a normal readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme lba\-status\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Show the output in json format +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme lba\-status\-log /dev/nvme0 \-o json ++ + +NVME +.fi +.if n \{\ +.RE +.\} +.RE +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-lba-status-log.html b/Documentation/nvme-lba-status-log.html new file mode 100644 index 0000000..2f60ffb --- /dev/null +++ b/Documentation/nvme-lba-status-log.html @@ -0,0 +1,850 @@ + + + + + + +nvme-lba-status-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme lba-status-log <device> [--rae | -r]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe LBA Status Log Page from an NVMe device and provides +the returned structure.

+

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

+

On success, the returned LBA Status Log Page structure may be returned +in one of several ways depending on the option flags; the structure may +parsed by the program and printed in a readable format or the raw buffer +may be printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-r +
+
+--rae +
+
+

+ Retain an Asynchronous Event. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the LBA Status Log page in a normal readable format: +

    +
    +
    +
    # nvme lba-status-log /dev/nvme0
    +
    +
  • +
  • +

    +Show the output in json format +

    +
    +
    +
    # nvme lba-status-log /dev/nvme0 -o json
    ++
    +
    +NVME
    +
    +
  • +
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-lba-status-log.txt b/Documentation/nvme-lba-status-log.txt new file mode 100644 index 0000000..7d6efbd --- /dev/null +++ b/Documentation/nvme-lba-status-log.txt @@ -0,0 +1,59 @@ +nvme-lba-status-log(1) +====================== + +NAME +---- +nvme-lba-status-log - Send LBA Status Log Page request returns result and log + +SYNOPSIS +-------- +[verse] +'nvme lba-status-log' [--rae | -r] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe LBA Status Log Page from an NVMe device and provides +the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned LBA Status Log Page structure may be returned +in one of several ways depending on the option flags; the structure may +parsed by the program and printed in a readable format or the raw buffer +may be printed to stdout for another program to parse. + +OPTIONS +------- +-r:: +--rae:: + Retain an Asynchronous Event. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the LBA Status Log page in a normal readable format: ++ +------------ +# nvme lba-status-log /dev/nvme0 +------------ ++ + +* Show the output in json format ++ +------------ +# nvme lba-status-log /dev/nvme0 -o json ++ + +NVME +---- +Part of the nvme-user suite \ No newline at end of file diff --git a/Documentation/nvme-list-ctrl.1 b/Documentation/nvme-list-ctrl.1 new file mode 100644 index 0000000..e504b78 --- /dev/null +++ b/Documentation/nvme-list-ctrl.1 @@ -0,0 +1,76 @@ +'\" t +.\" Title: nvme-list-ctrl +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-LIST\-CTRL" "1" "02/14/2024" "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-list-ctrl \- Send NVMe Identify List Controllers, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme list\-ctrl\fR [\-\-cntid= | \-c ] + [\-\-namespace\-id= | \-n ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify command for controller list and provides the result and returned structure\&. This uses either mode 12h or 13h depending on the requested namespace identifier\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. The starting controller in the list always begins with 0 unless the \*(Aq\-\-cntid\*(Aq option is given to override\&. +.sp +On success, the controller array is printed for each index and controller identifier\&. +.SH "OPTIONS" +.PP +\-c , \-\-cntid= +.RS 4 +Retrieve the identify list structure starting with the given controller id\&. +.RE +.PP +\-n , \-\-namespace\-id= +.RS 4 +If provided, will request the controllers attached to the specified namespace\&. If no namespace is given, or set to 0, the command requests the controller list for the entire subsystem, whether or not they are attached to namespace(s)\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-list-ctrl.html b/Documentation/nvme-list-ctrl.html new file mode 100644 index 0000000..b0f1a16 --- /dev/null +++ b/Documentation/nvme-list-ctrl.html @@ -0,0 +1,849 @@ + + + + + + +nvme-list-ctrl(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme list-ctrl <device> [--cntid=<cntid> | -c <cntid>]
+                        [--namespace-id=<nsid> | -n <nsid>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify command for controller list +and provides the result and returned structure. This uses either mode +12h or 13h depending on the requested namespace identifier.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +The starting controller in the list always begins with 0 unless the +'--cntid' option is given to override.

+

On success, the controller array is printed for each index and controller +identifier.

+
+
+
+

OPTIONS

+
+
+
+-c <cntid> +
+
+--cntid=<cntid> +
+
+

+ Retrieve the identify list structure starting with the given controller id. +

+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ If provided, will request the controllers attached to the + specified namespace. If no namespace is given, or set to 0, the + command requests the controller list for the entire subsystem, + whether or not they are attached to namespace(s). +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-list-ctrl.txt b/Documentation/nvme-list-ctrl.txt new file mode 100644 index 0000000..6cd5c01 --- /dev/null +++ b/Documentation/nvme-list-ctrl.txt @@ -0,0 +1,57 @@ +nvme-list-ctrl(1) +================= + +NAME +---- +nvme-list-ctrl - Send NVMe Identify List Controllers, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme list-ctrl' [--cntid= | -c ] + [--namespace-id= | -n ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify command for controller list +and provides the result and returned structure. This uses either mode +12h or 13h depending on the requested namespace identifier. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +The starting controller in the list always begins with 0 unless the +`'--cntid'` option is given to override. + +On success, the controller array is printed for each index and controller +identifier. + +OPTIONS +------- +-c :: +--cntid=:: + Retrieve the identify list structure starting with the given controller id. + +-n :: +--namespace-id=:: + If provided, will request the controllers attached to the + specified namespace. If no namespace is given, or set to 0, the + command requests the controller list for the entire subsystem, + whether or not they are attached to namespace(s). + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-list-endgrp.1 b/Documentation/nvme-list-endgrp.1 new file mode 100644 index 0000000..345eb9e --- /dev/null +++ b/Documentation/nvme-list-endgrp.1 @@ -0,0 +1,68 @@ +'\" t +.\" Title: nvme-list-endgrp +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-LIST\-ENDGRP" "1" "02/14/2024" "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-list-endgrp \- Send NVMe Identify Endurance Group List, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme list\-endgrp\fR [\-\-endgrp\-id= | \-i ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify command for endurance group list and provides the result and returned 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)\&. An Endurance Group List of up to 2,047 Endurance Group Identifiers in increasing order is returned containing an Endurance Group Identifier greater than or equal to the value specified in the CDW11\&.ENDGID field\&. +.SH "OPTIONS" +.PP +\-i , \-\-endgrp\-id= +.RS 4 +Retrieve the identify endurance group list structure starting for the given endurance group id\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-list-endgrp.html b/Documentation/nvme-list-endgrp.html new file mode 100644 index 0000000..eb2a318 --- /dev/null +++ b/Documentation/nvme-list-endgrp.html @@ -0,0 +1,833 @@ + + + + + + +nvme-list-endgrp(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme list-endgrp <device> [--endgrp-id=<endgrp-id> | -i <endgrp-id>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify command for endurance group list +and provides the result and returned structure.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +An Endurance Group List of up to 2,047 Endurance Group Identifiers in +increasing order is returned containing an Endurance Group Identifier greater +than or equal to the value specified in the CDW11.ENDGID field.

+
+
+
+

OPTIONS

+
+
+
+-i <endgrp-id> +
+
+--endgrp-id=<endgrp-id> +
+
+

+ Retrieve the identify endurance group list structure starting for the + given endurance group id. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-list-endgrp.txt b/Documentation/nvme-list-endgrp.txt new file mode 100644 index 0000000..2d7724d --- /dev/null +++ b/Documentation/nvme-list-endgrp.txt @@ -0,0 +1,48 @@ +nvme-list-endgrp(1) +=================== + +NAME +---- +nvme-list-endgrp - Send NVMe Identify Endurance Group List, return result and +structure + +SYNOPSIS +-------- +[verse] +'nvme list-endgrp' [--endgrp-id= | -i ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify command for endurance group list +and provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +An Endurance Group List of up to 2,047 Endurance Group Identifiers in +increasing order is returned containing an Endurance Group Identifier greater +than or equal to the value specified in the CDW11.ENDGID field. + +OPTIONS +------- +-i :: +--endgrp-id=:: + Retrieve the identify endurance group list structure starting for the + given endurance group id. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-list-ns.1 b/Documentation/nvme-list-ns.1 new file mode 100644 index 0000000..49cabd4 --- /dev/null +++ b/Documentation/nvme-list-ns.1 @@ -0,0 +1,122 @@ +'\" t +.\" Title: nvme-id-ns +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ID\-NS" "1" "02/14/2024" "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-list-ns \- Send NVMe Identify List Namespaces, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme list\-ns\fR [\-\-namespace\-id= | \-n ] + [\-\-csi= | \-y ] + [\-\-all | \-a] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify command for namespace list and provides the result and returned 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)\&. If the starting namespace in the list always begins with 0 unless the \*(Aq\-\-namespace\-id\*(Aq option is given to override\&. +.sp +On success, the namespace array is printed for each index and nsid for a valid nsid\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Retrieve the identify list structure starting with the given nsid\&. +.RE +.PP +\-y , \-\-csi= +.RS 4 +If this value is given, retrieve the identify list structure associated with the specified I/O command set\&. +.RE +.PP +\-a, \-\-all +.RS 4 +Retrieve the identify list structure for all namespaces in the subsystem, whether attached or inactive\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the namespaces present for zoned command set in JSON format +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme list\-ns /dev/nvme0 \-y 2 \-a \-o json +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the namespaces present for NVM Command Set in normal format +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme list\-ns /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-list-ns.html b/Documentation/nvme-list-ns.html new file mode 100644 index 0000000..7d7ffdc --- /dev/null +++ b/Documentation/nvme-list-ns.html @@ -0,0 +1,878 @@ + + + + + + +nvme-id-ns(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme list-ns <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--csi=<command_set_identifier> | -y <command_set_identifier>]
+                        [--all | -a]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify command for namespace list +and provides the result and returned structure.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the starting namespace in the list always begins with 0 unless the +'--namespace-id' option is given to override.

+

On success, the namespace array is printed for each index and nsid for +a valid nsid.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Retrieve the identify list structure starting with the given nsid. +

+
+
+-y <command_set_identifier> +
+
+--csi=<command_set_identifier> +
+
+

+ If this value is given, retrieve the identify list structure associated + with the specified I/O command set. +

+
+
+-a +
+
+--all +
+
+

+ Retrieve the identify list structure for all namespaces in the + subsystem, whether attached or inactive. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the namespaces present for zoned command set in JSON format +

    +
    +
    +
    # nvme list-ns /dev/nvme0 -y 2 -a -o json
    +
    +
  • +
  • +

    +Print the namespaces present for NVM Command Set in normal format +

    +
    +
    +
    # nvme list-ns /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-list-ns.txt b/Documentation/nvme-list-ns.txt new file mode 100644 index 0000000..d241287 --- /dev/null +++ b/Documentation/nvme-list-ns.txt @@ -0,0 +1,70 @@ +nvme-id-ns(1) +============= + +NAME +---- +nvme-list-ns - Send NVMe Identify List Namespaces, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme list-ns' [--namespace-id= | -n ] + [--csi= | -y ] + [--all | -a] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify command for namespace list +and provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the starting namespace in the list always begins with 0 unless the +`'--namespace-id'` option is given to override. + +On success, the namespace array is printed for each index and nsid for +a valid nsid. + +OPTIONS +------- +-n :: +--namespace-id=:: + Retrieve the identify list structure starting with the given nsid. + +-y :: +--csi=:: + If this value is given, retrieve the identify list structure associated + with the specified I/O command set. + +-a:: +--all:: + Retrieve the identify list structure for all namespaces in the + subsystem, whether attached or inactive. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the namespaces present for zoned command set in JSON format ++ +------------ +# nvme list-ns /dev/nvme0 -y 2 -a -o json +------------ + +* Print the namespaces present for NVM Command Set in normal format ++ +------------ +# nvme list-ns /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-list-secondary.txt b/Documentation/nvme-list-secondary.txt new file mode 100755 index 0000000..88fbf42 --- /dev/null +++ b/Documentation/nvme-list-secondary.txt @@ -0,0 +1,54 @@ +nvme-list-secondary(1) +====================== + +NAME +---- +nvme-list-secondary - Show secondary controller list associated with the primary +controller of the given device + +SYNOPSIS +-------- +[verse] +'nvme list-secondary' [--cntid= | -c ] + [--num-entries= | -e ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Show secondary controller list associated with the primary of the given device + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +On success, the secondary controller list is printed. + +OPTIONS +------- +-c :: +--cntid=:: + Lowest controller identifier to display. + +-e :: +--num-entries=:: + Number of entries to retrieve. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program issue a list-secondary to display list. ++ +------------ +# nvme list-secondary /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-list-subsys.1 b/Documentation/nvme-list-subsys.1 new file mode 100644 index 0000000..15212a1 --- /dev/null +++ b/Documentation/nvme-list-subsys.1 @@ -0,0 +1,132 @@ +'\" t +.\" Title: nvme-list-subsys +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-LIST\-SUBSYS" "1" "02/14/2024" "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-list-subsys \- List all NVMe subsystems +.SH "SYNOPSIS" +.sp +.nf +\fInvme list\-subsys\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Scan the sysfs tree for NVM Express subsystems and return the controllers for those subsystems as well as some pertinent information about them\&. If a device is given, print out only the values for the controllers and subsystems leading to the device\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\m[blue]\fBroot@host\fR\m[]\&\s-2\u[1]\d\s+2# nvme list\-subsys +nvme\-subsys0 \- NQN=nvmf\-test +\e + +\- nvme0 rdma traddr=1\&.1\&.1\&.3,trsvcid=4420,host_traddr=1\&.1\&.1\&.1 + +\- nvme1 rdma traddr=1\&.1\&.1\&.3,trsvcid=4420,host_traddr=1\&.1\&.1\&.2 +nvme\-subsys1 \- NQN=nvmf\-test2 +\e + +\- nvme2 rdma traddr=1\&.1\&.1\&.3,trsvcid=4420,host_traddr=1\&.1\&.1\&.2 + +\- nvme3 rdma traddr=1\&.1\&.1\&.3,trsvcid=4420,host_traddr=1\&.1\&.1\&.1 +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\m[blue]\fBroot@host\fR\m[]\&\s-2\u[1]\d\s+2# nvme list\-subsys \-o json +{ + "Subsystems" : [ + { + "Name" : "nvme\-subsys0", + "NQN" : "nvmf\-test" + }, + { + "Paths" : [ + { + "Name" : "nvme0", + "Transport" : "rdma", + "Address" : "traddr=1\&.1\&.1\&.3,trsvcid=4420,host_traddr=1\&.1\&.1\&.1" + }, + { + "Name" : "nvme1", + "Transport" : "rdma", + "Address" : "traddr=1\&.1\&.1\&.3,trsvcid=4420,host_traddr=1\&.1\&.1\&.2" + } + ] + }, + { + "Name" : "nvme\-subsys1", + "NQN" : "nvmf\-test2" + }, + { + "Paths" : [ + { + "Name" : "nvme2", + "Transport" : "rdma", + "Address" : "traddr=1\&.1\&.1\&.3,trsvcid=4420,host_traddr=1\&.1\&.1\&.2" + }, + { + "Name" : "nvme3", + "Transport" : "rdma", + "Address" : "traddr=1\&.1\&.1\&.3,trsvcid=4420,host_traddr=1\&.1\&.1\&.1" + } + ] + } + ] +} +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite +.SH "NOTES" +.IP " 1." 4 +root@host +.RS 4 +\%mailto:root@host +.RE diff --git a/Documentation/nvme-list-subsys.html b/Documentation/nvme-list-subsys.html new file mode 100644 index 0000000..eb55027 --- /dev/null +++ b/Documentation/nvme-list-subsys.html @@ -0,0 +1,872 @@ + + + + + + +nvme-list-subsys(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme list-subsys <device> [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Scan the sysfs tree for NVM Express subsystems and return the controllers +for those subsystems as well as some pertinent information about them. +If a device is given, print out only the values for the controllers +and subsystems leading to the device.

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
+
root@host# nvme list-subsys
+nvme-subsys0 - NQN=nvmf-test
+\
+ +- nvme0 rdma traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.1
+ +- nvme1 rdma traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.2
+nvme-subsys1 - NQN=nvmf-test2
+\
+ +- nvme2 rdma traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.2
+ +- nvme3 rdma traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.1
+
+
+
+
root@host# nvme list-subsys -o json
+{
+  "Subsystems" : [
+    {
+      "Name" : "nvme-subsys0",
+      "NQN" : "nvmf-test"
+    },
+    {
+      "Paths" : [
+        {
+          "Name" : "nvme0",
+          "Transport" : "rdma",
+          "Address" : "traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.1"
+        },
+        {
+          "Name" : "nvme1",
+          "Transport" : "rdma",
+          "Address" : "traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.2"
+        }
+      ]
+    },
+    {
+      "Name" : "nvme-subsys1",
+      "NQN" : "nvmf-test2"
+    },
+    {
+      "Paths" : [
+        {
+          "Name" : "nvme2",
+          "Transport" : "rdma",
+          "Address" : "traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.2"
+        },
+        {
+          "Name" : "nvme3",
+          "Transport" : "rdma",
+          "Address" : "traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.1"
+        }
+      ]
+    }
+  ]
+}
+
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-list-subsys.txt b/Documentation/nvme-list-subsys.txt new file mode 100644 index 0000000..a5d2d48 --- /dev/null +++ b/Documentation/nvme-list-subsys.txt @@ -0,0 +1,89 @@ +nvme-list-subsys(1) +=================== + +NAME +---- +nvme-list-subsys - List all NVMe subsystems + +SYNOPSIS +-------- +[verse] +'nvme list-subsys' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Scan the sysfs tree for NVM Express subsystems and return the controllers +for those subsystems as well as some pertinent information about them. +If a device is given, print out only the values for the controllers +and subsystems leading to the device. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +[verse] +root@host# nvme list-subsys +nvme-subsys0 - NQN=nvmf-test +\ + +- nvme0 rdma traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.1 + +- nvme1 rdma traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.2 +nvme-subsys1 - NQN=nvmf-test2 +\ + +- nvme2 rdma traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.2 + +- nvme3 rdma traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.1 + +[verse] +root@host# nvme list-subsys -o json +{ + "Subsystems" : [ + { + "Name" : "nvme-subsys0", + "NQN" : "nvmf-test" + }, + { + "Paths" : [ + { + "Name" : "nvme0", + "Transport" : "rdma", + "Address" : "traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.1" + }, + { + "Name" : "nvme1", + "Transport" : "rdma", + "Address" : "traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.2" + } + ] + }, + { + "Name" : "nvme-subsys1", + "NQN" : "nvmf-test2" + }, + { + "Paths" : [ + { + "Name" : "nvme2", + "Transport" : "rdma", + "Address" : "traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.2" + }, + { + "Name" : "nvme3", + "Transport" : "rdma", + "Address" : "traddr=1.1.1.3,trsvcid=4420,host_traddr=1.1.1.1" + } + ] + } + ] +} + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-list.1 b/Documentation/nvme-list.1 new file mode 100644 index 0000000..400aefa --- /dev/null +++ b/Documentation/nvme-list.1 @@ -0,0 +1,63 @@ +'\" t +.\" Title: nvme-list +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-LIST" "1" "02/14/2024" "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-list \- List all recognized NVMe devices +.SH "SYNOPSIS" +.sp +.nf +\fInvme list\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Scan the sysfs tree for NVM Express devices and return the /dev node for those devices as well as some pertinent information about them\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information in the output, showing nvme subsystems, controllers and namespaces separately and how they\(cqre related to each other\&. +.RE +.SH "ENVIRONMENT" +.sp +PCI_IDS_PATH \- Full path of pci\&.ids file in case nvme could not find it in common locations\&. +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-list.html b/Documentation/nvme-list.html new file mode 100644 index 0000000..c90b3eb --- /dev/null +++ b/Documentation/nvme-list.html @@ -0,0 +1,823 @@ + + + + + + +nvme-list(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme list [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Scan the sysfs tree for NVM Express devices and return the /dev node +for those devices as well as some pertinent information about them.

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information in the output, showing nvme subsystems, + controllers and namespaces separately and how they’re related to each + other. +

+
+
+
+
+
+

ENVIRONMENT

+
+

PCI_IDS_PATH - Full path of pci.ids file in case nvme could not find it in common locations.

+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-list.txt b/Documentation/nvme-list.txt new file mode 100644 index 0000000..a8c5428 --- /dev/null +++ b/Documentation/nvme-list.txt @@ -0,0 +1,41 @@ +nvme-list(1) +============ + +NAME +---- +nvme-list - List all recognized NVMe devices + +SYNOPSIS +-------- +[verse] +'nvme list' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Scan the sysfs tree for NVM Express devices and return the /dev node +for those devices as well as some pertinent information about them. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information in the output, showing nvme subsystems, + controllers and namespaces separately and how they're related to each + other. + +ENVIRONMENT +----------- +PCI_IDS_PATH - Full path of pci.ids file in case nvme could not find it in common locations. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-lockdown.1 b/Documentation/nvme-lockdown.1 new file mode 100644 index 0000000..48fe02a --- /dev/null +++ b/Documentation/nvme-lockdown.1 @@ -0,0 +1,90 @@ +'\" t +.\" Title: nvme-lockdown +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-LOCKDOWN" "1" "02/14/2024" "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-lockdown \- Send an NVMe Lockdown command to prohibit or allow the execution of command +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-lockdown\fR [\-\-ofi= | \-O ] + [\-\-ifc= | \-f ] + [\-\-prhbt= | \-p ] + [\-\-scp= | \-s ] + [\-\-uuid= | \-U ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Lockdown command is used to control the Command and Feature Lockdown capability which configures the prohibition or allowance of execution of the specified command or Set Features command targeting a specific Feature Identifier\&. +.SH "OPTIONS" +.PP +\-O , \-\-ofi= +.RS 4 +Opcode or Feature Identifier(OFI) specifies the command opcode or Set Features Feature Identifier identified by the Scope field\&. +.RE +.PP +\-f , \-\-ifc= +.RS 4 +Interface (INF) field identifies the interfaces affected by this command\&. +.RE +.PP +\-p , \-\-prhbt= +.RS 4 +Prohibit (PRHBT) bit specifies whether to prohibit or allow the command opcode or Set Features Feature Identifier specified by this command\&. +.RE +.PP +\-s , \-\-scp= +.RS 4 +Scope (SCP) field specifies the contents of the Opcode or Feature Identifier field\&. +.RE +.PP +\-U , \-\-uuid= +.RS 4 +UUID Index \- If this field is set to a non\-zero value, then the value of this field is the index of a UUID in the UUID List that is used by the command\&. If this field is cleared to 0h,then no UUID index is specified\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-lockdown.html b/Documentation/nvme-lockdown.html new file mode 100644 index 0000000..d04aa9d --- /dev/null +++ b/Documentation/nvme-lockdown.html @@ -0,0 +1,881 @@ + + + + + + +nvme-lockdown(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme-lockdown <device> [--ofi=<ofi> | -O <ofi>]
+                        [--ifc=<ifc> | -f <ifc>]
+                        [--prhbt=<prhbt> | -p <prhbt>]
+                        [--scp=<scp> | -s <scp>]
+                        [--uuid=<UUID_Index> | -U <UUID_Index>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Lockdown command is used to control the Command and Feature Lockdown +capability which configures the prohibition or allowance of execution of the +specified command or Set Features command targeting a specific Feature +Identifier.

+
+
+
+

OPTIONS

+
+
+
+-O <ofi> +
+
+--ofi=<ofi> +
+
+

+ Opcode or Feature Identifier(OFI) specifies the command opcode or Set + Features Feature Identifier identified by the Scope field. +

+
+
+-f <ifc> +
+
+--ifc=<ifc> +
+
+

+ Interface (INF) field identifies the interfaces affected by this command. +

+
+
+-p <prhbt> +
+
+--prhbt=<prhbt> +
+
+

+ Prohibit (PRHBT) bit specifies whether to prohibit or allow the command + opcode or Set Features Feature Identifier specified by this command. +

+
+
+-s <scp> +
+
+--scp=<scp> +
+
+

+ Scope (SCP) field specifies the contents of the Opcode or Feature Identifier field. +

+
+
+-U <UUID_Index> +
+
+--uuid=<UUID_Index> +
+
+

+ UUID Index - If this field is set to a non-zero value, then the value of + this field is the index of a UUID in the UUID List that is used by the command. + If this field is cleared to 0h,then no UUID index is specified. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-lockdown.txt b/Documentation/nvme-lockdown.txt new file mode 100644 index 0000000..e17ac70 --- /dev/null +++ b/Documentation/nvme-lockdown.txt @@ -0,0 +1,65 @@ +nvme-lockdown(1) +================ + +NAME +---- +nvme-lockdown - Send an NVMe Lockdown command to prohibit or allow the execution of command + +SYNOPSIS +-------- +[verse] +'nvme-lockdown' [--ofi= | -O ] + [--ifc= | -f ] + [--prhbt= | -p ] + [--scp= | -s ] + [--uuid= | -U ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Lockdown command is used to control the Command and Feature Lockdown +capability which configures the prohibition or allowance of execution of the +specified command or Set Features command targeting a specific Feature +Identifier. + +OPTIONS +------- +-O :: +--ofi=:: + Opcode or Feature Identifier(OFI) specifies the command opcode or Set + Features Feature Identifier identified by the Scope field. + +-f :: +--ifc=:: + Interface (INF) field identifies the interfaces affected by this command. + +-p :: +--prhbt=:: + Prohibit (PRHBT) bit specifies whether to prohibit or allow the command + opcode or Set Features Feature Identifier specified by this command. + +-s :: +--scp=:: + Scope (SCP) field specifies the contents of the Opcode or Feature Identifier field. +-U :: +--uuid=:: + UUID Index - If this field is set to a non-zero value, then the value of + this field is the index of a UUID in the UUID List that is used by the command. + If this field is cleared to 0h,then no UUID index is specified. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-media-unit-stat-log.1 b/Documentation/nvme-media-unit-stat-log.1 new file mode 100644 index 0000000..21d49d8 --- /dev/null +++ b/Documentation/nvme-media-unit-stat-log.1 @@ -0,0 +1,67 @@ +'\" t +.\" Title: nvme-media-unit-stat-log +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.79.1 +.\" Date: 11/11/2021 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-MEDIA\-LOG" "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-media-unit-stat-log \- Send NVMe Media unit status log pages request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme media\-log\-pages\fR [\-d | \-\-dom\-id] + [\-\-output\-format= | \-o ] + [\-\-raw\-binary | \-b] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Media unit status log pages details from an NVMe device and provides the returned structure\&. +.sp +The parameter is mandatory and should be the NVMe character device (ex: /dev/nvme0)\&. +.sp +On success, the returned Media unit status log pages log structure will be printed \&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +This option will set the reporting format to normal, json, or binary\&. Only one output format can be used at a time\&. +.RE +.PP +\-d, \-\-dom\-id +.RS 4 +This option is to get the domain ID\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +This option is to get raw binary data\&. +.RE +.SH "EXAMPLES" +.sp +No examples provided yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite \ No newline at end of file diff --git a/Documentation/nvme-media-unit-stat-log.html b/Documentation/nvme-media-unit-stat-log.html new file mode 100644 index 0000000..5042ba9 --- /dev/null +++ b/Documentation/nvme-media-unit-stat-log.html @@ -0,0 +1,831 @@ + + + + + + +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..997a497 --- /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] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +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-mi-cmd-support-effects-log.1 b/Documentation/nvme-mi-cmd-support-effects-log.1 new file mode 100644 index 0000000..8d18e62 --- /dev/null +++ b/Documentation/nvme-mi-cmd-support-effects-log.1 @@ -0,0 +1,70 @@ +'\" t +.\" 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: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-MI\-CMD\-SUPPO" "1" "02/14/2024" "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-mi-cmd-support-effects-log \- Send NVMe MI Command Support and Effects log, returns results and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-mi\-cmd\-support\-effects\-log\fR [\-\-human\-readable | \-H] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +nvme mi\-cmd\-support\-effects\-log /dev/nvme0 \-H +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-mi-cmd-support-effects-log.html b/Documentation/nvme-mi-cmd-support-effects-log.html new file mode 100644 index 0000000..c70a8b0 --- /dev/null +++ b/Documentation/nvme-mi-cmd-support-effects-log.html @@ -0,0 +1,833 @@ + + + + + + +nvme-mi-cmd-support-effects-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme-mi-cmd-support-effects-log <device> [--human-readable | -H]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an MI Command Support and Effects log (id 13h) +and provides the result and returned log structure.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

+
+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

nvme mi-cmd-support-effects-log /dev/nvme0 -H

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-mi-cmd-support-effects-log.txt b/Documentation/nvme-mi-cmd-support-effects-log.txt new file mode 100644 index 0000000..2221804 --- /dev/null +++ b/Documentation/nvme-mi-cmd-support-effects-log.txt @@ -0,0 +1,49 @@ +nvme-mi-cmd-support-effects-log(1) +================================== + +NAME +---- +nvme-mi-cmd-support-effects-log - Send NVMe MI Command Support and Effects log, +returns results and structure + +SYNOPSIS +-------- +[verse] +'nvme-mi-cmd-support-effects-log' [--human-readable | -H] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an MI Command Support and Effects log (id 13h) +and provides the result and returned log structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +nvme mi-cmd-support-effects-log /dev/nvme0 -H + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-micron-clear-pcie-errors.1 b/Documentation/nvme-micron-clear-pcie-errors.1 new file mode 100644 index 0000000..3d76b45 --- /dev/null +++ b/Documentation/nvme-micron-clear-pcie-errors.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-micron-clear-pcie-errors +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-MICRON\-CLEAR\" "1" "02/14/2024" "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-micron-clear-pcie-errors \- Clears correctable PCIe correctable errors of given Micron device +.SH "SYNOPSIS" +.sp +.nf +\fInvme micron clear\-pcie\-correctable\-errors\fR +.fi +.SH "DESCRIPTION" +.sp +This command clears correctable pcie errors for the specified Micron device\&. +.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 +This will only work on Micron devices devices of model numbers 54XX\&. Support for new devices may be added subsequently\&. +.SH "OPTIONS" +.sp +None +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Retrieve NAND statistics information +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme micron clear\-pcie\-correctable\-errors /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-micron-clear-pcie-errors.html b/Documentation/nvme-micron-clear-pcie-errors.html new file mode 100644 index 0000000..b7b9e1a --- /dev/null +++ b/Documentation/nvme-micron-clear-pcie-errors.html @@ -0,0 +1,805 @@ + + + + + + +nvme-micron-clear-pcie-errors(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme micron clear-pcie-correctable-errors <device>
+
+
+
+
+
+

DESCRIPTION

+
+

This command clears correctable pcie errors for the specified Micron device.

+

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 Micron devices devices of model numbers 54XX. Support for new +devices may be added subsequently.

+
+
+
+

OPTIONS

+
+

None

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Retrieve NAND statistics information +

    +
    +
    +
    # nvme micron clear-pcie-correctable-errors /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-micron-clear-pcie-errors.txt b/Documentation/nvme-micron-clear-pcie-errors.txt new file mode 100644 index 0000000..4df0e8a --- /dev/null +++ b/Documentation/nvme-micron-clear-pcie-errors.txt @@ -0,0 +1,39 @@ +nvme-micron-clear-pcie-errors(1) +=============================== + +NAME +---- +nvme-micron-clear-pcie-errors - Clears correctable PCIe correctable errors of given Micron device + +SYNOPSIS +-------- +[verse] +'nvme micron clear-pcie-correctable-errors' + +DESCRIPTION +----------- +This command clears correctable pcie errors for the specified Micron device. + +The 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 Micron devices devices of model numbers 54XX. Support for new +devices may be added subsequently. + +OPTIONS +------- +None + +EXAMPLES +-------- +* Retrieve NAND statistics information ++ +------------ +# nvme micron clear-pcie-correctable-errors /dev/nvme0 + +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-micron-internal-log.1 b/Documentation/nvme-micron-internal-log.1 new file mode 100644 index 0000000..97428fd --- /dev/null +++ b/Documentation/nvme-micron-internal-log.1 @@ -0,0 +1,74 @@ +'\" t +.\" Title: nvme-micron-internal-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-MICRON\-INTERN" "1" "02/14/2024" "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-micron-internal-log \- Retrieve Micron device\*(Aqs internal logs and save to given zip file\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme micron vs\-internal\-log\fR [\-\-package=, \-p ] +.fi +.SH "DESCRIPTION" +.sp +For the given NVMe device, sends the Micron vendor specific device commands to retrieve various logs (in binary format) and compresses them and saves into specified zip file\&. These vendor unique logs can be analyzed with Micron Technical support team for any device specific issues\&. +.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 +This will only work on Micron devices devices of model numbers 9200 and 54XX\&. Support for new devices may be added subsequently\&. Results for any other device are undefined\&. +.SH "OPTIONS" +.PP +\-l , \-\-package= +.RS 4 +name of the file (with \&.zip extension) to save the device logs +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the logs from the device and saves to micron_logs\&.zip file +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme micron vs\-internal\-log /dev/nvme0 \-\-package=micron_logs\&.zip +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-micron-internal-log.html b/Documentation/nvme-micron-internal-log.html new file mode 100644 index 0000000..6e288c1 --- /dev/null +++ b/Documentation/nvme-micron-internal-log.html @@ -0,0 +1,821 @@ + + + + + + +nvme-micron-internal-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme micron vs-internal-log <device> [--package=<FILE>, -p <FILE>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the given NVMe device, sends the Micron vendor specific device commands to +retrieve various logs (in binary format) and compresses them and saves into +specified zip file. These vendor unique logs can be analyzed with Micron +Technical support team for any device specific issues.

+

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 Micron devices devices of model numbers 9200 and 54XX. +Support for new devices may be added subsequently. Results for any other device +are undefined.

+
+
+
+

OPTIONS

+
+
+
+-l <FILE> +
+
+--package=<FILE> +
+
+

+ name of the file (with .zip extension) to save the device logs +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Gets the logs from the device and saves to micron_logs.zip file +

    +
    +
    +
    # nvme micron vs-internal-log /dev/nvme0 --package=micron_logs.zip
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-micron-internal-log.txt b/Documentation/nvme-micron-internal-log.txt new file mode 100644 index 0000000..b8e9228 --- /dev/null +++ b/Documentation/nvme-micron-internal-log.txt @@ -0,0 +1,45 @@ +nvme-micron-internal-log(1) +========================== + +NAME +---- +nvme-micron-internal-log - Retrieve Micron device's internal logs and save to +given zip file. + +SYNOPSIS +-------- +[verse] +'nvme micron vs-internal-log' [--package=, -p ] + +DESCRIPTION +----------- +For the given NVMe device, sends the Micron vendor specific device commands to +retrieve various logs (in binary format) and compresses them and saves into +specified zip file. These vendor unique logs can be analyzed with Micron +Technical support team for any device specific issues. + +The 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 Micron devices devices of model numbers 9200 and 54XX. +Support for new devices may be added subsequently. Results for any other device +are undefined. + +OPTIONS +------- +-l :: +--package=:: + name of the file (with .zip extension) to save the device logs + +EXAMPLES +-------- +* Gets the logs from the device and saves to micron_logs.zip file ++ +------------ +# nvme micron vs-internal-log /dev/nvme0 --package=micron_logs.zip + +------------ +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-micron-nand-stats.1 b/Documentation/nvme-micron-nand-stats.1 new file mode 100644 index 0000000..bb73919 --- /dev/null +++ b/Documentation/nvme-micron-nand-stats.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-micron-nand-stats +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-MICRON\-NAND\-" "1" "02/14/2024" "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-micron-nand-stats \- Retrieves NAND statistics of given micron device +.SH "SYNOPSIS" +.sp +.nf +\fInvme micron vs\-nand\-stats\fR +.fi +.SH "DESCRIPTION" +.sp +This command prints NAND information (Total bytes written, Bad block count and Erase failures etc) for the given micron device\&. +.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 +This will only work on Micron devices devices of model numbers 54XX\&. Support for new devices may be added subsequently\&. +.SH "OPTIONS" +.sp +None +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Retrieve NAND statistics information +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme micron vs\-nand\-stats /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-micron-nand-stats.html b/Documentation/nvme-micron-nand-stats.html new file mode 100644 index 0000000..57806b0 --- /dev/null +++ b/Documentation/nvme-micron-nand-stats.html @@ -0,0 +1,806 @@ + + + + + + +nvme-micron-nand-stats(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme micron vs-nand-stats <device>
+
+
+
+
+
+

DESCRIPTION

+
+

This command prints NAND information (Total bytes written, Bad block count and +Erase failures etc) for the given micron device.

+

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 Micron devices devices of model numbers 54XX. Support for +new devices may be added subsequently.

+
+
+
+

OPTIONS

+
+

None

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Retrieve NAND statistics information +

    +
    +
    +
    # nvme micron vs-nand-stats /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-micron-nand-stats.txt b/Documentation/nvme-micron-nand-stats.txt new file mode 100644 index 0000000..68e211e --- /dev/null +++ b/Documentation/nvme-micron-nand-stats.txt @@ -0,0 +1,40 @@ +nvme-micron-nand-stats(1) +========================= + +NAME +---- +nvme-micron-nand-stats - Retrieves NAND statistics of given micron device + +SYNOPSIS +-------- +[verse] +'nvme micron vs-nand-stats' + +DESCRIPTION +----------- +This command prints NAND information (Total bytes written, Bad block count and +Erase failures etc) for the given micron device. + +The 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 Micron devices devices of model numbers 54XX. Support for +new devices may be added subsequently. + +OPTIONS +------- +None + +EXAMPLES +-------- +* Retrieve NAND statistics information ++ +------------ +# nvme micron vs-nand-stats /dev/nvme0 + +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-micron-pcie-stats.1 b/Documentation/nvme-micron-pcie-stats.1 new file mode 100644 index 0000000..3c1875a --- /dev/null +++ b/Documentation/nvme-micron-pcie-stats.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-micron-pcie-stats +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-MICRON\-PCIE\-" "1" "02/14/2024" "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-micron-pcie-stats \- Retrieves pcie error statistics for given micron device +.SH "SYNOPSIS" +.sp +.nf +\fInvme micron vs\-pcie\-stats\fR +.fi +.SH "DESCRIPTION" +.sp +This command prints pcie correctable and uncorrectable error information for the given micron device\&. +.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 +This will only work on Micron devices devices of model numbers 54XX\&. Support for new devices may be added subsequently\&. +.SH "OPTIONS" +.sp +None +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Retrieve PCIe error information +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme micron vs\-pcie\-stats /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-micron-pcie-stats.html b/Documentation/nvme-micron-pcie-stats.html new file mode 100644 index 0000000..d81e4a7 --- /dev/null +++ b/Documentation/nvme-micron-pcie-stats.html @@ -0,0 +1,806 @@ + + + + + + +nvme-micron-pcie-stats(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme micron vs-pcie-stats <device>
+
+
+
+
+
+

DESCRIPTION

+
+

This command prints pcie correctable and uncorrectable error information for the +given micron device.

+

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 Micron devices devices of model numbers 54XX. Support for +new devices may be added subsequently.

+
+
+
+

OPTIONS

+
+

None

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Retrieve PCIe error information +

    +
    +
    +
    # nvme micron vs-pcie-stats /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-micron-pcie-stats.txt b/Documentation/nvme-micron-pcie-stats.txt new file mode 100644 index 0000000..f58257a --- /dev/null +++ b/Documentation/nvme-micron-pcie-stats.txt @@ -0,0 +1,40 @@ +nvme-micron-pcie-stats(1) +========================= + +NAME +---- +nvme-micron-pcie-stats - Retrieves pcie error statistics for given micron device + +SYNOPSIS +-------- +[verse] +'nvme micron vs-pcie-stats' + +DESCRIPTION +----------- +This command prints pcie correctable and uncorrectable error information for the +given micron device. + +The 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 Micron devices devices of model numbers 54XX. Support for +new devices may be added subsequently. + +OPTIONS +------- +None + +EXAMPLES +-------- +* Retrieve PCIe error information ++ +------------ +# nvme micron vs-pcie-stats /dev/nvme0 + +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-micron-selective-download.1 b/Documentation/nvme-micron-selective-download.1 new file mode 100644 index 0000000..da20310 --- /dev/null +++ b/Documentation/nvme-micron-selective-download.1 @@ -0,0 +1,140 @@ +'\" t +.\" Title: nvme-micron-selective-download +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-MICRON\-SELECT" "1" "02/14/2024" "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-micron-selective-download \- Performs selective firmware download that allows user select which firmware binary to update for 9200 devices\&. This requires power cycle the update completes\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme micron selective\-download\fR [\-\-fw=, \-f ] + [\-\-select=, \-s ] +.fi +.SH "DESCRIPTION" +.sp +This command uses micron vendor specific nvme commands to download given firmware image to the 9200 device to update selected or all portions of firmware image\&. +.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 +This will only work on Micron devices devices of model number 9200\&. Support for new devices be added subsequently\&. Results for any other device are undefined\&. +.SH "OPTIONS" +.PP +\-f , \-\-fw= +.RS 4 +name of the firmware image file +.RE +.PP +\-s , \-\-select= +.RS 4 +flag that has following values +.RE +.PP +OOB +.RS 4 +This updates the OOB and main firmware\en" +.RE +.PP +EEP +.RS 4 +This updates the eeprom and main firmware\en" +.RE +.PP +ALL +.RS 4 +This updates the eeprom, OOB, and main firmware"; +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Update OOB and main firmware +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme micron selective\-download /dev/nvme0 \-\-fw=firmware_bin \-\-select=OOB +# nvme micron selective\-download /dev/nvme0 \-f firmware_bin \-s OOB +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Update OOB and main firmware +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme micron selective\-download /dev/nvme0 \-\-fw=firmware_bin \-\-select=EEP +# nvme micron selective\-download /dev/nvme0 \-f firmware_bin \-\-s EEP +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Update eeprom, OOB and main firmware +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme micron selective\-download /dev/nvme0 \-\-fw=firmware_bin \-\-select=ALL +# nvme micron selective\-download /dev/nvme0 \-f firmware_bin \-\-s ALL +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-micron-selective-download.html b/Documentation/nvme-micron-selective-download.html new file mode 100644 index 0000000..84774ec --- /dev/null +++ b/Documentation/nvme-micron-selective-download.html @@ -0,0 +1,876 @@ + + + + + + +nvme-micron-selective-download(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme micron selective-download <device> [--fw=<FILE>, -f <FILE>]
+                        [--select=<flag>, -s <flag>]
+
+
+
+
+
+

DESCRIPTION

+
+

This command uses micron vendor specific nvme commands to download given +firmware image to the 9200 device to update selected or all portions of firmware +image.

+

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 Micron devices devices of model number 9200. Support for +new devices be added subsequently. Results for any other device are undefined.

+
+
+
+

OPTIONS

+
+
+
+-f <FILE> +
+
+--fw=<FILE> +
+
+

+ name of the firmware image file +

+
+
+-s <flag> +
+
+--select=<flag> +
+
+

+ flag that has following values +

+
+
+OOB +
+
+

+This updates the OOB and main firmware\n" +

+
+
+EEP +
+
+

+This updates the eeprom and main firmware\n" +

+
+
+ALL +
+
+

+This updates the eeprom, OOB, and main firmware"; +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Update OOB and main firmware +

    +
    +
    +
    # nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=OOB
    +# nvme micron selective-download /dev/nvme0 -f firmware_bin -s OOB
    +
    +
  • +
  • +

    +Update OOB and main firmware +

    +
    +
    +
    # nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=EEP
    +# nvme micron selective-download /dev/nvme0 -f firmware_bin --s EEP
    +
    +
  • +
  • +

    +Update eeprom, OOB and main firmware +

    +
    +
    +
    # nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=ALL
    +# nvme micron selective-download /dev/nvme0 -f firmware_bin --s ALL
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-micron-selective-download.txt b/Documentation/nvme-micron-selective-download.txt new file mode 100644 index 0000000..c20af74 --- /dev/null +++ b/Documentation/nvme-micron-selective-download.txt @@ -0,0 +1,66 @@ +nvme-micron-selective-download(1) +================================= + +NAME +---- +nvme-micron-selective-download - Performs selective firmware download that +allows user select which firmware binary to update for 9200 devices. This +requires power cycle the update completes. + +SYNOPSIS +-------- +[verse] +'nvme micron selective-download' [--fw=, -f ] + [--select=, -s ] + +DESCRIPTION +----------- +This command uses micron vendor specific nvme commands to download given +firmware image to the 9200 device to update selected or all portions of firmware +image. + +The 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 Micron devices devices of model number 9200. Support for +new devices be added subsequently. Results for any other device are undefined. + +OPTIONS +------- +-f :: +--fw=:: + name of the firmware image file + +-s :: +--select=:: + flag that has following values + OOB:: This updates the OOB and main firmware\n" + EEP:: This updates the eeprom and main firmware\n" + ALL:: This updates the eeprom, OOB, and main firmware"; + +EXAMPLES +-------- +* Update OOB and main firmware ++ +------------ +# nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=OOB +# nvme micron selective-download /dev/nvme0 -f firmware_bin -s OOB + +------------ +* Update OOB and main firmware ++ +------------ +# nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=EEP +# nvme micron selective-download /dev/nvme0 -f firmware_bin --s EEP +------------ +* Update eeprom, OOB and main firmware ++ +------------ +# nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=ALL +# nvme micron selective-download /dev/nvme0 -f firmware_bin --s ALL +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-micron-smart-add-log.1 b/Documentation/nvme-micron-smart-add-log.1 new file mode 100644 index 0000000..3ef3f17 --- /dev/null +++ b/Documentation/nvme-micron-smart-add-log.1 @@ -0,0 +1,90 @@ +'\" t +.\" Title: nvme-micron-smart-add-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-MICRON\-SMART\" "1" "02/14/2024" "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-micron-smart-add-log \- Retrieves NAND statistics (2200 model drives) or Extended SMART information (OCP complaint models) of given micron device +.SH "SYNOPSIS" +.sp +.nf +\fInvme micron vs\-smart\-add\-log\fR \-f +.fi +.SH "DESCRIPTION" +.sp +This command prints NAND information (Total bytes written, Bad block count and Erase failures etc) for the given micron device if its of 2200 model controller\&. For OCP complaint controllers this command print extended SMART health data along with NAND information (if available) +.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 +The \fI\-f\fR option controls the displayed output data format based on the option value\&. If the option value is \fIjson\fR (which is enabled by default), output data is printed in JSON format\&. If option value is \fInormal\fR the output is displayed in non\-JSON format\&. +.sp +This will only work on Micron devices devices of model numbers 54XX and OCP complaint controllers\&. Support for new devices may be added subsequently\&. +.SH "OPTIONS" +.PP +\-f +.RS 4 +Controls the format of displayed output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Retrieve NAND/extended SMART data and display in json format +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme micron vs\-nand\-stats /dev/nvme0 + +* Retrieve NAND/extended SMART data and display in non\-json format ++ +.fi +.if n \{\ +.RE +.\} +.RE +.sp +# nvme micron vs\-nand\-stats /dev/nvme0 \-f normal +.sp +.if n \{\ +.RS 4 +.\} +.nf +NVME +.fi +.if n \{\ +.RE +.\} +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-micron-smart-add-log.html b/Documentation/nvme-micron-smart-add-log.html new file mode 100644 index 0000000..34a21dd --- /dev/null +++ b/Documentation/nvme-micron-smart-add-log.html @@ -0,0 +1,824 @@ + + + + + + +nvme-micron-smart-add-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme micron vs-smart-add-log <device> -f <json|normal>
+
+
+
+
+
+

DESCRIPTION

+
+

This command prints NAND information (Total bytes written, Bad block count and +Erase failures etc) for the given micron device if its of 2200 model controller. +For OCP complaint controllers this command print extended SMART health data +along with NAND information (if available)

+

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

+

The -f option controls the displayed output data format based on the option +value. If the option value is json (which is enabled by default), output data +is printed in JSON format. If option value is normal the output is displayed +in non-JSON format.

+

This will only work on Micron devices devices of model numbers 54XX and OCP +complaint controllers. Support for new devices may be added subsequently.

+
+
+
+

OPTIONS

+
+
+
+-f <json|normal> +
+
+

+ Controls the format of displayed output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Retrieve NAND/extended SMART data and display in json format +

    +
    +
    +
    # nvme micron vs-nand-stats /dev/nvme0
    +
    +* Retrieve NAND/extended SMART data and display in non-json format
    ++
    +
    +
  • +
+

# nvme micron vs-nand-stats /dev/nvme0 -f normal

+
+
+
NVME
+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-micron-smart-add-log.txt b/Documentation/nvme-micron-smart-add-log.txt new file mode 100644 index 0000000..13e0d96 --- /dev/null +++ b/Documentation/nvme-micron-smart-add-log.txt @@ -0,0 +1,54 @@ +nvme-micron-smart-add-log(1) +============================ + +NAME +---- +nvme-micron-smart-add-log - Retrieves NAND statistics (2200 model drives) +or Extended SMART information (OCP complaint models) of given micron device + +SYNOPSIS +-------- +[verse] +'nvme micron vs-smart-add-log' -f + +DESCRIPTION +----------- +This command prints NAND information (Total bytes written, Bad block count and +Erase failures etc) for the given micron device if its of 2200 model controller. +For OCP complaint controllers this command print extended SMART health data +along with NAND information (if available) + +The parameter is mandatory and may be either the NVMe +character device (ex: /dev/nvme0), or a namespace block device (ex: +/dev/nvme0n1). + +The '-f' option controls the displayed output data format based on the option +value. If the option value is 'json' (which is enabled by default), output data +is printed in JSON format. If option value is 'normal' the output is displayed +in non-JSON format. + +This will only work on Micron devices devices of model numbers 54XX and OCP +complaint controllers. Support for new devices may be added subsequently. + +OPTIONS +------- +-f :: + Controls the format of displayed output. + +EXAMPLES +-------- +* Retrieve NAND/extended SMART data and display in json format ++ +------------ +# nvme micron vs-nand-stats /dev/nvme0 + +* Retrieve NAND/extended SMART data and display in non-json format ++ +------------ +# nvme micron vs-nand-stats /dev/nvme0 -f normal + +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-micron-temperature-stats.1 b/Documentation/nvme-micron-temperature-stats.1 new file mode 100644 index 0000000..ee8a62b --- /dev/null +++ b/Documentation/nvme-micron-temperature-stats.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-micron-temperature-stats +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-MICRON\-TEMPER" "1" "02/14/2024" "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-micron-temperature-stats \- Retrieves temperature information of given micron device +.SH "SYNOPSIS" +.sp +.nf +\fInvme micron vs\-temperature\-stats\fR +.fi +.SH "DESCRIPTION" +.sp +This command prints temperature information (composite temperature and number of active temperature sensors) for the given micron device\&. +.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 +This will only work on Micron devices devices of model numbers 54XX\&. Support for new devices may be added subsequently\&. +.SH "OPTIONS" +.sp +None +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Retrieve temperature information +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme micron vs\-temperature\-stats /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-micron-temperature-stats.html b/Documentation/nvme-micron-temperature-stats.html new file mode 100644 index 0000000..7fa023f --- /dev/null +++ b/Documentation/nvme-micron-temperature-stats.html @@ -0,0 +1,806 @@ + + + + + + +nvme-micron-temperature-stats(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme micron vs-temperature-stats <device>
+
+
+
+
+
+

DESCRIPTION

+
+

This command prints temperature information (composite temperature and number of active +temperature sensors) for the given micron device.

+

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 Micron devices devices of model numbers 54XX. Support for new +devices may be added subsequently.

+
+
+
+

OPTIONS

+
+

None

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Retrieve temperature information +

    +
    +
    +
    # nvme micron vs-temperature-stats /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-micron-temperature-stats.txt b/Documentation/nvme-micron-temperature-stats.txt new file mode 100644 index 0000000..8b013d9 --- /dev/null +++ b/Documentation/nvme-micron-temperature-stats.txt @@ -0,0 +1,40 @@ +nvme-micron-temperature-stats(1) +================================== + +NAME +---- +nvme-micron-temperature-stats - Retrieves temperature information of given micron device + +SYNOPSIS +-------- +[verse] +'nvme micron vs-temperature-stats' + +DESCRIPTION +----------- +This command prints temperature information (composite temperature and number of active +temperature sensors) for the given micron device. + +The 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 Micron devices devices of model numbers 54XX. Support for new +devices may be added subsequently. + +OPTIONS +------- +None + +EXAMPLES +-------- +* Retrieve temperature information ++ +------------ +# nvme micron vs-temperature-stats /dev/nvme0 + +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-netapp-ontapdevices.1 b/Documentation/nvme-netapp-ontapdevices.1 new file mode 100644 index 0000000..0dda702 --- /dev/null +++ b/Documentation/nvme-netapp-ontapdevices.1 @@ -0,0 +1,74 @@ +'\" t +.\" Title: nvme-netapp-ontapdevices +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-NETAPP\-ONTAPD" "1" "02/14/2024" "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-netapp-ontapdevices \- Display information about ONTAP devices +.SH "SYNOPSIS" +.sp +.nf +\fInvme netapp ontapdevices\fR [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +Display information about ONTAP devices on the host\&. The ONTAP devices are identified using the Identify Controller data\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR +(default), +\fIcolumn\fR, or +\fIjson\fR\&. Only one output format can be used at a time\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Display information, in a column\-based format, for ONTAP devices\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme netapp ontapdevices \-o column +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-netapp-ontapdevices.html b/Documentation/nvme-netapp-ontapdevices.html new file mode 100644 index 0000000..38ef119 --- /dev/null +++ b/Documentation/nvme-netapp-ontapdevices.html @@ -0,0 +1,814 @@ + + + + + + +nvme-netapp-ontapdevices(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme netapp ontapdevices [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

Display information about ONTAP devices on the host. The ONTAP devices are +identified using the Identify Controller data.

+
+
+
+

OPTIONS

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

+ Set the reporting format to normal (default), column, or + json. Only one output format can be used at a time. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Display information, in a column-based format, for ONTAP devices. +

    +
    +
    +
    # nvme netapp ontapdevices -o column
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-netapp-ontapdevices.txt b/Documentation/nvme-netapp-ontapdevices.txt new file mode 100644 index 0000000..fc28947 --- /dev/null +++ b/Documentation/nvme-netapp-ontapdevices.txt @@ -0,0 +1,35 @@ +nvme-netapp-ontapdevices(1) +=========================== + +NAME +---- +nvme-netapp-ontapdevices - Display information about ONTAP devices + +SYNOPSIS +-------- +[verse] +'nvme netapp ontapdevices' [--output-format= | -o ] + +DESCRIPTION +----------- +Display information about ONTAP devices on the host. The ONTAP devices are +identified using the Identify Controller data. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal' (default), 'column', or + 'json'. Only one output format can be used at a time. + +EXAMPLES +-------- +* Display information, in a column-based format, for ONTAP devices. ++ +------------ +# nvme netapp ontapdevices -o column +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-netapp-smdevices.1 b/Documentation/nvme-netapp-smdevices.1 new file mode 100644 index 0000000..8f19522 --- /dev/null +++ b/Documentation/nvme-netapp-smdevices.1 @@ -0,0 +1,74 @@ +'\" t +.\" Title: nvme-netapp-smdevices +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-NETAPP\-SMDEVI" "1" "02/14/2024" "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-netapp-smdevices \- Display information for each NVMe path to an E\-Series volume +.SH "SYNOPSIS" +.sp +.nf +\fInvme netapp smdevices\fR [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +Display vendor\-specific information for each NVMe path to an E\-Series namespace currently connected to the host\&. The E\-Series paths are identified from the NVMe nodes in /dev by sending an Identify Controller\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR +(default), +\fIcolumn\fR, or +\fIjson\fR\&. Only one output format can be used at a time\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Display information, in a column\-based format, for each path to an E\-Series namespace\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme netapp smdevices \-o column +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-netapp-smdevices.html b/Documentation/nvme-netapp-smdevices.html new file mode 100644 index 0000000..2fb4830 --- /dev/null +++ b/Documentation/nvme-netapp-smdevices.html @@ -0,0 +1,816 @@ + + + + + + +nvme-netapp-smdevices(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme netapp smdevices [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

Display vendor-specific information for each NVMe path to an E-Series namespace +currently connected to the host. The E-Series paths are identified from the +NVMe nodes in /dev by sending an Identify Controller.

+
+
+
+

OPTIONS

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

+ Set the reporting format to normal (default), column, or + json. Only one output format can be used at a time. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Display information, in a column-based format, for each path to an E-Series +namespace. +

    +
    +
    +
    # nvme netapp smdevices -o column
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-netapp-smdevices.txt b/Documentation/nvme-netapp-smdevices.txt new file mode 100644 index 0000000..cb68acf --- /dev/null +++ b/Documentation/nvme-netapp-smdevices.txt @@ -0,0 +1,37 @@ +nvme-netapp-smdevices(1) +======================== + +NAME +---- +nvme-netapp-smdevices - Display information for each NVMe path to an E-Series volume + +SYNOPSIS +-------- +[verse] +'nvme netapp smdevices' [--output-format= | -o ] + +DESCRIPTION +----------- +Display vendor-specific information for each NVMe path to an E-Series namespace +currently connected to the host. The E-Series paths are identified from the +NVMe nodes in /dev by sending an Identify Controller. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal' (default), 'column', or + 'json'. Only one output format can be used at a time. + +EXAMPLES +-------- +* Display information, in a column-based format, for each path to an E-Series +namespace. ++ +------------ +# nvme netapp smdevices -o column +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-ns-descs.1 b/Documentation/nvme-ns-descs.1 new file mode 100644 index 0000000..cc5a192 --- /dev/null +++ b/Documentation/nvme-ns-descs.1 @@ -0,0 +1,120 @@ +'\" t +.\" Title: nvme-ns-descs +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-NS\-DESCS" "1" "02/14/2024" "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-ns-descs \- Send NVMe Identify for a list of Namespace Identification Descriptor structure, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme ns\-descs\fR [\-\-namespace\-id= | \-n ] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify for a list of namespace identification descriptor structures command and provides the result and returned 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)\&. If the character device is given, the \*(Aq\-\-namespace\-id\*(Aq option is mandatory, otherwise it will use the ns\-id of the namespace for the block device you opened\&. For block devices, the ns\-id used can be overridden with the same option\&. +.sp +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Retrieve the identify namespace identification descriptor structure for the given nsid\&. This is required for the character devices, or overrides the block nsid if given\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +If using the character device or overriding namespace #2: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme ns\-descs /dev/nvme0 \-n 1 +# nvme ns\-descs /dev/nvme0n1 \-n 2 +# nvme ns\-descs /dev/nvme0 \-\-namespace\-id=1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program return the raw structure in binary: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme ns\-descs /dev/nvme0n1 \-\-raw\-binary > ns_descs\&.raw +# nvme ns\-descs /dev/nvme0n1 \-b > ns_descs\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-ns-descs.html b/Documentation/nvme-ns-descs.html new file mode 100644 index 0000000..02dc1fc --- /dev/null +++ b/Documentation/nvme-ns-descs.html @@ -0,0 +1,874 @@ + + + + + + +nvme-ns-descs(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme ns-descs <device> [--namespace-id=<nsid> | -n <nsid>] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify for a list of namespace +identification descriptor structures command and provides the result and +returned structure.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the character device is given, the '--namespace-id' option is +mandatory, otherwise it will use the ns-id of the namespace for the block +device you opened. For block devices, the ns-id used can be overridden +with the same option.

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Retrieve the identify namespace identification descriptor structure + for the given nsid. This is required for the character devices, or + overrides the block nsid if given. +

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

+ Print the raw buffer to stdout. Structure is not parsed by + program. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +If using the character device or overriding namespace #2: +

    +
    +
    +
    # nvme ns-descs /dev/nvme0 -n 1
    +# nvme ns-descs /dev/nvme0n1 -n 2
    +# nvme ns-descs /dev/nvme0 --namespace-id=1
    +
    +
  • +
  • +

    +Have the program return the raw structure in binary: +

    +
    +
    +
    # nvme ns-descs /dev/nvme0n1 --raw-binary > ns_descs.raw
    +# nvme ns-descs /dev/nvme0n1 -b > ns_descs.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-ns-descs.txt b/Documentation/nvme-ns-descs.txt new file mode 100644 index 0000000..04c6e51 --- /dev/null +++ b/Documentation/nvme-ns-descs.txt @@ -0,0 +1,76 @@ +nvme-ns-descs(1) +================ + +NAME +---- +nvme-ns-descs - Send NVMe Identify for a list of Namespace Identification + Descriptor structure, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme ns-descs' [--namespace-id= | -n ] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify for a list of namespace +identification descriptor structures command and provides the result and +returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). +If the character device is given, the `'--namespace-id'` option is +mandatory, otherwise it will use the ns-id of the namespace for the block +device you opened. For block devices, the ns-id used can be overridden +with the same option. + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-n :: +--namespace-id=:: + Retrieve the identify namespace identification descriptor structure + for the given nsid. This is required for the character devices, or + overrides the block nsid if given. + +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* If using the character device or overriding namespace #2: ++ +------------ +# nvme ns-descs /dev/nvme0 -n 1 +# nvme ns-descs /dev/nvme0n1 -n 2 +# nvme ns-descs /dev/nvme0 --namespace-id=1 +------------ ++ + +* Have the program return the raw structure in binary: ++ +------------ +# nvme ns-descs /dev/nvme0n1 --raw-binary > ns_descs.raw +# nvme ns-descs /dev/nvme0n1 -b > ns_descs.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-ns-rescan.1 b/Documentation/nvme-ns-rescan.1 new file mode 100644 index 0000000..4d62049 --- /dev/null +++ b/Documentation/nvme-ns-rescan.1 @@ -0,0 +1,79 @@ +'\" t +.\" Title: nvme-ns-rescan +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-NS\-RESCAN" "1" "02/14/2024" "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-ns-rescan \- Rescans the nvme namespaces\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme ns\-rescan\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Requests NVMe controller rescans the namespaces\&. The param is mandatory and must be an NVMe character device (ex: /dev/nvme0)\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Rescans the nvme namespaces\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme ns\-rescan /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-ns-rescan.html b/Documentation/nvme-ns-rescan.html new file mode 100644 index 0000000..622dfbd --- /dev/null +++ b/Documentation/nvme-ns-rescan.html @@ -0,0 +1,825 @@ + + + + + + +nvme-ns-rescan(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme ns-rescan <device> [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Requests NVMe controller rescans the namespaces. The <device> param is mandatory and must +be an NVMe character device (ex: /dev/nvme0).

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Rescans the nvme namespaces. +

    +
    +
    +
    # nvme ns-rescan /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-ns-rescan.txt b/Documentation/nvme-ns-rescan.txt new file mode 100644 index 0000000..5681eab --- /dev/null +++ b/Documentation/nvme-ns-rescan.txt @@ -0,0 +1,39 @@ +nvme-ns-rescan(1) +================= + +NAME +---- +nvme-ns-rescan - Rescans the nvme namespaces. + +SYNOPSIS +-------- +[verse] +'nvme ns-rescan' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Requests NVMe controller rescans the namespaces. The param is mandatory and must +be an NVMe character device (ex: /dev/nvme0). + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Rescans the nvme namespaces. ++ +------------ +# nvme ns-rescan /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-nvm-id-ctrl.1 b/Documentation/nvme-nvm-id-ctrl.1 new file mode 100644 index 0000000..343724d --- /dev/null +++ b/Documentation/nvme-nvm-id-ctrl.1 @@ -0,0 +1,104 @@ +'\" t +.\" Title: nvme-nvm-id-ctrl +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-NVM\-ID\-CTRL" "1" "02/14/2024" "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-nvm-id-ctrl \- Send NVMe Identify Controller, return NVM command set structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme nvm\-id\-ctrl\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the NVM command set\(cqs identify controller command and provides the result and returned 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 +On success, the data structure returned by the device will be decoded and displayed in one of several ways\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme nvm\-id\-ctrl /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Show the output in json format +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme nvm\-id\-ctrl /dev/nvme0 \-o json +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of nvme\-cli diff --git a/Documentation/nvme-nvm-id-ctrl.html b/Documentation/nvme-nvm-id-ctrl.html new file mode 100644 index 0000000..4024a80 --- /dev/null +++ b/Documentation/nvme-nvm-id-ctrl.html @@ -0,0 +1,839 @@ + + + + + + +nvme-nvm-id-ctrl(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme nvm-id-ctrl <device> [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the NVM command set’s identify controller +command and provides the result and returned structure.

+

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

+

On success, the data structure returned by the device will be decoded and +displayed in one of several ways.

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme nvm-id-ctrl /dev/nvme0
    +
    +
  • +
  • +

    +Show the output in json format +

    +
    +
    +
    # nvme nvm-id-ctrl /dev/nvme0 -o json
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of nvme-cli

+
+
+
+

+ + + diff --git a/Documentation/nvme-nvm-id-ctrl.txt b/Documentation/nvme-nvm-id-ctrl.txt new file mode 100644 index 0000000..eabc4b1 --- /dev/null +++ b/Documentation/nvme-nvm-id-ctrl.txt @@ -0,0 +1,53 @@ +nvme-nvm-id-ctrl(1) +=================== + +NAME +---- +nvme-nvm-id-ctrl - Send NVMe Identify Controller, return NVM command set structure + +SYNOPSIS +-------- +[verse] +'nvme nvm-id-ctrl' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends the NVM command set's identify controller +command and provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the data structure returned by the device will be decoded and +displayed in one of several ways. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme nvm-id-ctrl /dev/nvme0 +------------ ++ + +* Show the output in json format ++ +------------ +# nvme nvm-id-ctrl /dev/nvme0 -o json +------------ + +NVME +---- +Part of nvme-cli diff --git a/Documentation/nvme-nvm-id-ns-lba-format.1 b/Documentation/nvme-nvm-id-ns-lba-format.1 new file mode 100644 index 0000000..86723f0 --- /dev/null +++ b/Documentation/nvme-nvm-id-ns-lba-format.1 @@ -0,0 +1,117 @@ +'\" t +.\" Title: nvme-nvm-id-ns-lba-format +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 01/07/2022 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-NVM\-ID\-NS\-L" "1" "01/07/2022" "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-nvm-id-ns-lba-format \- Send NVMe Identify NVM Command Set specific Namespace data structure for specified LBA format, display structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme nvm\-id\-ns\-lba\-format\fR [\-\-uuid\-index= | \-U ] + [\-\-lba\-format\-index= | \-i ] + [\-v | \-\-verbose] + [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +Identify NVM Command Set specific Namespace data structure for the specified LBA format index for the NVM Command Set specified in the CSI field\&. +.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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-U , \-\-uuid\-index= +.RS 4 +UUID Index of the feature +.RE +.PP +\-i , \-\-lba\-format\-index= +.RS 4 +This field specifies the index into the LBA Format list identifying the LBA Format capabilities that are to be returned +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme nvm\-id\-ns\-lba\-format /dev/nvme0n1 \-i 0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program return the raw structure in binary: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme nvm\-id\-ns\-lba\-format /dev/nvme0 \-i 0 \-o binary > nvm_id_ns\&.raw +# nvme nvm\-id\-ns\-lba\-format /dev/nvme0n1 \-i 0 \-\-output\-format=binary > nvm_id_ns\&.raw +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-nvm-id-ns-lba-format.html b/Documentation/nvme-nvm-id-ns-lba-format.html new file mode 100644 index 0000000..09ac1c4 --- /dev/null +++ b/Documentation/nvme-nvm-id-ns-lba-format.html @@ -0,0 +1,863 @@ + + + + + +nvme-nvm-id-ns-lba-format(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme nvm-id-ns-lba-format <device> [--uuid-index=<uuid-index> | -U <uuid_index>]
+                        [--lba-format-index=<lba_format_index> | -i <lba_format_index>]
+                        [-v | --verbose]
+                        [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

Identify NVM Command Set specific Namespace data structure for the specified +LBA format index for the NVM Command Set specified in the CSI field.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

+
+
+
+-U <uuid-index> +
+
+--uuid-index=<uuid-index> +
+
+

+ UUID Index of the feature +

+
+
+-i <lba_format_index> +
+
+--lba-format-index=<lba_format_index> +
+
+

+ This field specifies the index into the LBA Format list identifying + the LBA Format capabilities that are to be returned +

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

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

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

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme nvm-id-ns-lba-format /dev/nvme0n1 -i 0
    +
    +
  • +
  • +

    +Have the program return the raw structure in binary: +

    +
    +
    +
    # nvme nvm-id-ns-lba-format /dev/nvme0 -i 0 -o binary > nvm_id_ns.raw
    +# nvme nvm-id-ns-lba-format /dev/nvme0n1 -i 0 --output-format=binary > nvm_id_ns.raw
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-nvm-id-ns-lba-format.txt b/Documentation/nvme-nvm-id-ns-lba-format.txt new file mode 100644 index 0000000..1048995 --- /dev/null +++ b/Documentation/nvme-nvm-id-ns-lba-format.txt @@ -0,0 +1,66 @@ +nvme-nvm-id-ns-lba-format(1) +============================ + +NAME +---- +nvme-nvm-id-ns-lba-format - Send NVMe Identify NVM Command Set specific +Namespace data structure for specified LBA format, display structure + +SYNOPSIS +-------- +[verse] +'nvme nvm-id-ns-lba-format' [--uuid-index= | -U ] + [--lba-format-index= | -i ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Identify NVM Command Set specific Namespace data structure for the specified +LBA format index for the NVM Command Set specified in the CSI field. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-U :: +--uuid-index=:: + UUID Index of the feature + +-i :: +--lba-format-index=:: + This field specifies the index into the LBA Format list identifying + the LBA Format capabilities that are to be returned + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme nvm-id-ns-lba-format /dev/nvme0n1 -i 0 +------------ ++ +* Have the program return the raw structure in binary: ++ +------------ +# nvme nvm-id-ns-lba-format /dev/nvme0 -i 0 -o binary > nvm_id_ns.raw +# nvme nvm-id-ns-lba-format /dev/nvme0n1 -i 0 --output-format=binary > nvm_id_ns.raw +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-nvm-id-ns.1 b/Documentation/nvme-nvm-id-ns.1 new file mode 100644 index 0000000..fde30b7 --- /dev/null +++ b/Documentation/nvme-nvm-id-ns.1 @@ -0,0 +1,162 @@ +'\" t +.\" Title: nvme-nvm-id-ns +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 01/07/2022 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-NVM\-ID\-NS" "1" "01/07/2022" "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-nvm-id-ns \- Send NVMe Identify NVM Command Set specific Namespace data structure, display structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme nvm\-id\-ns\fR [\-\-uuid\-index= | \-U ] + [\-\-namespace\-id= | \-n ] + [\-v | \-\-verbose] + [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +Identify NVM Command Set specific Namespace data structure for the specified NSID for the NVM Command Set specified in the CSI field\&. +.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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Use the provided namespace id for the command\&. If not provided, the namespace id of the block device will be used\&. If the command is issued to a non\-block device, the parameter is required\&. +.RE +.PP +\-U , \-\-uuid\-index= +.RS 4 +UUID Index of the feature +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme nvm\-id\-ns /dev/nvme0n1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +If using the character device or overriding namespace id: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme nvm\-id\-ns /dev/nvme0 \-n 1 +# nvme nvm\-id\-ns /dev/nvme0n1 \-n 1 +# nvme nvm\-id\-ns /dev/nvme0 \-\-namespace\-id=1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Have the program return the raw structure in binary: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme nvm\-id\-ns /dev/nvme0n1 \-o binary > id_ns\&.raw +# nvme nvm\-id\-ns /dev/nvme0n1 \-\-output\-format=binary > id_ns\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Alternatively you may want to send the data to another program that can parse the raw buffer\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +NVME +.fi +.if n \{\ +.RE +.\} +.RE +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-nvm-id-ns.html b/Documentation/nvme-nvm-id-ns.html new file mode 100644 index 0000000..82645dc --- /dev/null +++ b/Documentation/nvme-nvm-id-ns.html @@ -0,0 +1,881 @@ + + + + + +nvme-nvm-id-ns(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme nvm-id-ns <device> [--uuid-index=<uuid-index> | -U <uuid_index>]
+                        [--namespace-id=<NUM> | -n <NUM>]
+                        [-v | --verbose]
+                        [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

Identify NVM Command Set specific Namespace data structure for the specified +NSID for the NVM Command Set specified in the CSI field.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

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

+ Use the provided namespace id for the command. If not provided, the + namespace id of the block device will be used. If the command is issued + to a non-block device, the parameter is required. +

+
+
+-U <uuid-index> +
+
+--uuid-index=<uuid-index> +
+
+

+ UUID Index of the feature +

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

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

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

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme nvm-id-ns /dev/nvme0n1
    +
    +
  • +
  • +

    +If using the character device or overriding namespace id: +

    +
    +
    +
    # nvme nvm-id-ns /dev/nvme0 -n 1
    +# nvme nvm-id-ns /dev/nvme0n1 -n 1
    +# nvme nvm-id-ns /dev/nvme0 --namespace-id=1
    +
    +
  • +
  • +

    +Have the program return the raw structure in binary: +

    +
    +
    +
    # nvme nvm-id-ns /dev/nvme0n1 -o binary > id_ns.raw
    +# nvme nvm-id-ns /dev/nvme0n1 --output-format=binary > id_ns.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
  • +

    +Alternatively you may want to send the data to another program that +can parse the raw buffer. +

    +
    +
    +
    NVME
    +
    +
  • +
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-nvm-id-ns.txt b/Documentation/nvme-nvm-id-ns.txt new file mode 100644 index 0000000..5a8cb09 --- /dev/null +++ b/Documentation/nvme-nvm-id-ns.txt @@ -0,0 +1,82 @@ +nvme-nvm-id-ns(1) +================= + +NAME +---- +nvme-nvm-id-ns - Send NVMe Identify NVM Command Set specific Namespace data structure, display structure + +SYNOPSIS +-------- +[verse] +'nvme nvm-id-ns' [--uuid-index= | -U ] + [--namespace-id= | -n ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Identify NVM Command Set specific Namespace data structure for the specified +NSID for the NVM Command Set specified in the CSI field. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-n :: +--namespace-id=:: + Use the provided namespace id for the command. If not provided, the + namespace id of the block device will be used. If the command is issued + to a non-block device, the parameter is required. + +-U :: +--uuid-index=:: + UUID Index of the feature + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme nvm-id-ns /dev/nvme0n1 +------------ ++ + +* If using the character device or overriding namespace id: ++ +------------ +# nvme nvm-id-ns /dev/nvme0 -n 1 +# nvme nvm-id-ns /dev/nvme0n1 -n 1 +# nvme nvm-id-ns /dev/nvme0 --namespace-id=1 +------------ ++ +* Have the program return the raw structure in binary: ++ +------------ +# nvme nvm-id-ns /dev/nvme0n1 -o binary > id_ns.raw +# nvme nvm-id-ns /dev/nvme0n1 --output-format=binary > id_ns.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +* Alternatively you may want to send the data to another program that +can parse the raw buffer. ++ +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-nvme-mi-recv.1 b/Documentation/nvme-nvme-mi-recv.1 new file mode 100644 index 0000000..789d620 --- /dev/null +++ b/Documentation/nvme-nvme-mi-recv.1 @@ -0,0 +1,124 @@ +'\" t +.\" Title: nvme-nvme-mi-recv +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-NVME\-MI\-RECV" "1" "02/14/2024" "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-nvme-mi-recv \- Send a NVMe\-MI Receive command to the specified device +.SH "SYNOPSIS" +.sp +.nf +\fInvme nvme\-mi\-recv\fR [\-\-opcode= | \-O ] + [\-\-namespace\-id= | \-n ] + [\-\-data\-len= | \-l ] + [\-\-nmimt= | \-m ] + [\-\-nmd0= | \-0 ] [\-\-nmd1= | \-1 ] + [\-\-input\-file= | \-i ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Send a NVMe\-MI Receive command to the specified device, return results\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1)\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.PP +\-O , \-\-opcode= +.RS 4 +The NVMe\-MI opcode to send to the device in the command +.RE +.PP +\-n , \-\-namespace\-id= +.RS 4 +The value for the ns\-id in the command\&. +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +The data length for the buffer used for this command\&. +.RE +.PP +\-m , \-\-nmimt= +.RS 4 +The value for the NVMe\-MI message type in the command\&. +.RE +.PP +\-0 , \-\-nmd0= +.RS 4 +The value for the NVMe management request dword 0 in the command\&. +.RE +.PP +\-1 , \-\-nmd1= +.RS 4 +The value for the NVMe management request dword 1 in the command\&. +.RE +.PP +\-i , \-\-input\-file= +.RS 4 +If the command is a data\-out (write) command, use this file to fill the buffer sent to the device\&. If no file is given, assumed to use STDIN\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program issue a nvme\-mi\-recv to execute the VPD read\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme nvme\-mi\-recv /dev/nvme0n1 \-O 5 \-m 1 \-0 0 \-1 0x100 \-l 256 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-nvme-mi-recv.html b/Documentation/nvme-nvme-mi-recv.html new file mode 100644 index 0000000..758e4fc --- /dev/null +++ b/Documentation/nvme-nvme-mi-recv.html @@ -0,0 +1,912 @@ + + + + + + +nvme-nvme-mi-recv(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme nvme-mi-recv <device> [--opcode=<opcode> | -O <opcode>]
+                        [--namespace-id=<nsid> | -n <nsid>]
+                        [--data-len=<data-len> | -l <data-len>]
+                        [--nmimt=<nmimt> | -m <nmimt>]
+                        [--nmd0=<nmd0> | -0 <nmd0>] [--nmd1=<nmd1> | -1 <nmd1>]
+                        [--input-file=<file> | -i <file>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Send a NVMe-MI Receive command to the specified device, return results.

+

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

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

+
+
+
+-O <opcode> +
+
+--opcode=<opcode> +
+
+

+ The NVMe-MI opcode to send to the device in the command +

+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ The value for the ns-id in the command. +

+
+
+-l <data-len> +
+
+--data-len=<data-len> +
+
+

+ The data length for the buffer used for this command. +

+
+
+-m <nmimt> +
+
+--nmimt=<nmimt> +
+
+

+ The value for the NVMe-MI message type in the command. +

+
+
+-0 <nmd0> +
+
+--nmd0=<nmd0> +
+
+

+ The value for the NVMe management request dword 0 in the command. +

+
+
+-1 <nmd1> +
+
+--nmd1=<nmd1> +
+
+

+ The value for the NVMe management request dword 1 in the command. +

+
+
+-i <file> +
+
+--input-file=<file> +
+
+

+ If the command is a data-out (write) command, use this file + to fill the buffer sent to the device. If no file is given, + assumed to use STDIN. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program issue a nvme-mi-recv to execute the VPD read. +

    +
    +
    +
    # nvme nvme-mi-recv /dev/nvme0n1 -O 5 -m 1 -0 0 -1 0x100 -l 256
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-nvme-mi-recv.txt b/Documentation/nvme-nvme-mi-recv.txt new file mode 100755 index 0000000..152bbe6 --- /dev/null +++ b/Documentation/nvme-nvme-mi-recv.txt @@ -0,0 +1,79 @@ +nvme-nvme-mi-recv(1) +==================== + +NAME +---- +nvme-nvme-mi-recv - Send a NVMe-MI Receive command to the specified device + +SYNOPSIS +-------- +[verse] +'nvme nvme-mi-recv' [--opcode= | -O ] + [--namespace-id= | -n ] + [--data-len= | -l ] + [--nmimt= | -m ] + [--nmd0= | -0 ] [--nmd1= | -1 ] + [--input-file= | -i ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Send a NVMe-MI Receive command to the specified device, return results. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-O :: +--opcode=:: + The NVMe-MI opcode to send to the device in the command + +-n :: +--namespace-id=:: + The value for the ns-id in the command. + +-l :: +--data-len=:: + The data length for the buffer used for this command. + +-m :: +--nmimt=:: + The value for the NVMe-MI message type in the command. + +-0 :: +--nmd0=:: + The value for the NVMe management request dword 0 in the command. + +-1 :: +--nmd1=:: + The value for the NVMe management request dword 1 in the command. + +-i :: +--input-file=:: + If the command is a data-out (write) command, use this file + to fill the buffer sent to the device. If no file is given, + assumed to use STDIN. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program issue a nvme-mi-recv to execute the VPD read. ++ +------------ +# nvme nvme-mi-recv /dev/nvme0n1 -O 5 -m 1 -0 0 -1 0x100 -l 256 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-nvme-mi-send.1 b/Documentation/nvme-nvme-mi-send.1 new file mode 100644 index 0000000..31317d8 --- /dev/null +++ b/Documentation/nvme-nvme-mi-send.1 @@ -0,0 +1,124 @@ +'\" t +.\" Title: nvme-nvme-mi-send +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-NVME\-MI\-SEND" "1" "02/14/2024" "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-nvme-mi-send \- Send a NVMe\-MI Send command to the specified device +.SH "SYNOPSIS" +.sp +.nf +\fInvme nvme\-mi\-send\fR [\-\-opcode= | \-O ] + [\-\-namespace\-id= | \-n ] + [\-\-data\-len= | \-l ] + [\-\-nmimt= | \-m ] + [\-\-nmd0= | \-0 ] [\-\-nmd1= | \-1 ] + [\-\-input\-file= | \-i ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Send a NVMe\-MI Send command to the specified device, return results\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1)\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.PP +\-O , \-\-opcode= +.RS 4 +The NVMe\-MI opcode to send to the device in the command +.RE +.PP +\-n , \-\-namespace\-id= +.RS 4 +The value for the ns\-id in the command\&. +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +The data length for the buffer used for this command\&. +.RE +.PP +\-m , \-\-nmimt= +.RS 4 +The value for the NVMe\-MI message type in the command\&. +.RE +.PP +\-0 , \-\-nmd0= +.RS 4 +The value for the NVMe management request dword 0 in the command\&. +.RE +.PP +\-1 , \-\-nmd1= +.RS 4 +The value for the NVMe management request dword 1 in the command\&. +.RE +.PP +\-i , \-\-input\-file= +.RS 4 +If the command is a data\-out (write) command, use this file to fill the buffer sent to the device\&. If no file is given, assumed to use STDIN\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program issue a nvme\-mi\-send to execute the VPD write\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme nvme\-mi\-send /dev/nvme0n1 \-O 6 \-m 1 \-0 0 \-1 0x100 \-l 256 \-i vpd\&.bin +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-nvme-mi-send.html b/Documentation/nvme-nvme-mi-send.html new file mode 100644 index 0000000..85aef3a --- /dev/null +++ b/Documentation/nvme-nvme-mi-send.html @@ -0,0 +1,912 @@ + + + + + + +nvme-nvme-mi-send(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme nvme-mi-send <device> [--opcode=<opcode> | -O <opcode>]
+                        [--namespace-id=<nsid> | -n <nsid>]
+                        [--data-len=<data-len> | -l <data-len>]
+                        [--nmimt=<nmimt> | -m <nmimt>]
+                        [--nmd0=<nmd0> | -0 <nmd0>] [--nmd1=<nmd1> | -1 <nmd1>]
+                        [--input-file=<file> | -i <file>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Send a NVMe-MI Send command to the specified device, return results.

+

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

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

+
+
+
+-O <opcode> +
+
+--opcode=<opcode> +
+
+

+ The NVMe-MI opcode to send to the device in the command +

+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ The value for the ns-id in the command. +

+
+
+-l <data-len> +
+
+--data-len=<data-len> +
+
+

+ The data length for the buffer used for this command. +

+
+
+-m <nmimt> +
+
+--nmimt=<nmimt> +
+
+

+ The value for the NVMe-MI message type in the command. +

+
+
+-0 <nmd0> +
+
+--nmd0=<nmd0> +
+
+

+ The value for the NVMe management request dword 0 in the command. +

+
+
+-1 <nmd1> +
+
+--nmd1=<nmd1> +
+
+

+ The value for the NVMe management request dword 1 in the command. +

+
+
+-i <file> +
+
+--input-file=<file> +
+
+

+ If the command is a data-out (write) command, use this file + to fill the buffer sent to the device. If no file is given, + assumed to use STDIN. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program issue a nvme-mi-send to execute the VPD write. +

    +
    +
    +
    # nvme nvme-mi-send /dev/nvme0n1 -O 6 -m 1 -0 0 -1 0x100 -l 256 -i vpd.bin
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-nvme-mi-send.txt b/Documentation/nvme-nvme-mi-send.txt new file mode 100755 index 0000000..0e80fe7 --- /dev/null +++ b/Documentation/nvme-nvme-mi-send.txt @@ -0,0 +1,79 @@ +nvme-nvme-mi-send(1) +==================== + +NAME +---- +nvme-nvme-mi-send - Send a NVMe-MI Send command to the specified device + +SYNOPSIS +-------- +[verse] +'nvme nvme-mi-send' [--opcode= | -O ] + [--namespace-id= | -n ] + [--data-len= | -l ] + [--nmimt= | -m ] + [--nmd0= | -0 ] [--nmd1= | -1 ] + [--input-file= | -i ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Send a NVMe-MI Send command to the specified device, return results. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-O :: +--opcode=:: + The NVMe-MI opcode to send to the device in the command + +-n :: +--namespace-id=:: + The value for the ns-id in the command. + +-l :: +--data-len=:: + The data length for the buffer used for this command. + +-m :: +--nmimt=:: + The value for the NVMe-MI message type in the command. + +-0 :: +--nmd0=:: + The value for the NVMe management request dword 0 in the command. + +-1 :: +--nmd1=:: + The value for the NVMe management request dword 1 in the command. + +-i :: +--input-file=:: + If the command is a data-out (write) command, use this file + to fill the buffer sent to the device. If no file is given, + assumed to use STDIN. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program issue a nvme-mi-send to execute the VPD write. ++ +------------ +# nvme nvme-mi-send /dev/nvme0n1 -O 6 -m 1 -0 0 -1 0x100 -l 256 -i vpd.bin +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-clear-fw-activate-history.1 b/Documentation/nvme-ocp-clear-fw-activate-history.1 new file mode 100644 index 0000000..29e9e95 --- /dev/null +++ b/Documentation/nvme-ocp-clear-fw-activate-history.1 @@ -0,0 +1,78 @@ +'\" t +.\" Title: nvme-ocp-clear-fw-activate-history +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-OCP\-CLEAR\-FW" "1" "02/14/2024" "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-ocp-clear-fw-activate-history \- Clear the OCP Firmware Update History Log +.SH "SYNOPSIS" +.sp +.nf +\fInvme ocp clear\-fw\-activate\-history\fR [\-\-no\-uuid | \-n] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, Clear OCP Firmware Update History Log\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1)\&. +.sp +This command with no option added, will try to automatically detect the parameters of the command\&. This will work successfully or fail gracefully for devices supporting UUID for Vendor Specific Information (NVMe 1\&.4 or later, OCP 2\&.0 requires NVMe 1\&.4b)\&. For devices that do not support OCP 2\&.0 the command will fail gracefully, unless the \-\-no\-uuid option is provided\&. +.sp +For OCP 1\&.0 devices (before NVMe 1\&.4) the \-\-no\-uuid option is required\&. When \-\-no\-uuid option is provided, results for devices before NVMe 1\&.4 without OCP support are undefined\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.PP +\-n, \-\-no\-uuid +.RS 4 +Do not try to automatically detect UUID index for this command (required for old OCP 1\&.0 support) +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Clears OCP Firmware Activation History Log for the device: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme ocp clear\-fw\-activate\-history /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-ocp-clear-fw-activate-history.html b/Documentation/nvme-ocp-clear-fw-activate-history.html new file mode 100644 index 0000000..a2035db --- /dev/null +++ b/Documentation/nvme-ocp-clear-fw-activate-history.html @@ -0,0 +1,824 @@ + + + + + + +nvme-ocp-clear-fw-activate-history(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme ocp clear-fw-activate-history <device> [--no-uuid | -n]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, Clear OCP Firmware Update History Log.

+

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

+

This command with no option added, will try to automatically detect the +parameters of the command. This will work successfully or fail gracefully for +devices supporting UUID for Vendor Specific Information (NVMe 1.4 or later, +OCP 2.0 requires NVMe 1.4b). For devices that do not support OCP 2.0 the +command will fail gracefully, unless the --no-uuid option is provided.

+

For OCP 1.0 devices (before NVMe 1.4) the --no-uuid option is required. +When --no-uuid option is provided, results for devices before NVMe 1.4 without +OCP support are undefined.

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

+
+
+
+-n +
+
+--no-uuid +
+
+

+ Do not try to automatically detect UUID index for this command (required + for old OCP 1.0 support) +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Clears OCP Firmware Activation History Log for the device: +

    +
    +
    +
    # nvme ocp clear-fw-activate-history /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-ocp-clear-fw-activate-history.txt b/Documentation/nvme-ocp-clear-fw-activate-history.txt new file mode 100644 index 0000000..335a228 --- /dev/null +++ b/Documentation/nvme-ocp-clear-fw-activate-history.txt @@ -0,0 +1,49 @@ +nvme-ocp-clear-fw-activate-history(1) +===================================== + +NAME +---- +nvme-ocp-clear-fw-activate-history - Clear the OCP Firmware Update History Log + +SYNOPSIS +-------- +[verse] +'nvme ocp clear-fw-activate-history' [--no-uuid | -n] + +DESCRIPTION +----------- +For the NVMe device given, Clear OCP Firmware Update History Log. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This command with no option added, will try to automatically detect the +parameters of the command. This will work successfully or fail gracefully for +devices supporting UUID for Vendor Specific Information (NVMe 1.4 or later, +OCP 2.0 requires NVMe 1.4b). For devices that do not support OCP 2.0 the +command will fail gracefully, unless the --no-uuid option is provided. + +For OCP 1.0 devices (before NVMe 1.4) the --no-uuid option is required. +When --no-uuid option is provided, results for devices before NVMe 1.4 without +OCP support are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-n:: +--no-uuid:: + Do not try to automatically detect UUID index for this command (required + for old OCP 1.0 support) + +EXAMPLES +-------- +* Clears OCP Firmware Activation History Log for the device: ++ +------------ +# nvme ocp clear-fw-activate-history /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. \ No newline at end of file diff --git a/Documentation/nvme-ocp-clear-pcie-correctable-error-counters.1 b/Documentation/nvme-ocp-clear-pcie-correctable-error-counters.1 new file mode 100644 index 0000000..9652db5 --- /dev/null +++ b/Documentation/nvme-ocp-clear-pcie-correctable-error-counters.1 @@ -0,0 +1,78 @@ +'\" t +.\" Title: nvme-ocp-clear-pcie-correctable-error-counters +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-OCP\-CLEAR\-PC" "1" "02/14/2024" "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-ocp-clear-pcie-correctable-error-counters \- Clear PCIe correctable error counters +.SH "SYNOPSIS" +.sp +.nf +\fInvme ocp clear\-pcie\-correctable\-error\-counters\fR [\-\-no\-uuid | \-n] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, Clear PCIe correctable error counters\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1)\&. +.sp +This command with no option added, will try to automatically detect the parameters of the command\&. This will work successfully or fail gracefully for devices supporting UUID for Vendor Specific Information (NVMe 1\&.4 or later, OCP 2\&.0 requires NVMe 1\&.4b)\&. For devices that do not support OCP 2\&.0 the command will fail gracefully, unless the \-\-no\-uuid option is provided\&. +.sp +For OCP 1\&.0 devices (before NVMe 1\&.4) the \-\-no\-uuid option is required\&. When \-\-no\-uuid option is provided, results for devices before NVMe 1\&.4 without OCP support are undefined\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.PP +\-n, \-\-no\-uuid +.RS 4 +Do not try to automatically detect UUID index for this command (required for old OCP 1\&.0 support) +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Clears PCIe correctable error counters Log for the device: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme ocp clear\-pcie\-correctable\-error\-counters /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-ocp-clear-pcie-correctable-error-counters.html b/Documentation/nvme-ocp-clear-pcie-correctable-error-counters.html new file mode 100644 index 0000000..c05eb8d --- /dev/null +++ b/Documentation/nvme-ocp-clear-pcie-correctable-error-counters.html @@ -0,0 +1,824 @@ + + + + + + +nvme-ocp-clear-pcie-correctable-error-counters(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme ocp clear-pcie-correctable-error-counters <device> [--no-uuid | -n]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, Clear PCIe correctable error counters.

+

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

+

This command with no option added, will try to automatically detect the +parameters of the command. This will work successfully or fail gracefully for +devices supporting UUID for Vendor Specific Information (NVMe 1.4 or later, +OCP 2.0 requires NVMe 1.4b). For devices that do not support OCP 2.0 the +command will fail gracefully, unless the --no-uuid option is provided.

+

For OCP 1.0 devices (before NVMe 1.4) the --no-uuid option is required. +When --no-uuid option is provided, results for devices before NVMe 1.4 without +OCP support are undefined.

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

+
+
+
+-n +
+
+--no-uuid +
+
+

+ Do not try to automatically detect UUID index for this command (required + for old OCP 1.0 support) +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Clears PCIe correctable error counters Log for the device: +

    +
    +
    +
    # nvme ocp clear-pcie-correctable-error-counters /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-ocp-clear-pcie-correctable-error-counters.txt b/Documentation/nvme-ocp-clear-pcie-correctable-error-counters.txt new file mode 100644 index 0000000..3d5706d --- /dev/null +++ b/Documentation/nvme-ocp-clear-pcie-correctable-error-counters.txt @@ -0,0 +1,49 @@ +nvme-ocp-clear-pcie-correctable-error-counters(1) +================================================= + +NAME +---- +nvme-ocp-clear-pcie-correctable-error-counters - Clear PCIe correctable error counters + +SYNOPSIS +-------- +[verse] +'nvme ocp clear-pcie-correctable-error-counters' [--no-uuid | -n] + +DESCRIPTION +----------- +For the NVMe device given, Clear PCIe correctable error counters. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This command with no option added, will try to automatically detect the +parameters of the command. This will work successfully or fail gracefully for +devices supporting UUID for Vendor Specific Information (NVMe 1.4 or later, +OCP 2.0 requires NVMe 1.4b). For devices that do not support OCP 2.0 the +command will fail gracefully, unless the --no-uuid option is provided. + +For OCP 1.0 devices (before NVMe 1.4) the --no-uuid option is required. +When --no-uuid option is provided, results for devices before NVMe 1.4 without +OCP support are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-n:: +--no-uuid:: + Do not try to automatically detect UUID index for this command (required + for old OCP 1.0 support) + +EXAMPLES +-------- +* Clears PCIe correctable error counters Log for the device: ++ +------------ +# nvme ocp clear-pcie-correctable-error-counters /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-device-capability-log.txt b/Documentation/nvme-ocp-device-capability-log.txt new file mode 100644 index 0000000..d2f0761 --- /dev/null +++ b/Documentation/nvme-ocp-device-capability-log.txt @@ -0,0 +1,42 @@ +nvme-ocp-device-capability-log(1) +================================= + +NAME +---- +nvme-ocp-device-capability-log - Retrieves OCP Device Capability Log Page + +SYNOPSIS +-------- +[verse] +'nvme ocp device-capability-log' [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, retrieves OCP Device Capability Log Page + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on OCP compliant devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal' or 'json' or 'binary'. + Only one output format can be used at a time. The default is normal. + +EXAMPLES +-------- +* Has the program issue a device-capability-log command to retrieve the 0xC4 log page. ++ +------------ +# nvme ocp device-capability-log /dev/nvme0 -o normal +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-eol-plp-failure-mode.1 b/Documentation/nvme-ocp-eol-plp-failure-mode.1 new file mode 100644 index 0000000..dbefc04 --- /dev/null +++ b/Documentation/nvme-ocp-eol-plp-failure-mode.1 @@ -0,0 +1,137 @@ +'\" t +.\" Title: nvme-ocp-eol-plp-failure-mode +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-OCP\-EOL\-PLP\" "1" "02/14/2024" "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-ocp-eol-plp-failure-mode \- Define and print EOL or PLP circuitry failure mode +.SH "SYNOPSIS" +.sp +.nf +\fInvme ocp eol\-plp\-failure\-mode\fR [\-\-mode= | \-m ] + [\-\-no\-uuid | \-n] [\-\-save | \-s] + [\-\-sel=] +.fi +.SH "DESCRIPTION" +.sp +Define EOL or PLP circuitry failure mode\&. No argument prints current mode\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1)\&. +.sp +This will only work on OCP compliant devices supporting this feature\&. Results for any other device are undefined\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.PP +\-m , \-\-mode= +.RS 4 +Set the EOL or PLP circuitry failure mode to [0\-3] (\fI0: default\fR, +\fI1: rom\fR, +\fI2: wtm\fR +or +\fI3: normal\fR)\&. Only one mode can be used at a time\&. The default is rom\&. +.RE +.PP +\-n, \-\-no\-uuid +.RS 4 +Do not try to automatically detect UUID index for this command (required for old OCP 1\&.0 support) +.RE +.PP +\-s, \-\-save +.RS 4 +Save the attribute so that it persists through all power states and resets\&. +.RE +.PP +\-s +.RS 4 +Select (SEL): This field specifies which value of the attributes to return in the provided data: +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Select +T}:T{ +Description +T} +T{ +0 +T}:T{ +Current +T} +T{ +1 +T}:T{ +Default +T} +T{ +2 +T}:T{ +Saved +T} +T{ +3 +T}:T{ +Supported capabilities +T} +T{ +4\-7 +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program issue a eol\-plp\-failure\-mode to retrieve the 0xC2 get features\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme ocp eol\-plp\-failure\-mode /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-ocp-eol-plp-failure-mode.html b/Documentation/nvme-ocp-eol-plp-failure-mode.html new file mode 100644 index 0000000..ce22f5f --- /dev/null +++ b/Documentation/nvme-ocp-eol-plp-failure-mode.html @@ -0,0 +1,893 @@ + + + + + + +nvme-ocp-eol-plp-failure-mode(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme ocp eol-plp-failure-mode <device> [--mode=<mode> | -m <mode>]
+                        [--no-uuid | -n] [--save | -s]
+                        [--sel=<select> | -s <select>]
+
+
+
+
+
+

DESCRIPTION

+
+

Define EOL or PLP circuitry failure mode. +No argument prints current mode.

+

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

+

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

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

+
+
+
+-m <mode> +
+
+--mode=<mode> +
+
+

+ Set the EOL or PLP circuitry failure mode to [0-3] (0: default, + 1: rom, 2: wtm or 3: normal). Only one mode + can be used at a time. The default is rom. +

+
+
+-n +
+
+--no-uuid +
+
+

+ Do not try to automatically detect UUID index for this command (required + for old OCP 1.0 support) +

+
+
+-s +
+
+--save +
+
+

+ Save the attribute so that it persists through all power states and + resets. +

+
+
+-s <select> +
+
+--sel=<select> +
+
+

+ Select (SEL): This field specifies which value of the attributes + to return in the provided data: +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + +

Select

Description

0

Current

1

Default

2

Saved

3

Supported capabilities

4-7

Reserved

+
+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program issue a eol-plp-failure-mode to retrieve the 0xC2 get features. +

    +
    +
    +
    # nvme ocp eol-plp-failure-mode /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-ocp-eol-plp-failure-mode.txt b/Documentation/nvme-ocp-eol-plp-failure-mode.txt new file mode 100644 index 0000000..0ebc4ab --- /dev/null +++ b/Documentation/nvme-ocp-eol-plp-failure-mode.txt @@ -0,0 +1,72 @@ +nvme-ocp-eol-plp-failure-mode(1) +================================ + +NAME +---- +nvme-ocp-eol-plp-failure-mode - Define and print EOL or PLP circuitry failure +mode + +SYNOPSIS +-------- +[verse] +'nvme ocp eol-plp-failure-mode' [--mode= | -m ] + [--no-uuid | -n] [--save | -s] + [--sel=] + +DESCRIPTION +----------- +Define EOL or PLP circuitry failure mode. +No argument prints current mode. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on OCP compliant devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-m :: +--mode=:: + Set the EOL or PLP circuitry failure mode to [0-3] ('0: default', + '1: rom', '2: wtm' or '3: normal'). Only one mode + can be used at a time. The default is rom. + +-n:: +--no-uuid:: + Do not try to automatically detect UUID index for this command (required + for old OCP 1.0 support) + +-s:: +--save:: + Save the attribute so that it persists through all power states and + resets. + +-s :: + Select (SEL): This field specifies which value of the attributes + to return in the provided data: ++ +[] +|================== +|Select|Description +|0|Current +|1|Default +|2|Saved +|3|Supported capabilities +|4-7|Reserved +|================== + +EXAMPLES +-------- +* Has the program issue a eol-plp-failure-mode to retrieve the 0xC2 get features. ++ +------------ +# nvme ocp eol-plp-failure-mode /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-error-recovery-log.txt b/Documentation/nvme-ocp-error-recovery-log.txt new file mode 100644 index 0000000..7a26150 --- /dev/null +++ b/Documentation/nvme-ocp-error-recovery-log.txt @@ -0,0 +1,42 @@ +nvme-ocp-error-recovery-log(1) +============================== + +NAME +---- +nvme-ocp-error-recovery-log - Retrieves OCP Error Recovery Log Page + +SYNOPSIS +-------- +[verse] +'nvme ocp error-recovery-log' [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, retrieves OCP Error Recovery Log Page + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on OCP compliant devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal' or 'json' or 'binary'. + Only one output format can be used at a time. The default is normal. + +EXAMPLES +-------- +* Has the program issue a error-recovery-log command to retrieve the 0xC1 log page. ++ +------------ +# nvme ocp error-recovery-log /dev/nvme0 -o normal +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-get-plp-health-check-interval.txt b/Documentation/nvme-ocp-get-plp-health-check-interval.txt new file mode 100644 index 0000000..7ecd5d5 --- /dev/null +++ b/Documentation/nvme-ocp-get-plp-health-check-interval.txt @@ -0,0 +1,54 @@ +nvme-ocp-get-plp-health-check-interval(1) +================================ + +NAME +---- +nvme-ocp-get-plp-health-check-interval - Define and print plp-health-check-interval value + +SYNOPSIS +-------- +[verse] +'nvme ocp get-plp-health-check-interval' [--sel=] + +DESCRIPTION +----------- +Define plp-health-check-interval. +No argument prints current mode. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on OCP compliant devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- + +-s :: + Select (SEL): This field specifies which value of the attributes + to return in the provided data: ++ +[] +|================== +|Select|Description +|0|Current +|1|Default +|2|Saved +|3|Supported capabilities +|4-7|Reserved +|================== + +EXAMPLES +-------- +* Has the program issue a get-plp-health-check-interval to retrieve the 0xC6 get features. ++ +------------ +# nvme ocp get-plp-health-check-interval /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-latency-monitor-log.1 b/Documentation/nvme-ocp-latency-monitor-log.1 new file mode 100644 index 0000000..7fa607e --- /dev/null +++ b/Documentation/nvme-ocp-latency-monitor-log.1 @@ -0,0 +1,79 @@ +'\" t +.\" Title: nvme-ocp-latency-monitor-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-OCP\-LATENCY\-" "1" "02/14/2024" "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-ocp-latency-monitor-log \- Display latency monitor log page data in human readable format +.SH "SYNOPSIS" +.sp +.nf +\fInvme ocp latency\-monitor\-log\fR [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, latency monitor log page data\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1)\&. +.sp +This will only work on OCP compliant devices supporting this log page\&. Results for any other device are undefined\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR +or +\fIjson\fR\&. Only one output format can be used at a time\&. The default is normal\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Displays the get latency monitor log for the device: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme ocp latency\-monitor\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-ocp-latency-monitor-log.html b/Documentation/nvme-ocp-latency-monitor-log.html new file mode 100644 index 0000000..a6cae12 --- /dev/null +++ b/Documentation/nvme-ocp-latency-monitor-log.html @@ -0,0 +1,818 @@ + + + + + + +nvme-ocp-latency-monitor-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme ocp latency-monitor-log <device> [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, latency monitor log page data.

+

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

+

This will only work on OCP compliant devices supporting this log page. +Results for any other device are undefined.

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

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

+ Set the reporting format to normal or json. Only one output format + can be used at a time. The default is normal. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Displays the get latency monitor log for the device: +

    +
    +
    +
    # nvme ocp latency-monitor-log /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-ocp-latency-monitor-log.txt b/Documentation/nvme-ocp-latency-monitor-log.txt new file mode 100644 index 0000000..a67c523 --- /dev/null +++ b/Documentation/nvme-ocp-latency-monitor-log.txt @@ -0,0 +1,44 @@ +nvme-ocp-latency-monitor-log(1) +=============================== + +NAME +---- +nvme-ocp-latency-monitor-log - Display latency monitor log page data in human +readable format + +SYNOPSIS +-------- +[verse] +'nvme ocp latency-monitor-log' [--output-format= | -o ] + +DESCRIPTION +----------- + +For the NVMe device given, latency monitor log page data. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on OCP compliant devices supporting this log page. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal' or 'json'. Only one output format + can be used at a time. The default is normal. + +EXAMPLES +-------- +* Displays the get latency monitor log for the device: ++ +------------ +# nvme ocp latency-monitor-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-set-dssd-power-state-feature.txt b/Documentation/nvme-ocp-set-dssd-power-state-feature.txt new file mode 100644 index 0000000..c9ae578 --- /dev/null +++ b/Documentation/nvme-ocp-set-dssd-power-state-feature.txt @@ -0,0 +1,43 @@ +set-dssd-power-state-feature(1) +=============================== + +NAME +---- +nvme-ocp-set-dssd-power-state-feature - Set DSSD Power State + +SYNOPSIS +-------- +[verse] +'nvme ocp set-dssd-power-state-feature' + [--power-state= | -p ] [--no-uuid | -n] + [--save | -s] + +DESCRIPTION +----------- +For the NVMe device given, retrieves OCP DSSD Power state Feature + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on OCP compliant devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-p :: +--power-state=:: + DSSD Power State to set in watts. + +EXAMPLES +-------- +* Has the program issue a set-dssd-power-state-feature command to set DSSD Power State to set in watts. ++ +------------ +# nvme ocp set-dssd-power-state-feature /dev/nvme0 -p -s -n +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-set-plp-health-check-interval.txt b/Documentation/nvme-ocp-set-plp-health-check-interval.txt new file mode 100644 index 0000000..ac3acb3 --- /dev/null +++ b/Documentation/nvme-ocp-set-plp-health-check-interval.txt @@ -0,0 +1,53 @@ +nvme-ocp-set-plp-health-check-interval(1) +================================ + +NAME +---- +nvme-ocp-set-plp-health-check-interval - Define and set PLP health check interval + +SYNOPSIS +-------- +[verse] +'nvme ocp set-plp-health-check-interval' [--plp_health_interval= | -p ] [--save | -s] [--no-uuid | -n] + + +DESCRIPTION +----------- +Define Set PLP health check interval. +No argument prints current mode. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on OCP compliant devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-p :: +--plp_health_interval=:: + Set the plp health check interval [31:16] + +-n:: +--no-uuid:: + Do not try to automatically detect UUID index for this command (required + for old OCP 1.0 support) + +-s:: +--save:: + Save the attribute so that it persists through all power states and resets. + + +EXAMPLES +-------- +* Has the program issue a set-plp-health-check-interval to retrieve the 0xC6 set features. ++ +------------ +# nvme ocp eol-plp-failure-mode /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-smart-add-log.1 b/Documentation/nvme-ocp-smart-add-log.1 new file mode 100644 index 0000000..092321e --- /dev/null +++ b/Documentation/nvme-ocp-smart-add-log.1 @@ -0,0 +1,79 @@ +'\" t +.\" Title: nvme-ocp-smart-add-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-OCP\-SMART\-AD" "1" "02/14/2024" "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-ocp-smart-add-log \- Retrieves Extended SMART information of given OCP compliant device +.SH "SYNOPSIS" +.sp +.nf +\fInvme ocp smart\-add\-log\fR [\-\-output\-format= | \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, send a smart\-add\-log command and provide the additional smart log\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1)\&. +.sp +This will only work on OCP compliant devices supporting this feature\&. Results for any other device are undefined\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR +or +\fIjson\fR\&. Only one output format can be used at a time\&. The default is normal\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program issue a smart\-add\-log command to retrieve the 0xC0 log page\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme ocp smart\-add\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-ocp-smart-add-log.html b/Documentation/nvme-ocp-smart-add-log.html new file mode 100644 index 0000000..fa10b95 --- /dev/null +++ b/Documentation/nvme-ocp-smart-add-log.html @@ -0,0 +1,819 @@ + + + + + + +nvme-ocp-smart-add-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme ocp smart-add-log <device> [--output-format=<fmt> | -o <fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, send a smart-add-log command and +provide the additional smart log.

+

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

+

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

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

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

+ Set the reporting format to normal or json. Only one output format + can be used at a time. The default is normal. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program issue a smart-add-log command to retrieve the 0xC0 log page. +

    +
    +
    +
    # nvme ocp smart-add-log /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-ocp-smart-add-log.txt b/Documentation/nvme-ocp-smart-add-log.txt new file mode 100644 index 0000000..66a55a9 --- /dev/null +++ b/Documentation/nvme-ocp-smart-add-log.txt @@ -0,0 +1,44 @@ +nvme-ocp-smart-add-log(1) +========================= + +NAME +---- +nvme-ocp-smart-add-log - Retrieves Extended SMART information of given OCP +compliant device + +SYNOPSIS +-------- +[verse] +'nvme ocp smart-add-log' [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, send a smart-add-log command and +provide the additional smart log. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on OCP compliant devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal' or 'json'. Only one output format + can be used at a time. The default is normal. + +EXAMPLES +-------- +* Has the program issue a smart-add-log command to retrieve the 0xC0 log page. ++ +------------ +# nvme ocp smart-add-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-telemetry-string-log-page.txt b/Documentation/nvme-ocp-telemetry-string-log-page.txt new file mode 100644 index 0000000..76349ed --- /dev/null +++ b/Documentation/nvme-ocp-telemetry-string-log-page.txt @@ -0,0 +1,43 @@ +nvme-ocp-telemetry-string-log-page(1) +===================================== + +NAME +---- +nvme-ocp-telemetry-string-log-page - Retrieve OCP Telemetry String Log page + +SYNOPSIS +-------- +[verse] +'nvme ocp telemetry-str-log' [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, Retrieve OCP Telemetry String Log page + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on OCP compliant devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +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. + + +EXAMPLES +-------- +* Has the program issue a telemetry-string-log command to get the log page data from bin file. ++ +------------ +# nvme ocp telemetry-string-log /dev/nvme0n1 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-ocp-unsupported-reqs-log-pages.txt b/Documentation/nvme-ocp-unsupported-reqs-log-pages.txt new file mode 100644 index 0000000..1657f6a --- /dev/null +++ b/Documentation/nvme-ocp-unsupported-reqs-log-pages.txt @@ -0,0 +1,45 @@ +unsupported-reqs-log +==================== + +NAME +---- +unsupported-reqs-log - Retrieves unsupported requirements log page of given OCP +compliant device + +SYNOPSIS +-------- +[verse] +'nvme ocp unsupported-reqs-log' [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, send a unsupported-reqs-log command and +provide the unsupported requirements log page. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on OCP compliant devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +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. + +EXAMPLES +-------- +* Has the program issue a unsupported-reqs-log command to retrieve the 0xC5 log page. ++ +------------ +# nvme ocp unsupported-reqs-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite \ No newline at end of file diff --git a/Documentation/nvme-persistent-event-log.1 b/Documentation/nvme-persistent-event-log.1 new file mode 100644 index 0000000..4781586 --- /dev/null +++ b/Documentation/nvme-persistent-event-log.1 @@ -0,0 +1,123 @@ +'\" t +.\" Title: persistent-event-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "PERSISTENT\-EVENT\-L" "1" "02/14/2024" "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-persistent-event-log \- Send NVMe persistent event log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme persistent\-event\-log\fR [\-\-action= | \-a ] + [\-\-log\-len= | \-l ] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe persistent event log page from an NVMe device and provides the returned 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 +On success, the returned persistent event log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-a , \-\-action= +.RS 4 +While try to retrieve this log action the controller shall take during processing this persistent log page command\&. This mandatory field, based on the value issued it may Read Log Data, Establish Context and Read Log Data or Release Context can occur\&. For More details see NVM Express 1\&.4 Spec\&. Section 5\&.14\&.1\&.13 Persistent Event Log (Log Identifier 0Dh) +.RE +.PP +\-l , \-\-log\-len= +.RS 4 +Allocates a buffer of bytes size and requests this many bytes be returned in the constructed NVMe command\&. This param is mandatory\&. If given is 0 and action is 0, it will read the Total Log Length(TLL) of the page\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw persistent event log buffer to stdout\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the persistent event log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme persistent\-event\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw persistent event log to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme persistent\-event\-log /dev/nvme0 \-\-raw\-binary > persistent_log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-persistent-event-log.html b/Documentation/nvme-persistent-event-log.html new file mode 100644 index 0000000..f4998f4 --- /dev/null +++ b/Documentation/nvme-persistent-event-log.html @@ -0,0 +1,884 @@ + + + + + + +persistent-event-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme persistent-event-log <device> [--action=<action> | -a <action>]
+                        [--log-len=<log-len> | -l <log-len>] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe persistent event log page from an NVMe device +and provides the returned structure.

+

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

+

On success, the returned persistent event log structure may be returned +in one of several ways depending on the option flags; the structure may +parsed by the program and printed in a readable format or the raw buffer +may be printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-a <action> +
+
+--action=<action> +
+
+

+ While try to retrieve this log action the controller shall take + during processing this persistent log page command. This mandatory + field, based on the value issued it may Read Log Data, Establish + Context and Read Log Data or Release Context can occur. For More + details see NVM Express 1.4 Spec. Section 5.14.1.13 Persistent + Event Log (Log Identifier 0Dh) +

+
+
+-l <log-len> +
+
+--log-len=<log-len> +
+
+

+ Allocates a buffer of <log-len> bytes size and requests this + many bytes be returned in the constructed NVMe command. This + param is mandatory. If <log-len> given is 0 and action is 0, + it will read the Total Log Length(TLL) of the page. +

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

+ Print the raw persistent event log buffer to stdout. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the persistent event log page in a human readable format: +

    +
    +
    +
    # nvme persistent-event-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw persistent event log to a file: +

    +
    +
    +
    # nvme persistent-event-log /dev/nvme0 --raw-binary > persistent_log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-persistent-event-log.txt b/Documentation/nvme-persistent-event-log.txt new file mode 100644 index 0000000..cf1cbad --- /dev/null +++ b/Documentation/nvme-persistent-event-log.txt @@ -0,0 +1,79 @@ +persistent-event-log(1) +======================= + +NAME +---- +nvme-persistent-event-log - Send NVMe persistent event log page request, +returns result and log + +SYNOPSIS +-------- +[verse] +'nvme persistent-event-log' [--action= | -a ] + [--log-len= | -l ] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe persistent event log page from an NVMe device +and provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned persistent event log structure may be returned +in one of several ways depending on the option flags; the structure may +parsed by the program and printed in a readable format or the raw buffer +may be printed to stdout for another program to parse. + +OPTIONS +------- +-a :: +--action=:: + While try to retrieve this log action the controller shall take + during processing this persistent log page command. This mandatory + field, based on the value issued it may Read Log Data, Establish + Context and Read Log Data or Release Context can occur. For More + details see NVM Express 1.4 Spec. Section 5.14.1.13 Persistent + Event Log (Log Identifier 0Dh) + +-l :: +--log-len=:: + Allocates a buffer of bytes size and requests this + many bytes be returned in the constructed NVMe command. This + param is mandatory. If given is 0 and action is 0, + it will read the Total Log Length(TLL) of the page. + +-b:: +--raw-binary:: + Print the raw persistent event log buffer to stdout. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the persistent event log page in a human readable format: ++ +------------ +# nvme persistent-event-log /dev/nvme0 +------------ ++ + +* Print the raw persistent event log to a file: ++ +------------ +# nvme persistent-event-log /dev/nvme0 --raw-binary > persistent_log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-phy-rx-eom-log.txt b/Documentation/nvme-phy-rx-eom-log.txt new file mode 100644 index 0000000..8a31131 --- /dev/null +++ b/Documentation/nvme-phy-rx-eom-log.txt @@ -0,0 +1,68 @@ +nvme-phy-rx-eom-log(1) +====================== + +NAME +---- +nvme-phy-rx-eom-log - Retrieves a Physical Interface Receiver Eye Opening +Measurement log page from an NVMe device + +SYNOPSIS +-------- +[verse] +'nvme phy-rx-eom-log' [--lsp= | -s ] + [--controller= | -c ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves a Physical Interface Receiver Eye Opening Measurement log page from +an NVMe device and provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-s :: +--lsp=:: + The log specified field configuring the controller's action to take + during processing of the command and the measurement quality. + +-c :: +--controller=:: + Controller ID of the controller associated with the PCIe port to be + measured. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or + 'binary'. Only one output format can be used at a time. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Start a best quality measurement and retrieve the log page header ++ +------------ +# nvme phy-rx-eom-log /dev/nvme0 --lsp=10 +------------ + +* Retrieve a finished best quality measurement on controller with ID 3 ++ +------------ +# nvme phy-rx-eom-log /dev/nvme0 --lsp=2 --controller=3 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-pred-lat-event-agg-log.1 b/Documentation/nvme-pred-lat-event-agg-log.1 new file mode 100644 index 0000000..d3e76d9 --- /dev/null +++ b/Documentation/nvme-pred-lat-event-agg-log.1 @@ -0,0 +1,118 @@ +'\" t +.\" Title: nvme-pred-lat-event-agg-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-PRED\-LAT\-EVE" "1" "02/14/2024" "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-pred-lat-event-agg-log \- Send Predictable Latency Event Aggregate Log Page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme pred\-lat\-event\-agg\-log\fR + [\-\-log\-entries= | \-e ] + [\-\-rae | \-r] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Predictable Latency Event Aggregate Log Page from an NVMe device and provides the returned 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 +On success, the returned Predictable Latency Event Aggregate Log Page structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-e , \-\-log\-entries= +.RS 4 +Retrieve the Predictable Latency Event Aggregate Log pending entries\&. This argument is mandatory and its success may depend on the device\(cqs statistics to provide this log For More details see NVM Express 1\&.4 Spec\&. Section 5\&.14\&.1\&.11\&. The maximum number of log entries supported is 2044 for the device\&. +.RE +.PP +\-r, \-\-rae +.RS 4 +Retain an Asynchronous Event\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw Predictable Latency Event Aggregate log buffer to stdout\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the Predictable Latency Event Aggregate Log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme pred\-lat\-event\-agg\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw Predictable Latency Event Aggregate log to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme pred\-lat\-event\-agg\-log /dev/nvme0 \-\-raw\-binary > pred_lat_agg_log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-pred-lat-event-agg-log.html b/Documentation/nvme-pred-lat-event-agg-log.html new file mode 100644 index 0000000..3f18097 --- /dev/null +++ b/Documentation/nvme-pred-lat-event-agg-log.html @@ -0,0 +1,871 @@ + + + + + + +nvme-pred-lat-event-agg-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme pred-lat-event-agg-log <device>
+                        [--log-entries=<log_entries> | -e <log_entries>]
+                        [--rae | -r] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Predictable Latency Event Aggregate Log Page from an +NVMe device and provides the returned structure.

+

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

+

On success, the returned Predictable Latency Event Aggregate Log +Page structure may be returned in one of several ways depending on +the option flags; the structure may parsed by the program and printed +in a readable format or the raw buffer may be printed to stdout for +another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-e <log_entries> +
+
+--log-entries=<log_entries> +
+
+

+ Retrieve the Predictable Latency Event Aggregate Log pending entries. + This argument is mandatory and its success may depend on the device’s + statistics to provide this log For More details see NVM Express 1.4 Spec. + Section 5.14.1.11. The maximum number of log entries supported is 2044 + for the device. +

+
+
+-r +
+
+--rae +
+
+

+ Retain an Asynchronous Event. +

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

+ Print the raw Predictable Latency Event Aggregate log buffer to stdout. +

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

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

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the Predictable Latency Event Aggregate Log page in a human readable format: +

    +
    +
    +
    # nvme pred-lat-event-agg-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw Predictable Latency Event Aggregate log to a file: +

    +
    +
    +
    # nvme pred-lat-event-agg-log /dev/nvme0 --raw-binary > pred_lat_agg_log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-pred-lat-event-agg-log.txt b/Documentation/nvme-pred-lat-event-agg-log.txt new file mode 100644 index 0000000..6fb8acc --- /dev/null +++ b/Documentation/nvme-pred-lat-event-agg-log.txt @@ -0,0 +1,73 @@ +nvme-pred-lat-event-agg-log(1) +============================== + +NAME +---- +nvme-pred-lat-event-agg-log - Send Predictable Latency Event Aggregate Log +Page request, returns result and log + +SYNOPSIS +-------- +[verse] +'nvme pred-lat-event-agg-log' + [--log-entries= | -e ] + [--rae | -r] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe Predictable Latency Event Aggregate Log Page from an +NVMe device and provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned Predictable Latency Event Aggregate Log +Page structure may be returned in one of several ways depending on +the option flags; the structure may parsed by the program and printed +in a readable format or the raw buffer may be printed to stdout for +another program to parse. + +OPTIONS +------- +-e :: +--log-entries=:: + Retrieve the Predictable Latency Event Aggregate Log pending entries. + This argument is mandatory and its success may depend on the device's + statistics to provide this log For More details see NVM Express 1.4 Spec. + Section 5.14.1.11. The maximum number of log entries supported is 2044 + for the device. + +-r:: +--rae:: + Retain an Asynchronous Event. + +-b:: +--raw-binary:: + Print the raw Predictable Latency Event Aggregate log buffer to stdout. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or 'binary'. + Only one output format can be used at a time. + +EXAMPLES +-------- +* Print the Predictable Latency Event Aggregate Log page in a human readable format: ++ +------------ +# nvme pred-lat-event-agg-log /dev/nvme0 +------------ ++ + +* Print the raw Predictable Latency Event Aggregate log to a file: ++ +------------ +# nvme pred-lat-event-agg-log /dev/nvme0 --raw-binary > pred_lat_agg_log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-predictable-lat-log.1 b/Documentation/nvme-predictable-lat-log.1 new file mode 100644 index 0000000..df39fd8 --- /dev/null +++ b/Documentation/nvme-predictable-lat-log.1 @@ -0,0 +1,118 @@ +'\" t +.\" Title: nvme-predictable-lat-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-PREDICTABLE\-L" "1" "02/14/2024" "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-predictable-lat-log \- Send Predictable latency per NVM set log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme predictable\-lat\-log\fR [\-\-nvmset\-id= | \-i ] + [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Predictable latency per NVM set log page from an NVMe device and provides the returned 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 +On success, the returned Predictable latency per NVM set log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-i , \-\-nvmset\-id= +.RS 4 +Retrieve the Predictable latency per NVM set log for the given nvmset id\&. This argument is mandatory and its success may depend on the device\(cqs statistics to provide this log For More details see NVM Express 1\&.4 Spec\&. Section 5\&.14\&.1\&.10\&. The default nvmset id to use is 1 for the device\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw Predictable latency per NVM set log buffer to stdout\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the Predictable latency per NVM set log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme predictable\-lat\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw Predictable latency per NVM set log to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme predictable\-lat\-log /dev/nvme0 \-\-raw\-binary > nvmset_log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-predictable-lat-log.html b/Documentation/nvme-predictable-lat-log.html new file mode 100644 index 0000000..b4f699d --- /dev/null +++ b/Documentation/nvme-predictable-lat-log.html @@ -0,0 +1,868 @@ + + + + + + +nvme-predictable-lat-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme predictable-lat-log <device> [--nvmset-id=<nvmset_id> | -i <nvmset_id>]
+                        [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Predictable latency per NVM set log page from an NVMe device +and provides the returned structure.

+

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

+

On success, the returned Predictable latency per NVM set log structure +may be returned in one of several ways depending on the option flags; the +structure may parsed by the program and printed in a readable format or +the raw buffer may be printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-i <nvmset_id> +
+
+--nvmset-id=<nvmset_id> +
+
+

+ Retrieve the Predictable latency per NVM set log for the given nvmset id. + This argument is mandatory and its success may depend on the device’s + statistics to provide this log For More details see NVM Express 1.4 Spec. + Section 5.14.1.10. The default nvmset id to use is 1 for the device. +

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

+ Print the raw Predictable latency per NVM set log buffer to stdout. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the Predictable latency per NVM set log page in a human readable format: +

    +
    +
    +
    # nvme predictable-lat-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw Predictable latency per NVM set log to a file: +

    +
    +
    +
    # nvme predictable-lat-log /dev/nvme0 --raw-binary > nvmset_log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-predictable-lat-log.txt b/Documentation/nvme-predictable-lat-log.txt new file mode 100644 index 0000000..f0b2ad3 --- /dev/null +++ b/Documentation/nvme-predictable-lat-log.txt @@ -0,0 +1,70 @@ +nvme-predictable-lat-log(1) +=========================== + +NAME +---- +nvme-predictable-lat-log - Send Predictable latency per NVM set log page request, +returns result and log + +SYNOPSIS +-------- +[verse] +'nvme predictable-lat-log' [--nvmset-id= | -i ] + [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe Predictable latency per NVM set log page from an NVMe device +and provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned Predictable latency per NVM set log structure +may be returned in one of several ways depending on the option flags; the +structure may parsed by the program and printed in a readable format or +the raw buffer may be printed to stdout for another program to parse. + +OPTIONS +------- +-i :: +--nvmset-id=:: + Retrieve the Predictable latency per NVM set log for the given nvmset id. + This argument is mandatory and its success may depend on the device's + statistics to provide this log For More details see NVM Express 1.4 Spec. + Section 5.14.1.10. The default nvmset id to use is 1 for the device. + +-b:: +--raw-binary:: + Print the raw Predictable latency per NVM set log buffer to stdout. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the Predictable latency per NVM set log page in a human readable format: ++ +------------ +# nvme predictable-lat-log /dev/nvme0 +------------ ++ + +* Print the raw Predictable latency per NVM set log to a file: ++ +------------ +# nvme predictable-lat-log /dev/nvme0 --raw-binary > nvmset_log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-primary-ctrl-caps.1 b/Documentation/nvme-primary-ctrl-caps.1 new file mode 100644 index 0000000..37303b1 --- /dev/null +++ b/Documentation/nvme-primary-ctrl-caps.1 @@ -0,0 +1,110 @@ +'\" t +.\" Title: nvme-primary-ctrl-caps +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-PRIMARY\-CTRL\" "1" "02/14/2024" "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-primary-ctrl-caps \- Send identify Primary Controller Caps, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme primary\-ctrl\-caps\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify primary Controller caps command and provides the result and returned 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 +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.SH "OPTIONS" +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get Primary Ctrl Caps of the device in default format +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme primary\-ctrl\-caps /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme primary\-ctrl\-caps /dev/nvme0 \-\-human\-readable +# nvme primary\-ctrl\-caps /dev/nvme0 \-H +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-primary-ctrl-caps.html b/Documentation/nvme-primary-ctrl-caps.html new file mode 100644 index 0000000..5343c77 --- /dev/null +++ b/Documentation/nvme-primary-ctrl-caps.html @@ -0,0 +1,853 @@ + + + + + + +nvme-primary-ctrl-caps(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme primary-ctrl-caps <device> [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify primary Controller caps command and +provides the result and returned structure.

+

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

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+
+
+
+

OPTIONS

+
+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Get Primary Ctrl Caps of the device in default format +

    +
    +
    +
    # nvme primary-ctrl-caps /dev/nvme0
    +
    +
  • +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme primary-ctrl-caps /dev/nvme0 --human-readable
    +# nvme primary-ctrl-caps /dev/nvme0 -H
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-primary-ctrl-caps.txt b/Documentation/nvme-primary-ctrl-caps.txt new file mode 100644 index 0000000..0300383 --- /dev/null +++ b/Documentation/nvme-primary-ctrl-caps.txt @@ -0,0 +1,57 @@ +nvme-primary-ctrl-caps(1) +========================= + +NAME +---- +nvme-primary-ctrl-caps - Send identify Primary Controller Caps, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme primary-ctrl-caps' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify primary Controller caps command and +provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +OPTIONS +------- +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Get Primary Ctrl Caps of the device in default format ++ +------------ +# nvme primary-ctrl-caps /dev/nvme0 +------------ +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme primary-ctrl-caps /dev/nvme0 --human-readable +# nvme primary-ctrl-caps /dev/nvme0 -H +------------ +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-read.1 b/Documentation/nvme-read.1 new file mode 100644 index 0000000..85cc1e3 --- /dev/null +++ b/Documentation/nvme-read.1 @@ -0,0 +1,214 @@ +'\" t +.\" Title: nvme-read +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-READ" "1" "02/14/2024" "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-read \- Send an NVMe Read command, provide results +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-read\fR [\-\-start\-block= | \-s ] + [\-\-block\-count= | \-c ] + [\-\-data\-size= | \-z ] + [\-\-metadata\-size= | \-y ] + [\-\-ref\-tag= | \-r ] + [\-\-data= | \-d ] + [\-\-metadata= | \-M ] + [\-\-prinfo= | \-p ] + [\-\-app\-tag\-mask= | \-m ] + [\-\-app\-tag= | \-a ] + [\-\-limited\-retry | \-l] [\-\-force\-unit\-access | \-f] + [\-\-dir\-type= | \-T ] + [\-\-dir\-spec= | \-S ] [\-\-dsm= | \-D ] + [\-\-show\-command | \-V] [\-\-dry\-run | \-w] [\-\-latency | \-t] + [\-\-storage\-tag | \-g ] + [\-\-storage\-tag\-check | \-C] [\-\-force] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Read command reads the logical blocks specified by the command from the medium and copies to the data data buffer provided\&. Will use stdout by default if you don\(cqt provide a file\&. +.SH "OPTIONS" +.PP +\-s , \-\-start\-block= +.RS 4 +Start block\&. +.RE +.PP +\-c, \-\-block\-count +.RS 4 +The number of blocks to transfer\&. This is a zeroes based value to align with the kernel\(cqs use of this field\&. (ie\&. 0 means transfer 1 block)\&. +.RE +.PP +\-z , \-\-data\-size= +.RS 4 +Size of data, in bytes\&. +.RE +.PP +\-y , \-\-metadata\-size= +.RS 4 +Size of metadata in bytes\&. +.RE +.PP +\-d , \-\-data= +.RS 4 +Data file\&. If none provided, contents are sent to STDOUT\&. +.RE +.PP +\-M , \-\-metadata= +.RS 4 +Metadata file, if necessary\&. +.RE +.PP +\-p , \-\-prinfo= +.RS 4 +Protection Information field definition\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Bit +T}:T{ +Description +T} +T{ +3 +T}:T{ +PRACT: Protection Information Action\&. When set to 1, PI is stripped/inserted on read/write when the block format\(cqs metadata size is 8\&. When set to 0, metadata is passes\&. +T} +T{ +2:0 +T}:T{ +PRCHK: Protection Information Check: +T} +T{ +2 +T}:T{ +Set to 1 enables checking the guard tag +T} +T{ +1 +T}:T{ +Set to 1 enables checking the application tag +T} +T{ +0 +T}:T{ +Set to 1 enables checking the reference tag +T} +.TE +.sp 1 +.RE +.PP +\-r , \-\-ref\-tag= +.RS 4 +Optional reftag when used with protection information\&. +.RE +.PP +\-m , \-\-app\-tag\-mask= +.RS 4 +Optional application tag mask when used with protection information\&. +.RE +.PP +\-f, \-\-force\-unit\-access +.RS 4 +Set the force\-unit access flag\&. +.RE +.PP +\-T , \-\-dir\-type= +.RS 4 +Optional directive type\&. The nvme\-cli only enforces the value be in the defined range for the directive type, though the NVMe specification (1\&.3a) defines only one directive, 01h, for write stream identifiers\&. +.RE +.PP +\-S , \-\-dir\-spec= +.RS 4 +Optional field for directive specifics\&. When used with write streams, this value is defined to be the write stream identifier\&. The nvme\-cli will not validate the stream requested is within the controller\(cqs capabilities\&. +.RE +.PP +\-D , \-\-dsm= +.RS 4 +The optional data set management attributes for this command\&. The argument for this is the least significant 8 bits of the DSM field in a write command; the most significant 16 bits of the field come from the directive specific field, if used\&. This may be used to set attributes for the LBAs being written, like access frequency, type, latency, among other things, as well as yet to be defined types\&. Please consult the NVMe specification for detailed breakdown of how to use this field\&. +.RE +.PP +\-V, \-\-show\-cmd +.RS 4 +Print out the command to be sent\&. +.RE +.PP +\-w, \-\-dry\-run +.RS 4 +Do not actually send the command\&. If want to use \-\-dry\-run option, \-\-show\-cmd option +\fImust\fR +be set\&. Otherwise \-\-dry\-run option will be +\fIignored\fR\&. +.RE +.PP +\-t, \-\-latency +.RS 4 +Print out the latency the IOCTL took (in us)\&. +.RE +.PP +\-g , \-\-storage\-tag= +.RS 4 +Variable Sized Expected Logical Block Storage Tag(ELBST)\&. +.RE +.PP +\-C, \-\-storage\-tag\-check +.RS 4 +This flag enables Storage Tag field checking as part of end\-to\-end data protection processing\&. +.RE +.PP +\-\-force +.RS 4 +Ignore namespace is currently busy and performed the operation even though\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-read.html b/Documentation/nvme-read.html new file mode 100644 index 0000000..ff4ab43 --- /dev/null +++ b/Documentation/nvme-read.html @@ -0,0 +1,1094 @@ + + + + + + +nvme-read(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme-read <device> [--start-block=<slba> | -s <slba>]
+                        [--block-count=<nlb> | -c <nlb>]
+                        [--data-size=<size> | -z <size>]
+                        [--metadata-size=<size> | -y <size>]
+                        [--ref-tag=<reftag> | -r <reftag>]
+                        [--data=<data-file> | -d <data-file>]
+                        [--metadata=<metadata-file> | -M <metadata-file>]
+                        [--prinfo=<prinfo> | -p <prinfo>]
+                        [--app-tag-mask=<appmask> | -m <appmask>]
+                        [--app-tag=<apptag> | -a <apptag>]
+                        [--limited-retry | -l] [--force-unit-access | -f]
+                        [--dir-type=<type> | -T <type>]
+                        [--dir-spec=<spec> | -S <spec>] [--dsm=<dsm> | -D <dsm>]
+                        [--show-command | -V] [--dry-run | -w] [--latency | -t]
+                        [--storage-tag<storage-tag> | -g <storage-tag>]
+                        [--storage-tag-check | -C] [--force]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Read command reads the logical blocks specified by the command from +the medium and copies to the data data buffer provided. Will use stdout +by default if you don’t provide a file.

+
+
+
+

OPTIONS

+
+
+
+-s <slba> +
+
+--start-block=<slba> +
+
+

+ Start block. +

+
+
+-c +
+
+--block-count +
+
+

+ The number of blocks to transfer. This is a zeroes based value to + align with the kernel’s use of this field. (ie. 0 means transfer + 1 block). +

+
+
+-z <size> +
+
+--data-size=<size> +
+
+

+ Size of data, in bytes. +

+
+
+-y <size> +
+
+--metadata-size=<size> +
+
+

+ Size of metadata in bytes. +

+
+
+-d <data-file> +
+
+--data=<data-file> +
+
+

+ Data file. If none provided, contents are sent to STDOUT. +

+
+
+-M <metadata-file> +
+
+--metadata=<metadata-file> +
+
+

+ Metadata file, if necessary. +

+
+
+-p <prinfo> +
+
+--prinfo=<prinfo> +
+
+

+ Protection Information field definition. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + +

Bit

Description

3

PRACT: Protection Information Action. When set to 1, PI is stripped/inserted +on read/write when the block format’s metadata size is 8. When set to 0, +metadata is passes.

2:0

PRCHK: Protection Information Check:

2

Set to 1 enables checking the guard tag

1

Set to 1 enables checking the application tag

0

Set to 1 enables checking the reference tag

+
+
+
+-r <reftag> +
+
+--ref-tag=<reftag> +
+
+

+ Optional reftag when used with protection information. +

+
+
+-m <appmask> +
+
+--app-tag-mask=<appmask> +
+
+

+ Optional application tag mask when used with protection information. +

+
+
+-f +
+
+--force-unit-access +
+
+

+ Set the force-unit access flag. +

+
+
+-T <type> +
+
+--dir-type=<type> +
+
+

+ Optional directive type. The nvme-cli only enforces the value + be in the defined range for the directive type, though the NVMe + specification (1.3a) defines only one directive, 01h, for write + stream identifiers. +

+
+
+-S <spec> +
+
+--dir-spec=<spec> +
+
+

+ Optional field for directive specifics. When used with + write streams, this value is defined to be the write stream + identifier. The nvme-cli will not validate the stream requested + is within the controller’s capabilities. +

+
+
+-D <dsm> +
+
+--dsm=<dsm> +
+
+

+ The optional data set management attributes for this command. The argument + for this is the least significant 8 bits of the DSM field in a write + command; the most significant 16 bits of the field come from the directive + specific field, if used. This may be used to set attributes for + the LBAs being written, like access frequency, type, latency, + among other things, as well as yet to be defined types. Please + consult the NVMe specification for detailed breakdown of how to + use this field. +

+
+
+-V +
+
+--show-cmd +
+
+

+ Print out the command to be sent. +

+
+
+-w +
+
+--dry-run +
+
+

+ Do not actually send the command. If want to use --dry-run option, + --show-cmd option must be set. Otherwise --dry-run option will be + ignored. +

+
+
+-t +
+
+--latency +
+
+

+ Print out the latency the IOCTL took (in us). +

+
+
+-g <storage-tag> +
+
+--storage-tag=<storage-tag> +
+
+

+ Variable Sized Expected Logical Block Storage Tag(ELBST). +

+
+
+-C +
+
+--storage-tag-check +
+
+

+ This flag enables Storage Tag field checking as part of end-to-end + data protection processing. +

+
+
+--force +
+
+

+ Ignore namespace is currently busy and performed the operation + even though. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-read.txt b/Documentation/nvme-read.txt new file mode 100644 index 0000000..cecaa71 --- /dev/null +++ b/Documentation/nvme-read.txt @@ -0,0 +1,158 @@ +nvme-read(1) +============ + +NAME +---- +nvme-read - Send an NVMe Read command, provide results + +SYNOPSIS +-------- +[verse] +'nvme-read' [--start-block= | -s ] + [--block-count= | -c ] + [--data-size= | -z ] + [--metadata-size= | -y ] + [--ref-tag= | -r ] + [--data= | -d ] + [--metadata= | -M ] + [--prinfo= | -p ] + [--app-tag-mask= | -m ] + [--app-tag= | -a ] + [--limited-retry | -l] [--force-unit-access | -f] + [--dir-type= | -T ] + [--dir-spec= | -S ] [--dsm= | -D ] + [--show-command | -V] [--dry-run | -w] [--latency | -t] + [--storage-tag | -g ] + [--storage-tag-check | -C] [--force] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Read command reads the logical blocks specified by the command from +the medium and copies to the data data buffer provided. Will use stdout +by default if you don't provide a file. + +OPTIONS +------- +-s :: +--start-block=:: + Start block. + +-c:: +--block-count:: + The number of blocks to transfer. This is a zeroes based value to + align with the kernel's use of this field. (ie. 0 means transfer + 1 block). + +-z :: +--data-size=:: + Size of data, in bytes. + +-y :: +--metadata-size=:: + Size of metadata in bytes. + +-d :: +--data=:: + Data file. If none provided, contents are sent to STDOUT. + +-M :: +--metadata=:: + Metadata file, if necessary. + +-p :: +--prinfo=:: + Protection Information field definition. ++ +[] +|================= +|Bit|Description +|3|PRACT: Protection Information Action. When set to 1, PI is stripped/inserted +on read/write when the block format's metadata size is 8. When set to 0, +metadata is passes. +|2:0|PRCHK: Protection Information Check: +|2|Set to 1 enables checking the guard tag +|1|Set to 1 enables checking the application tag +|0|Set to 1 enables checking the reference tag +|================= + +-r :: +--ref-tag=:: + Optional reftag when used with protection information. + +-m :: +--app-tag-mask=:: + Optional application tag mask when used with protection information. + +-f:: +--force-unit-access:: + Set the force-unit access flag. + +-T :: +--dir-type=:: + Optional directive type. The nvme-cli only enforces the value + be in the defined range for the directive type, though the NVMe + specification (1.3a) defines only one directive, 01h, for write + stream identifiers. + +-S :: +--dir-spec=:: + Optional field for directive specifics. When used with + write streams, this value is defined to be the write stream + identifier. The nvme-cli will not validate the stream requested + is within the controller's capabilities. + +-D :: +--dsm=:: + The optional data set management attributes for this command. The argument + for this is the least significant 8 bits of the DSM field in a write + command; the most significant 16 bits of the field come from the directive + specific field, if used. This may be used to set attributes for + the LBAs being written, like access frequency, type, latency, + among other things, as well as yet to be defined types. Please + consult the NVMe specification for detailed breakdown of how to + use this field. + +-V:: +--show-cmd:: + Print out the command to be sent. + +-w:: +--dry-run:: + Do not actually send the command. If want to use --dry-run option, + --show-cmd option _must_ be set. Otherwise --dry-run option will be + _ignored_. + +-t:: +--latency:: + Print out the latency the IOCTL took (in us). + +-g :: +--storage-tag=:: + Variable Sized Expected Logical Block Storage Tag(ELBST). + +-C:: +--storage-tag-check:: + This flag enables Storage Tag field checking as part of end-to-end + data protection processing. + +--force:: + Ignore namespace is currently busy and performed the operation + even though. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-reset.1 b/Documentation/nvme-reset.1 new file mode 100644 index 0000000..d9fa8e6 --- /dev/null +++ b/Documentation/nvme-reset.1 @@ -0,0 +1,79 @@ +'\" t +.\" Title: nvme-reset +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-RESET" "1" "02/14/2024" "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-reset \- Reset the nvme controller\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme reset\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Requests NVMe controller reset\&. The param is mandatory and must be an NVMe character device (ex: /dev/nvme0)\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Resets the controller\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme reset /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-reset.html b/Documentation/nvme-reset.html new file mode 100644 index 0000000..1ce4b8d --- /dev/null +++ b/Documentation/nvme-reset.html @@ -0,0 +1,825 @@ + + + + + + +nvme-reset(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme reset <device> [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Requests NVMe controller reset. The <device> param is mandatory and must +be an NVMe character device (ex: /dev/nvme0).

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Resets the controller. +

    +
    +
    +
    # nvme reset /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-reset.txt b/Documentation/nvme-reset.txt new file mode 100644 index 0000000..20fcbb1 --- /dev/null +++ b/Documentation/nvme-reset.txt @@ -0,0 +1,39 @@ +nvme-reset(1) +============= + +NAME +---- +nvme-reset - Reset the nvme controller. + +SYNOPSIS +-------- +[verse] +'nvme reset' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Requests NVMe controller reset. The param is mandatory and must +be an NVMe character device (ex: /dev/nvme0). + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Resets the controller. ++ +------------ +# nvme reset /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-resv-acquire.1 b/Documentation/nvme-resv-acquire.1 new file mode 100644 index 0000000..f308bf3 --- /dev/null +++ b/Documentation/nvme-resv-acquire.1 @@ -0,0 +1,191 @@ +'\" t +.\" Title: nvme-resv-acquire +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-RESV\-ACQUIRE" "1" "02/14/2024" "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-resv-acquire \- Acquire an nvme reservation +.SH "SYNOPSIS" +.sp +.nf +\fInvme resv\-acquire\fR [\-\-namespace\-id= | \-n ] + [\-\-crkey= | \-c ] + [\-\-prkey= | \-p ] + [\-\-rtype= | \-t ] + [\-\-racqa= | \-a ] [\-\-iekey | \-i] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Reservation Acquire command is used to acquire a reservation on a namespace, preempt a reservation held on a namespace, and abort a reservation held on a namespace\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Override the nsid field\&. If using the admin character device, this parameter is required\&. +.RE +.PP +\-c , \-\-crkey= +.RS 4 +Current Reservation Key: The field specifies the current reservation key associated with the host\&. If the IEKEY bit is set to \(oq1\(cq in the command, then the CRKEY check succeeds regardless of the value in this field\&. +.RE +.PP +\-p , \-\-prkey= +.RS 4 +Preempt Reservation Key: If the Reservation Acquire Action is set to 001b (i\&.e\&., Preempt) or 010b (i\&.e\&., Preempt and Abort), then this field specifies the reservation key to be unregistered from the namespace\&. For all other Reservation Acquire Action values, this field is reserved\&. +.RE +.PP +\-t , \-\-rtype= +.RS 4 +Reservation Type: This field specifies the type of reservation to be created\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +0h +T}:T{ +Reserved +T} +T{ +1h +T}:T{ +Write Exclusive Reservation +T} +T{ +2h +T}:T{ +Exclusive Access Reservation +T} +T{ +3h +T}:T{ +Write Exclusive \- Registrants Only Reservation +T} +T{ +4h +T}:T{ +Exclusive Access \- Registrants Only Reservation +T} +T{ +5h +T}:T{ +Write Exclusive \- All Registrants Reservation +T} +T{ +6h +T}:T{ +Exclusive Access \- All Registrants Reservation +T} +T{ +07h\-FFh +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.PP +\-a , \-\-racqa= +.RS 4 +Reservation Acquire Action: This field specifies the action that is performed by the command\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +0 +T}:T{ +Acquire +T} +T{ +1 +T}:T{ +Preempt +T} +T{ +2 +T}:T{ +Preempt and Abort +T} +T{ +3\-7 +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.PP +\-i, \-\-iekey +.RS 4 +Ignore Existing Key: If this bit is set to a +\fI1\fR, then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value\&. +.sp +Indicator option, defaults to +\fI0\fR\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-resv-acquire.html b/Documentation/nvme-resv-acquire.html new file mode 100644 index 0000000..35719ee --- /dev/null +++ b/Documentation/nvme-resv-acquire.html @@ -0,0 +1,978 @@ + + + + + + +nvme-resv-acquire(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme resv-acquire <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--crkey=<crkey> | -c <crkey>]
+                        [--prkey=<prkey> | -p <prkey>]
+                        [--rtype=<rtype> | -t <rtype>]
+                        [--racqa=<racqa> | -a <racqa>] [--iekey | -i]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Reservation Acquire command is used to acquire a reservation on +a namespace, preempt a reservation held on a namespace, and abort a +reservation held on a namespace.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Override the nsid field. If using the admin character device, + this parameter is required. +

+
+
+-c <crkey> +
+
+--crkey=<crkey> +
+
+

+ Current Reservation Key: The field specifies the current + reservation key associated with the host. If the IEKEY bit is + set to ‘1’ in the command, then the CRKEY check succeeds + regardless of the value in this field. +

+
+
+-p <prkey> +
+
+--prkey=<prkey> +
+
+

+ Preempt Reservation Key: If the Reservation Acquire Action is set + to 001b (i.e., Preempt) or 010b (i.e., Preempt and Abort), then + this field specifies the reservation key to be unregistered from + the namespace. For all other Reservation Acquire Action values, + this field is reserved. +

+
+
+-t <rtype> +
+
+--rtype=<rtype> +
+
+

+ Reservation Type: This field specifies the type of reservation + to be created. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

0h

Reserved

1h

Write Exclusive Reservation

2h

Exclusive Access Reservation

3h

Write Exclusive - Registrants Only Reservation

4h

Exclusive Access - Registrants Only Reservation

5h

Write Exclusive - All Registrants Reservation

6h

Exclusive Access - All Registrants Reservation

07h-FFh

Reserved

+
+
+
+-a <racqa> +
+
+--racqa=<racqa> +
+
+

+ Reservation Acquire Action: This field specifies the action that + is performed by the command. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

0

Acquire

1

Preempt

2

Preempt and Abort

3-7

Reserved

+
+
+
+-i +
+
+--iekey +
+
+

+ Ignore Existing Key: If this bit is set to a 1, then the + Current Reservation Key (CRKEY) check is disabled and the command + shall succeed regardless of the CRKEY field value. +

+

Indicator option, defaults to 0.

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-resv-acquire.txt b/Documentation/nvme-resv-acquire.txt new file mode 100644 index 0000000..19282c6 --- /dev/null +++ b/Documentation/nvme-resv-acquire.txt @@ -0,0 +1,101 @@ +nvme-resv-acquire(1) +==================== + +NAME +---- +nvme-resv-acquire - Acquire an nvme reservation + +SYNOPSIS +-------- +[verse] +'nvme resv-acquire' [--namespace-id= | -n ] + [--crkey= | -c ] + [--prkey= | -p ] + [--rtype= | -t ] + [--racqa= | -a ] [--iekey | -i] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Reservation Acquire command is used to acquire a reservation on +a namespace, preempt a reservation held on a namespace, and abort a +reservation held on a namespace. + +OPTIONS +------- +-n :: +--namespace-id=:: + Override the nsid field. If using the admin character device, + this parameter is required. + +-c :: +--crkey=:: + Current Reservation Key: The field specifies the current + reservation key associated with the host. If the IEKEY bit is + set to ‘1’ in the command, then the CRKEY check succeeds + regardless of the value in this field. + +-p :: +--prkey=:: + Preempt Reservation Key: If the Reservation Acquire Action is set + to 001b (i.e., Preempt) or 010b (i.e., Preempt and Abort), then + this field specifies the reservation key to be unregistered from + the namespace. For all other Reservation Acquire Action values, + this field is reserved. + +-t :: +--rtype=:: + Reservation Type: This field specifies the type of reservation + to be created. ++ +[] +|================= +|Value|Definition +|0h|Reserved +|1h|Write Exclusive Reservation +|2h|Exclusive Access Reservation +|3h|Write Exclusive - Registrants Only Reservation +|4h|Exclusive Access - Registrants Only Reservation +|5h|Write Exclusive - All Registrants Reservation +|6h|Exclusive Access - All Registrants Reservation +|07h-FFh|Reserved +|================= + +-a :: +--racqa=:: + Reservation Acquire Action: This field specifies the action that + is performed by the command. ++ +[] +|================= +|Value|Definition +|0|Acquire +|1|Preempt +|2|Preempt and Abort +|3-7|Reserved +|================= + +-i:: +--iekey:: + Ignore Existing Key: If this bit is set to a '1', then the + Current Reservation Key (CRKEY) check is disabled and the command + shall succeed regardless of the CRKEY field value. ++ +Indicator option, defaults to '0'. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-resv-notif-log.1 b/Documentation/nvme-resv-notif-log.1 new file mode 100644 index 0000000..655ee09 --- /dev/null +++ b/Documentation/nvme-resv-notif-log.1 @@ -0,0 +1,104 @@ +'\" t +.\" Title: nvme-resv-notif-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-RESV\-NOTIF\-L" "1" "02/14/2024" "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-resv-notif-log \- Send NVMe Reservation Notification log page request, return result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme resv\-notif\-log\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves NVMe Reservation Notification log page from an NVMe device and provides the returned 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 +On success, the returned Reservation Notification log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the Reservation Notification log and print it in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme resv\-notif\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the output in json format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme resv\-notif\-log /dev/nvme0 \-o json +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-resv-notif-log.html b/Documentation/nvme-resv-notif-log.html new file mode 100644 index 0000000..e814928 --- /dev/null +++ b/Documentation/nvme-resv-notif-log.html @@ -0,0 +1,840 @@ + + + + + + +nvme-resv-notif-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme resv-notif-log <device> [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves NVMe Reservation Notification log page from an NVMe device and +provides the returned structure.

+

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

+

On success, the returned Reservation Notification log structure may be +returned in one of several ways depending on the option flags; the structure +may parsed by the program and printed in a readable format or the raw buffer +may be printed to stdout for another program to parse.

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Get the Reservation Notification log and print it in a human readable format: +

    +
    +
    +
    # nvme resv-notif-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the output in json format: +

    +
    +
    +
    # nvme resv-notif-log /dev/nvme0 -o json
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-resv-notif-log.txt b/Documentation/nvme-resv-notif-log.txt new file mode 100644 index 0000000..f8d828b --- /dev/null +++ b/Documentation/nvme-resv-notif-log.txt @@ -0,0 +1,55 @@ +nvme-resv-notif-log(1) +====================== + +NAME +---- +nvme-resv-notif-log - Send NVMe Reservation Notification log page request, +return result and log + +SYNOPSIS +-------- +[verse] +'nvme resv-notif-log' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves NVMe Reservation Notification log page from an NVMe device and +provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned Reservation Notification log structure may be +returned in one of several ways depending on the option flags; the structure +may parsed by the program and printed in a readable format or the raw buffer +may be printed to stdout for another program to parse. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Get the Reservation Notification log and print it in a human readable format: ++ +------------ +# nvme resv-notif-log /dev/nvme0 +------------ ++ + +* Print the output in json format: ++ +------------ +# nvme resv-notif-log /dev/nvme0 -o json +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-resv-register.1 b/Documentation/nvme-resv-register.1 new file mode 100644 index 0000000..3a86f7c --- /dev/null +++ b/Documentation/nvme-resv-register.1 @@ -0,0 +1,167 @@ +'\" t +.\" Title: nvme-resv-register +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-RESV\-REGISTER" "1" "02/14/2024" "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-resv-register \- Register an nvme reservation +.SH "SYNOPSIS" +.sp +.nf +\fInvme resv\-register\fR [\-\-namespace\-id= | \-n ] + [\-\-crkey= | \-c ] + [\-\-nrkey= | \-k ] + [\-\-rrega= | \-r ] + [\-\-cptpl= | \-p ] [\-\-iekey | \-i] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Reservation Register command is used to register, unregister, or replace a reservation key\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Override the nsid field\&. If using the admin character device, this parameter is required\&. +.RE +.PP +\-c , \-\-crkey= +.RS 4 +Current Reservation Key: If the Reservation Register Action is 001b (i\&.e\&., Unregister Reservation Key) or 010b (i\&.e\&., Replace Reservation Key), then this field contains the current reservation key associated with the host\&. For all other Reservation Register Action values, this field is reserved\&. The controller ignores the value of this field when the Ignore Existing Key (IEKEY) bit is set to \(oq1\(cq\&. +.RE +.PP +\-k , \-\-nrkey= +.RS 4 +New Reservation Key: If the Reservation Register Action is 000b (i\&.e\&., Register Reservation Key) or 010b (i\&.e\&., Replace Reservation Key), then this field contains the new reservation key associated with the host\&. For all other Reservation Register Action values, this field is reserved\&. +.RE +.PP +\-p , \-\-cptpl= +.RS 4 +Change Persist Through Power Loss State: This field allows the Persist Through Power Loss state associated with the namespace to be modified as a side effect of processing this command\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +0 +T}:T{ +No change to PTPL state +T} +T{ +1 +T}:T{ +Reserved +T} +T{ +2 +T}:T{ +Set PTPL state to \(oq0\(cq\&. Reservations are released and registrants are cleared on a power on\&. +T} +T{ +3 +T}:T{ +Set PTPL state to \(oq1\(cq\&. Reservations and registrants persist across a power loss\&. +T} +.TE +.sp 1 +.RE +.PP +\-r , \-\-rrega= +.RS 4 +Reservation Register Action: This field specifies the registration action that is performed by the command\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +0 +T}:T{ +Register Reservation Key +T} +T{ +1 +T}:T{ +Unregister Reservation Key +T} +T{ +2 +T}:T{ +Replace Reservation Key +T} +T{ +3\-7 +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.PP +\-i, \-\-iekey +.RS 4 +Ignore Existing Key: If this bit is set to a +\fI1\fR, then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value\&. +.sp +Indicator option, defaults to +\fI0\fR\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-resv-register.html b/Documentation/nvme-resv-register.html new file mode 100644 index 0000000..fb78ac7 --- /dev/null +++ b/Documentation/nvme-resv-register.html @@ -0,0 +1,967 @@ + + + + + + +nvme-resv-register(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme resv-register <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--crkey=<crkey> | -c <crkey>]
+                        [--nrkey=<nrkey> | -k <nrkey>]
+                        [--rrega=<rrega> | -r <rrega>]
+                        [--cptpl=<cptpl> | -p <cptpl>] [--iekey | -i]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Reservation Register command is used to register, unregister, or +replace a reservation key.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Override the nsid field. If using the admin character device, + this parameter is required. +

+
+
+-c <crkey> +
+
+--crkey=<crkey> +
+
+

+ Current Reservation Key: If the Reservation Register Action is + 001b (i.e., Unregister Reservation Key) or 010b (i.e., Replace + Reservation Key), then this field contains the current reservation + key associated with the host. For all other Reservation Register + Action values, this field is reserved. The controller ignores + the value of this field when the Ignore Existing Key (IEKEY) + bit is set to ‘1’. +

+
+
+-k <nrkey> +
+
+--nrkey=<nrkey> +
+
+

+ New Reservation Key: If the Reservation Register Action is + 000b (i.e., Register Reservation Key) or 010b (i.e., Replace + Reservation Key), then this field contains the new reservation + key associated with the host. For all other Reservation Register + Action values, this field is reserved. +

+
+
+-p <cptpl> +
+
+--cptpl=<cptpl> +
+
+

+ Change Persist Through Power Loss State: This field allows the + Persist Through Power Loss state associated with the namespace + to be modified as a side effect of processing this command. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

0

No change to PTPL state

1

Reserved

2

Set PTPL state to ‘0’. Reservations are released and registrants +are cleared on a power on.

3

Set PTPL state to ‘1’. Reservations and registrants persist across +a power loss.

+
+
+
+-r <rrega> +
+
+--rrega=<rrega> +
+
+

+ Reservation Register Action: This field specifies the registration + action that is performed by the command. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

0

Register Reservation Key

1

Unregister Reservation Key

2

Replace Reservation Key

3-7

Reserved

+
+
+
+-i +
+
+--iekey +
+
+

+ Ignore Existing Key: If this bit is set to a 1, then the + Current Reservation Key (CRKEY) check is disabled and the command + shall succeed regardless of the CRKEY field value. +

+

Indicator option, defaults to 0.

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-resv-register.txt b/Documentation/nvme-resv-register.txt new file mode 100644 index 0000000..4a83050 --- /dev/null +++ b/Documentation/nvme-resv-register.txt @@ -0,0 +1,102 @@ +nvme-resv-register(1) +===================== + +NAME +---- +nvme-resv-register - Register an nvme reservation + +SYNOPSIS +-------- +[verse] +'nvme resv-register' [--namespace-id= | -n ] + [--crkey= | -c ] + [--nrkey= | -k ] + [--rrega= | -r ] + [--cptpl= | -p ] [--iekey | -i] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Reservation Register command is used to register, unregister, or +replace a reservation key. + +OPTIONS +------- +-n :: +--namespace-id=:: + Override the nsid field. If using the admin character device, + this parameter is required. + +-c :: +--crkey=:: + Current Reservation Key: If the Reservation Register Action is + 001b (i.e., Unregister Reservation Key) or 010b (i.e., Replace + Reservation Key), then this field contains the current reservation + key associated with the host. For all other Reservation Register + Action values, this field is reserved. The controller ignores + the value of this field when the Ignore Existing Key (IEKEY) + bit is set to ‘1’. + +-k :: +--nrkey=:: + New Reservation Key: If the Reservation Register Action is + 000b (i.e., Register Reservation Key) or 010b (i.e., Replace + Reservation Key), then this field contains the new reservation + key associated with the host. For all other Reservation Register + Action values, this field is reserved. + +-p :: +--cptpl=:: + Change Persist Through Power Loss State: This field allows the + Persist Through Power Loss state associated with the namespace + to be modified as a side effect of processing this command. ++ +[] +|================= +|Value|Definition +|0|No change to PTPL state +|1|Reserved +|2|Set PTPL state to ‘0’. Reservations are released and registrants +are cleared on a power on. +|3|Set PTPL state to ‘1’. Reservations and registrants persist across +a power loss. +|================= + +-r :: +--rrega=:: + Reservation Register Action: This field specifies the registration + action that is performed by the command. ++ +[] +|================= +|Value|Definition +|0|Register Reservation Key +|1|Unregister Reservation Key +|2|Replace Reservation Key +|3-7|Reserved +|================= + +-i:: +--iekey:: + Ignore Existing Key: If this bit is set to a '1', then the + Current Reservation Key (CRKEY) check is disabled and the command + shall succeed regardless of the CRKEY field value. ++ +Indicator option, defaults to '0'. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-resv-release.1 b/Documentation/nvme-resv-release.1 new file mode 100644 index 0000000..06ed2e7 --- /dev/null +++ b/Documentation/nvme-resv-release.1 @@ -0,0 +1,179 @@ +'\" t +.\" Title: nvme-resv-release +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-RESV\-RELEASE" "1" "02/14/2024" "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-resv-release \- Release an nvme reservation +.SH "SYNOPSIS" +.sp +.nf +\fInvme resv\-release\fR [\-\-namespace\-id= | \-n ] + [\-\-crkey= | \-c ] + [\-\-rtype= | \-t ] + [\-\-rrela= | \-a ] [\-\-iekey | \-i] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Reservation Release command is used to release or clear a reservation held on a namespace\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Override the nsid field\&. If using the admin character device, this parameter is required\&. +.RE +.PP +\-c , \-\-crkey= +.RS 4 +Current Reservation Key: If the Reservation Register Action is 001b (i\&.e\&., Unregister Reservation Key) or 010b (i\&.e\&., Replace Reservation Key), then this field contains the current reservation key associated with the host\&. For all other Reservation Register Action values, this field is reserved\&. The controller ignores the value of this field when the Ignore Existing Key (IEKEY) bit is set to \(oq1\(cq\&. +.RE +.PP +\-t , \-\-rtype= +.RS 4 +Reservation Type: This field specifies the type of reservation to be created\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +0h +T}:T{ +Reserved +T} +T{ +1h +T}:T{ +Write Exclusive Reservation +T} +T{ +2h +T}:T{ +Exclusive Access Reservation +T} +T{ +3h +T}:T{ +Write Exclusive \- Registrants Only Reservation +T} +T{ +4h +T}:T{ +Exclusive Access \- Registrants Only Reservation +T} +T{ +5h +T}:T{ +Write Exclusive \- All Registrants Reservation +T} +T{ +6h +T}:T{ +Exclusive Access \- All Registrants Reservation +T} +T{ +07h\-FFh +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.PP +\-a , \-\-rrela= +.RS 4 +Reservation Release Action: This field specifies the registration action that is performed by the command\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +0 +T}:T{ +Release +T} +T{ +1 +T}:T{ +Clear +T} +T{ +2\-7 +T}:T{ +Reserved +T} +.TE +.sp 1 +.RE +.PP +\-i, \-\-iekey +.RS 4 +Ignore Existing Key: If this bit is set to a +\fI1\fR, then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value\&. +.sp +Indicator option, defaults to +\fI0\fR\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-resv-release.html b/Documentation/nvme-resv-release.html new file mode 100644 index 0000000..d166276 --- /dev/null +++ b/Documentation/nvme-resv-release.html @@ -0,0 +1,960 @@ + + + + + + +nvme-resv-release(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme resv-release <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--crkey=<crkey> | -c <crkey>]
+                        [--rtype=<rtype> | -t <rtype>]
+                        [--rrela=<rrela> | -a <rrela>] [--iekey | -i]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Reservation Release command is used to release or clear a reservation +held on a namespace.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Override the nsid field. If using the admin character device, + this parameter is required. +

+
+
+-c <crkey> +
+
+--crkey=<crkey> +
+
+

+ Current Reservation Key: If the Reservation Register Action is + 001b (i.e., Unregister Reservation Key) or 010b (i.e., Replace + Reservation Key), then this field contains the current reservation + key associated with the host. For all other Reservation Register + Action values, this field is reserved. The controller ignores + the value of this field when the Ignore Existing Key (IEKEY) + bit is set to ‘1’. +

+
+
+-t <rtype> +
+
+--rtype=<rtype> +
+
+

+ Reservation Type: This field specifies the type of reservation + to be created. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

0h

Reserved

1h

Write Exclusive Reservation

2h

Exclusive Access Reservation

3h

Write Exclusive - Registrants Only Reservation

4h

Exclusive Access - Registrants Only Reservation

5h

Write Exclusive - All Registrants Reservation

6h

Exclusive Access - All Registrants Reservation

07h-FFh

Reserved

+
+
+
+-a <rrela> +
+
+--rrela=<rrela> +
+
+

+ Reservation Release Action: This field specifies the registration + action that is performed by the command. +

+
+ +++ + + + + + + + + + + + + + + + + + +

Value

Definition

0

Release

1

Clear

2-7

Reserved

+
+
+
+-i +
+
+--iekey +
+
+

+ Ignore Existing Key: If this bit is set to a 1, then the + Current Reservation Key (CRKEY) check is disabled and the command + shall succeed regardless of the CRKEY field value. +

+

Indicator option, defaults to 0.

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-resv-release.txt b/Documentation/nvme-resv-release.txt new file mode 100644 index 0000000..c3dc90d --- /dev/null +++ b/Documentation/nvme-resv-release.txt @@ -0,0 +1,93 @@ +nvme-resv-release(1) +==================== + +NAME +---- +nvme-resv-release - Release an nvme reservation + +SYNOPSIS +-------- +[verse] +'nvme resv-release' [--namespace-id= | -n ] + [--crkey= | -c ] + [--rtype= | -t ] + [--rrela= | -a ] [--iekey | -i] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Reservation Release command is used to release or clear a reservation +held on a namespace. + +OPTIONS +------- +-n :: +--namespace-id=:: + Override the nsid field. If using the admin character device, + this parameter is required. + +-c :: +--crkey=:: + Current Reservation Key: If the Reservation Register Action is + 001b (i.e., Unregister Reservation Key) or 010b (i.e., Replace + Reservation Key), then this field contains the current reservation + key associated with the host. For all other Reservation Register + Action values, this field is reserved. The controller ignores + the value of this field when the Ignore Existing Key (IEKEY) + bit is set to ‘1’. + +-t :: +--rtype=:: + Reservation Type: This field specifies the type of reservation + to be created. ++ +[] +|================= +|Value|Definition +|0h|Reserved +|1h|Write Exclusive Reservation +|2h|Exclusive Access Reservation +|3h|Write Exclusive - Registrants Only Reservation +|4h|Exclusive Access - Registrants Only Reservation +|5h|Write Exclusive - All Registrants Reservation +|6h|Exclusive Access - All Registrants Reservation +|07h-FFh|Reserved +|================= + +-a :: +--rrela=:: + Reservation Release Action: This field specifies the registration + action that is performed by the command. ++ +[] +|================= +|Value|Definition +|0|Release +|1|Clear +|2-7|Reserved +|================= + +-i:: +--iekey:: + Ignore Existing Key: If this bit is set to a '1', then the + Current Reservation Key (CRKEY) check is disabled and the command + shall succeed regardless of the CRKEY field value. ++ +Indicator option, defaults to '0'. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-resv-report.1 b/Documentation/nvme-resv-report.1 new file mode 100644 index 0000000..0b8e78c --- /dev/null +++ b/Documentation/nvme-resv-report.1 @@ -0,0 +1,86 @@ +'\" t +.\" Title: nvme-resv-report +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-RESV\-REPORT" "1" "02/14/2024" "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-resv-report \- Send NVMe Reservation Report, parse the result +.SH "SYNOPSIS" +.sp +.nf +\fInvme resv\-report\fR [\-\-namespace\-id= | \-n ] + [\-\-numd= | \-d ] [\-\-eds | \-e] + [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Reservation Report command returns a Reservation Status data structure to host memory that describes the registration and reservation status of a namespace\&. +.sp +The size of the Reservation Status data structure is a function of the number of controllers in the NVM Subsystem that are associated with hosts that are registrants of the namespace (i\&.e\&., there is a Registered Controller data structure for each such controller)\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Retrieve the reservation report structure for the given nsid\&. This is required for the character devices, or overrides the block nsid if given\&. +.RE +.PP +\-d , \-\-numd= +.RS 4 +Specify the number of Dwords of the Reservation Status structure to transfer\&. Defaults to 4k\&. +.RE +.PP +\-e, \-\-eds +.RS 4 +Request extended Data Structure: If this bit is set to a +\fI1\fR, then the controller returns the Extended Data Structure\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-resv-report.html b/Documentation/nvme-resv-report.html new file mode 100644 index 0000000..7e22653 --- /dev/null +++ b/Documentation/nvme-resv-report.html @@ -0,0 +1,872 @@ + + + + + + +nvme-resv-report(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme resv-report <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--numd=<num-dwords> | -d <num-dwords>] [--eds | -e]
+                        [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Reservation Report command returns a Reservation Status data structure +to host memory that describes the registration and reservation status +of a namespace.

+

The size of the Reservation Status data structure is a function of the +number of controllers in the NVM Subsystem that are associated with +hosts that are registrants of the namespace (i.e., there is a Registered +Controller data structure for each such controller).

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Retrieve the reservation report structure for the given nsid. This + is required for the character devices, or overrides the block nsid + if given. +

+
+
+-d <num-dwords> +
+
+--numd=<num-dwords> +
+
+

+ Specify the number of Dwords of the Reservation Status structure + to transfer. Defaults to 4k. +

+
+
+-e +
+
+--eds +
+
+

+ Request extended Data Structure: If this bit is set to a 1, then the + controller returns the Extended Data Structure. +

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

+ Print the raw buffer to stdout. Structure is not parsed by + program. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-resv-report.txt b/Documentation/nvme-resv-report.txt new file mode 100644 index 0000000..2e12826 --- /dev/null +++ b/Documentation/nvme-resv-report.txt @@ -0,0 +1,65 @@ +nvme-resv-report(1) +=================== + +NAME +---- +nvme-resv-report - Send NVMe Reservation Report, parse the result + +SYNOPSIS +-------- +[verse] +'nvme resv-report' [--namespace-id= | -n ] + [--numd= | -d ] [--eds | -e] + [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Reservation Report command returns a Reservation Status data structure +to host memory that describes the registration and reservation status +of a namespace. + +The size of the Reservation Status data structure is a function of the +number of controllers in the NVM Subsystem that are associated with +hosts that are registrants of the namespace (i.e., there is a Registered +Controller data structure for each such controller). + +OPTIONS +------- +-n :: +--namespace-id=:: + Retrieve the reservation report structure for the given nsid. This + is required for the character devices, or overrides the block nsid + if given. + +-d :: +--numd=:: + Specify the number of Dwords of the Reservation Status structure + to transfer. Defaults to 4k. + +-e:: +--eds:: + Request extended Data Structure: If this bit is set to a '1', then the + controller returns the Extended Data Structure. + +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-rpmb.1 b/Documentation/nvme-rpmb.1 new file mode 100644 index 0000000..cedee9a --- /dev/null +++ b/Documentation/nvme-rpmb.1 @@ -0,0 +1,340 @@ +'\" t +.\" Title: nvme-rpmb +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-RPMB" "1" "02/14/2024" "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-rpmb \- Send RPMB commands to an NVMe device +.SH "SYNOPSIS" +.sp +.nf +\fInvme rpmb\fR [\-\-cmd= | \-c ] + [\-\-msgfile= | \-f ] + [\-\-keyfile= | \-g ] + [\-\-key= | \-k ] [\-\-msg= | \-d ] + [\-\-address= | \-o ] + [\-\-blocks=<512 byte sectors> | \-b ] + [\-\-target= | \-t ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, send an nvme rpmb command and provide the results\&. +.sp +The parameter is mandatory and NVMe character device (ex: /dev/nvme0) must be specified\&. If the given device supports RPMB targets, command given with \-\-cmd or \-c option shall be sent to the controller\&. If given NVMe device doesn\(cqt support RPMB targets, a message indicating the same shall be printed along with controller register values related RPMB\&. +.SH "OPTIONS" +.PP +\-c , \-\-cmd= +.RS 4 +RPMB command to be sent to the device\&. It can be one of the following +.sp +.if n \{\ +.RS 4 +.\} +.nf +info \- print information regarding supported RPMB targets and + access and total sizes\&. No further arguments are required +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +program\-key \- program \*(Aqkey\*(Aq specified with \-k option or key read from + file specified with \-\-keyfile option to the specified + RPMB target given with \-\-target or \-t options\&. As per + spec, this is one time action which can\*(Aqt be undone\&. +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +read\-counter \- Read \*(Aqwrite counter\*(Aq of specified RPMB target\&. The + counter value read is printed onto STDOUT +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +read\-config \- Read 512 bytes of device configuration block data of + specified RPMB target of the NVMe device\&. The data read + is written to input file specified with \-\-msgfile or \-f + option\&. +write\-config \- Write 512 byes of device configuration block data + from file specified by \-\-msgfile or \-f options to the + RPMB target specified with \-\-target or \-t options\&. +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +read\-data \- Supports authenticated data reading from specified + RPMB target (\-\-target or \-t option) at given offset + specified with \-\-address or \-o option, using key + specified using \-\-keyfile or \-k options\&. \-\-blocks or + \-o option should be given to read the amount of data + to be read in 512 byte blocks\&. +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +write\-data \- Supports authenticated data writing to specified RPMB + target (\-\-target or \-t option) at given offset + specified with \-\-address or \-o option, using key + specified using \-\-keyfile or \-k options\&. \-\-blocks or + \-o option should be given to indicate amount of data + to be written in 512 byte blocks\&. +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +For data transfer (read/write) commands, if the specified size is not +within the total size supported by a target, the request is failed +nvme\-rpmb without sending it to device\&. RPMB target 0 is used as the +default target if \-\-target or \-t is not specified\&. 0x0 is used as the +default address if no \-address or \-o option is specified, +.fi +.if n \{\ +.RE +.\} +.RE +.PP +\-t , \-\-target= +.RS 4 +RPMB target id\&. This should be one of the supported RPMB targets as reported by +\fIinfo\fR +command\&. If nothing is given, default of 0 is used as RPMB target\&. +.RE +.PP +\-k , \-\-key=, \-g , \-\-keyfile= +.RS 4 +Authentication key to be used for read/write commands\&. This should have been already programmed by +\fIprogram\-key\fR +command for given target\&. Key can be specified on command line using \-\-key or \-k options\&. Key can also be specified using file argument specified with \-\-keyfile or \-g options\&. +.RE +.PP +\-f , \-\-msgfile= +.RS 4 +Name of the file to be used for data transfer commands (read or write)\&. For read command, if an existing file is specified, it will be appended\&. +.RE +.PP +\-d , \-\-msg= +.RS 4 +These options provide the data on the command line itself\&. +.RE +.PP +\-o , \-\-address= +.RS 4 +The address (in 512 byte sector offset from 0) to be used for data transfer commands (read or write) for a specified RPMB target\&. +.RE +.PP +\-b, \-\-blocks= +.RS 4 +The size in 512 byte sectors to be used for data transfer commands (read or write) for a specified RPMB target\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print RPMB support information of an NVMe device +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme rpmb /dev/nvme0 \-\-cmd=info +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Program +\fISecretKey\fR +as authentication key for target 1 +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme rpmb /dev/nvme0 \-\-cmd=program\-key \-key=\*(AqSecretKey\*(Aq \-\-target=1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Read current write counter of RPMB target 0 +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme rpmb /dev/nvme0 \-\-cmd=read\-counter \-\-target=0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Read configuration data block of target 2 into config\&.bin file +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme rpmb /dev/nvme0 \-\-cmd=read\-config \-\-target=2 \-f config\&.bin +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Write 200 blocks of (512 bytes) from input\&.bin onto target 0 +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme rpmb /dev/nvme0 \-c write\-data \-t 0 \-f input\&.bin \-b 200 \-k \*(AqSecretKey\*(Aq +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Read 200 blocks of (512 bytes) from target 2, at offset 0x100 and save the +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +data onto output\&.bin +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme rpmb /dev/nvme0 \-c read\-data \-t 2 \-f out\&.bin \-b 200 \-o 0x100 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-rpmb.html b/Documentation/nvme-rpmb.html new file mode 100644 index 0000000..82c503b --- /dev/null +++ b/Documentation/nvme-rpmb.html @@ -0,0 +1,1031 @@ + + + + + + +nvme-rpmb(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme rpmb <device> [--cmd=<command> | -c <command>]
+                        [--msgfile=<data-file> | -f <data-file>]
+                        [--keyfile=<key-file> | -g <key-file>]
+                        [--key=<key> | -k <key>] [--msg=<data> | -d <data>]
+                        [--address=<offset> | -o <offset>]
+                        [--blocks=<512 byte sectors> | -b <sectors>]
+                        [--target=<target-id> | -t <id>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, send an nvme rpmb command and provide the results.

+

The <device> parameter is mandatory and NVMe character device (ex: /dev/nvme0) +must be specified. If the given device supports RPMB targets, command given +with --cmd or -c option shall be sent to the controller. If given NVMe device +doesn’t support RPMB targets, a message indicating the same shall be printed +along with controller register values related RPMB.

+
+
+
+

OPTIONS

+
+
+
+-c <command> +
+
+--cmd=<command> +
+
+

+ RPMB command to be sent to the device. It can be one of the following +

+
+
+
info          - print information regarding supported RPMB targets and
+                access and total sizes. No further arguments are required
+
+
+
+
program-key   - program 'key' specified with -k option or key read from
+                file specified with --keyfile option to the specified
+                RPMB target given with --target or -t options. As per
+                spec, this is one time action which can't be undone.
+
+
+
+
read-counter  - Read 'write counter' of specified RPMB target. The
+                counter value read is printed onto STDOUT
+
+
+
+
read-config   - Read 512 bytes of device configuration block data of
+                specified RPMB target of the NVMe device. The data read
+                is written to input file specified with --msgfile or -f
+                option.
+write-config  - Write 512 byes of device configuration block data
+                from file specified by --msgfile or -f options to the
+                RPMB target specified with --target or -t options.
+
+
+
+
read-data     - Supports authenticated data reading from specified
+                RPMB target (--target or -t option) at given offset
+                specified with --address or -o option, using key
+                specified using --keyfile or -k options. --blocks or
+                -o option should be given to read the amount of data
+                to be read in 512 byte blocks.
+
+
+
+
write-data    - Supports authenticated data writing to specified RPMB
+                target (--target or -t option) at given offset
+                specified with --address or -o option, using key
+                specified using --keyfile or -k options. --blocks or
+                -o option should be given to indicate amount of data
+                to be written in 512 byte blocks.
+
+
+
+
For data transfer (read/write) commands, if the specified size is not
+within the total size supported by a target, the request is failed
+nvme-rpmb without sending it to device. RPMB target 0 is used as the
+default target if --target or -t is not specified. 0x0 is used as the
+default address if no -address or -o option is specified,
+
+
+
+-t <target> +
+
+--target=<target> +
+
+

+ RPMB target id. This should be one of the supported RPMB targets as + reported by info command. If nothing is given, default of 0 is used + as RPMB target. +

+
+
+-k <key> +
+
+--key=<key> +
+
+-g <key-file> +
+
+--keyfile=<key-file> +
+
+

+ Authentication key to be used for read/write commands. This should have + been already programmed by program-key command for given target. Key + can be specified on command line using --key or -k options. Key can + also be specified using file argument specified with --keyfile or -g + options. +

+
+
+-f <data-file> +
+
+--msgfile=<data-file> +
+
+

+ Name of the file to be used for data transfer commands (read or write). + For read command, if an existing file is specified, it will be appended. +

+
+
+-d <data> +
+
+--msg=<data> +
+
+

+ These options provide the data on the command line itself. +

+
+
+-o <offset> +
+
+--address=<offset> +
+
+

+ The address (in 512 byte sector offset from 0) to be used for data + transfer commands (read or write) for a specified RPMB target. +

+
+
+-b +
+
+--blocks=<sectors> +
+
+

+ The size in 512 byte sectors to be used for data transfer commands + (read or write) for a specified RPMB target. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print RPMB support information of an NVMe device +

    +
    +
    +
    # nvme rpmb /dev/nvme0 --cmd=info
    +
    +
  • +
  • +

    +Program SecretKey as authentication key for target 1 +

    +
    +
    +
    # nvme rpmb /dev/nvme0 --cmd=program-key -key='SecretKey' --target=1
    +
    +
  • +
  • +

    +Read current write counter of RPMB target 0 +

    +
    +
    +
    # nvme rpmb /dev/nvme0 --cmd=read-counter --target=0
    +
    +
  • +
  • +

    +Read configuration data block of target 2 into config.bin file +

    +
    +
    +
    # nvme rpmb /dev/nvme0 --cmd=read-config --target=2 -f config.bin
    +
    +
  • +
  • +

    +Write 200 blocks of (512 bytes) from input.bin onto target 0 +

    +
    +
    +
    # nvme rpmb /dev/nvme0 -c write-data -t 0 -f input.bin -b 200 -k 'SecretKey'
    +
    +
  • +
  • +

    +Read 200 blocks of (512 bytes) from target 2, at offset 0x100 and save the +

    +
  • +
  • +

    +data onto output.bin +

    +
    +
    +
    # nvme rpmb /dev/nvme0 -c read-data -t 2 -f out.bin -b 200 -o 0x100
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-rpmb.txt b/Documentation/nvme-rpmb.txt new file mode 100644 index 0000000..9dc954d --- /dev/null +++ b/Documentation/nvme-rpmb.txt @@ -0,0 +1,158 @@ +nvme-rpmb(1) +============== + +NAME +---- +nvme-rpmb - Send RPMB commands to an NVMe device + +SYNOPSIS +-------- +[verse] +'nvme rpmb' [--cmd= | -c ] + [--msgfile= | -f ] + [--keyfile= | -g ] + [--key= | -k ] [--msg= | -d ] + [--address= | -o ] + [--blocks=<512 byte sectors> | -b ] + [--target= | -t ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, send an nvme rpmb command and provide the results. + +The parameter is mandatory and NVMe character device (ex: /dev/nvme0) +must be specified. If the given device supports RPMB targets, command given +with --cmd or -c option shall be sent to the controller. If given NVMe device +doesn't support RPMB targets, a message indicating the same shall be printed +along with controller register values related RPMB. + +OPTIONS +------- +-c :: +--cmd=:: + RPMB command to be sent to the device. It can be one of the following + + info - print information regarding supported RPMB targets and + access and total sizes. No further arguments are required + + program-key - program 'key' specified with -k option or key read from + file specified with --keyfile option to the specified + RPMB target given with --target or -t options. As per + spec, this is one time action which can't be undone. + + read-counter - Read 'write counter' of specified RPMB target. The + counter value read is printed onto STDOUT + + read-config - Read 512 bytes of device configuration block data of + specified RPMB target of the NVMe device. The data read + is written to input file specified with --msgfile or -f + option. + write-config - Write 512 byes of device configuration block data + from file specified by --msgfile or -f options to the + RPMB target specified with --target or -t options. + + read-data - Supports authenticated data reading from specified + RPMB target (--target or -t option) at given offset + specified with --address or -o option, using key + specified using --keyfile or -k options. --blocks or + -o option should be given to read the amount of data + to be read in 512 byte blocks. + + write-data - Supports authenticated data writing to specified RPMB + target (--target or -t option) at given offset + specified with --address or -o option, using key + specified using --keyfile or -k options. --blocks or + -o option should be given to indicate amount of data + to be written in 512 byte blocks. + + For data transfer (read/write) commands, if the specified size is not + within the total size supported by a target, the request is failed + nvme-rpmb without sending it to device. RPMB target 0 is used as the + default target if --target or -t is not specified. 0x0 is used as the + default address if no -address or -o option is specified, + +-t :: +--target=:: + RPMB target id. This should be one of the supported RPMB targets as + reported by 'info' command. If nothing is given, default of 0 is used + as RPMB target. + +-k :: +--key=:: +-g :: +--keyfile=:: + Authentication key to be used for read/write commands. This should have + been already programmed by 'program-key' command for given target. Key + can be specified on command line using --key or -k options. Key can + also be specified using file argument specified with --keyfile or -g + options. + +-f :: +--msgfile=:: + Name of the file to be used for data transfer commands (read or write). + For read command, if an existing file is specified, it will be appended. + +-d :: +--msg=:: + These options provide the data on the command line itself. +-o :: +--address=:: + The address (in 512 byte sector offset from 0) to be used for data + transfer commands (read or write) for a specified RPMB target. +-b:: +--blocks=:: + The size in 512 byte sectors to be used for data transfer commands + (read or write) for a specified RPMB target. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print RPMB support information of an NVMe device ++ +----------- +# nvme rpmb /dev/nvme0 --cmd=info +----------- ++ +* Program 'SecretKey' as authentication key for target 1 ++ +------------ +# nvme rpmb /dev/nvme0 --cmd=program-key -key='SecretKey' --target=1 +------------ ++ +* Read current write counter of RPMB target 0 ++ +------------ +# nvme rpmb /dev/nvme0 --cmd=read-counter --target=0 +------------ ++ +* Read configuration data block of target 2 into config.bin file ++ +------------ +# nvme rpmb /dev/nvme0 --cmd=read-config --target=2 -f config.bin +------------ ++ +* Write 200 blocks of (512 bytes) from input.bin onto target 0 ++ +------------ +# nvme rpmb /dev/nvme0 -c write-data -t 0 -f input.bin -b 200 -k 'SecretKey' +------------ ++ +* Read 200 blocks of (512 bytes) from target 2, at offset 0x100 and save the +* data onto output.bin ++ +------------ +# nvme rpmb /dev/nvme0 -c read-data -t 2 -f out.bin -b 200 -o 0x100 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-sanitize-log.1 b/Documentation/nvme-sanitize-log.1 new file mode 100644 index 0000000..11ce433 --- /dev/null +++ b/Documentation/nvme-sanitize-log.1 @@ -0,0 +1,155 @@ +'\" t +.\" Title: nvme-sanitize-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SANITIZE\-LOG" "1" "02/14/2024" "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-sanitize-log \- Send NVMe sanitize\-log Command, return result +.SH "SYNOPSIS" +.sp +.nf +\fInvme sanitize\-log\fR [\-\-rae | \-r] [\-\-human\-readable | \-H] + [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Sanitize log page from an NVMe device and provides the status of sanitize command\&. +.sp +The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. +.sp +Expected status and description :\- +.TS +allbox tab(:); +ltB ltB. +T{ +Status Code +T}:T{ +Description +T} +.T& +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +.sp +0x0000 +T}:T{ +.sp +NVM subsystem has never been sanitized\&. +T} +T{ +.sp +0x0001 +T}:T{ +.sp +The most recent sanitize operation completed successfully\&. +T} +T{ +.sp +0x0002 +T}:T{ +.sp +A sanitize operation is currently in progress\&. +T} +T{ +.sp +0x0003 +T}:T{ +.sp +The most recent sanitize operation failed\&. +T} +T{ +.sp +0x0100 +T}:T{ +.sp +Global Data Erased bit If set to 1 then non\-volatile storage in the NVM subsystem has not been written to: a) since being manufactured and the NVM subsystem has never been sanitized; or b) since the most recent successful sanitize operation\&. If cleared to 0, then non\-volatile storage in the NVM subsystem has been written to: a) since being manufactured and the NVM subsystem has never been sanitized; or b) since the most recent successful sanitize operation of the NVM subsystem\&. +T} +.TE +.sp 1 +.sp +Sanitize Progress \- percentage complete +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.PP +\-r, \-\-rae +.RS 4 +Retain an Asynchronous Event\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program issue Sanitize\-log Command : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme sanitize\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-sanitize-log.html b/Documentation/nvme-sanitize-log.html new file mode 100644 index 0000000..6872560 --- /dev/null +++ b/Documentation/nvme-sanitize-log.html @@ -0,0 +1,910 @@ + + + + + + +nvme-sanitize-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme sanitize-log <device> [--rae | -r] [--human-readable | -H]
+                        [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Sanitize log page from an NVMe device and provides the +status of sanitize command.

+

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

+

Expected status and description :-

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Status Code Description

0x0000

NVM subsystem has never been sanitized.

0x0001

The most recent sanitize operation completed successfully.

0x0002

A sanitize operation is currently in progress.

0x0003

The most recent sanitize operation failed.

0x0100

Global Data Erased bit +If set to 1 then non-volatile storage in the NVM subsystem has +not been written to: + a) since being manufactured and the NVM subsystem has never been sanitized; or + b) since the most recent successful sanitize operation. +If cleared to 0, then non-volatile storage in the NVM subsystem has been written to: + a) since being manufactured and the NVM subsystem has never been sanitized; or + b) since the most recent successful sanitize operation of the NVM subsystem.

+
+

Sanitize Progress - percentage complete

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

+
+
+
+-r +
+
+--rae +
+
+

+ Retain an Asynchronous Event. +

+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

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

+ Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program issue Sanitize-log Command : +

    +
    +
    +
    # nvme sanitize-log /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-sanitize-log.txt b/Documentation/nvme-sanitize-log.txt new file mode 100644 index 0000000..af45e9f --- /dev/null +++ b/Documentation/nvme-sanitize-log.txt @@ -0,0 +1,90 @@ +nvme-sanitize-log(1) +==================== + +NAME +---- +nvme-sanitize-log - Send NVMe sanitize-log Command, return result + +SYNOPSIS +-------- +[verse] +'nvme sanitize-log' [--rae | -r] [--human-readable | -H] + [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe Sanitize log page from an NVMe device and provides the +status of sanitize command. + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +Expected status and description :- + +[cols="2*", options="header"] +|=== +|Status Code |Description + +|0x0000 +|NVM subsystem has never been sanitized. + +|0x0001 +|The most recent sanitize operation completed successfully. + +|0x0002 +|A sanitize operation is currently in progress. + +|0x0003 +|The most recent sanitize operation failed. + +|0x0100 +|Global Data Erased bit +If set to 1 then non-volatile storage in the NVM subsystem has +not been written to: + a) since being manufactured and the NVM subsystem has never been sanitized; or + b) since the most recent successful sanitize operation. +If cleared to 0, then non-volatile storage in the NVM subsystem has been written to: + a) since being manufactured and the NVM subsystem has never been sanitized; or + b) since the most recent successful sanitize operation of the NVM subsystem. +|=== + +Sanitize Progress - percentage complete + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-r:: +--rae:: + Retain an Asynchronous Event. + +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program issue Sanitize-log Command : ++ +------------ +# nvme sanitize-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sanitize.1 b/Documentation/nvme-sanitize.1 new file mode 100644 index 0000000..e5c815f --- /dev/null +++ b/Documentation/nvme-sanitize.1 @@ -0,0 +1,169 @@ +'\" t +.\" Title: nvme-sanitize +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SANITIZE" "1" "02/14/2024" "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-sanitize \- Send NVMe Sanitize Command, return result +.SH "SYNOPSIS" +.sp +.nf +\fInvme sanitize\fR [\-\-no\-dealloc | \-d] [\-\-oipbp | \-i] + [\-\-owpass= | \-n ] + [\-\-ause | \-u] [\-\-sanact= | \-a ] + [\-\-ovrpat= | \-p ] + [\-\-force] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends a Sanitize command and provides the result\&. +.sp +The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.PP +\-d, \-\-no\-dealloc +.RS 4 +No Deallocate After Sanitize: If set, then the controller shall not deallocate any logical blocks as a result of successfully completing the sanitize operation\&. If cleared, then the controller should deallocate logical blocks as a result of successfully completing the sanitize operation\&. This bit shall be ignored if the Sanitize Action field is set to 001b (i\&.e\&., Exit Failure Mode)\&. +.RE +.PP +\-i, \-\-oipbp +.RS 4 +Overwrite Invert Pattern Between Passes: If set, then the Overwrite Pattern shall be inverted between passes\&. If cleared, then the overwrite pattern shall not be inverted between passes\&. This bit shall be ignored unless the Sanitize Action field is set to 011b (i\&.e\&., Overwrite)\&. +.RE +.PP +\-n , \-\-owpass= +.RS 4 +Overwrite Pass Count: This field specifies the number of overwrite passes (i\&.e\&., how many times the media is to be overwritten) using the data from the Overwrite Pattern field of this command\&. A value of 0 specifies 16 overwrite passes\&. This field shall be ignored unless the Sanitize Action field is set to 011b (i\&.e\&., Overwrite)\&. +.RE +.PP +\-u, \-\-ause +.RS 4 +Allow Unrestricted Sanitize Exit: If set, then the sanitize operation is performed in unrestricted completion mode\&. If cleared then the sanitize operation is performed in restricted completion mode\&. This bit shall be ignored if the Sanitize Action field is set to 001b (i\&.e\&., Exit Failure Mode)\&. +.RE +.PP +\-a , \-\-sanact= +.RS 4 +Sanitize Action: +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +0x00 +T}:T{ +Reserved +T} +T{ +0x01 | +\fIexit\-failure\fR +T}:T{ +Exit Failure Mode +T} +T{ +0x02 | +\fIstart\-block\-erase\fR +T}:T{ +Start a Block Erase sanitize operation +T} +T{ +0x03 | +\fIstart\-overwrite\fR +T}:T{ +Start an Overwrite sanitize operation +T} +T{ +0x04 | +\fIstart\-crypto\-erase\fR +T}:T{ +Start a Crypto Erase sanitize operation +T} +.TE +.sp 1 +.RE +.PP +\-p , \-\-ovrpat= +.RS 4 +Overwrite Pattern: This field is ignored unless the Sanitize Action field in Command Dword 10 is set to 011b (i\&.e\&., Overwrite)\&. This field specifies a 32\-bit pattern that is used for the Overwrite sanitize operation\&. +.RE +.PP +\-\-force +.RS 4 +Ignore namespace is currently busy and performed the operation even though\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program issue Sanitize Command : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme sanitize /dev/nvme0 \-a 0x02 +# nvme sanitize /dev/nvme0 \-\-sanact=0x01 +# nvme sanitize /dev/nvme0 \-\-sanact=start\-overwrite +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-sanitize.html b/Documentation/nvme-sanitize.html new file mode 100644 index 0000000..4469620 --- /dev/null +++ b/Documentation/nvme-sanitize.html @@ -0,0 +1,967 @@ + + + + + + +nvme-sanitize(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme sanitize <device> [--no-dealloc | -d] [--oipbp | -i]
+                        [--owpass=<overwrite-pass-count> | -n <overwrite-pass-count>]
+                        [--ause | -u] [--sanact=<action> | -a <action>]
+                        [--ovrpat=<overwrite-pattern> | -p <overwrite-pattern>]
+                        [--force]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends a Sanitize command and +provides the result.

+

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

+
+
+
+-d +
+
+--no-dealloc +
+
+

+ No Deallocate After Sanitize: + If set, then the controller shall not deallocate any logical + blocks as a result of successfully completing the sanitize + operation. If cleared, then the controller should deallocate + logical blocks as a result of successfully completing the + sanitize operation. This bit shall be ignored if the Sanitize + Action field is set to 001b (i.e., Exit Failure Mode). +

+
+
+-i +
+
+--oipbp +
+
+

+ Overwrite Invert Pattern Between Passes: + If set, then the Overwrite Pattern shall be inverted between + passes. If cleared, then the overwrite pattern shall not be + inverted between passes. This bit shall be ignored unless the + Sanitize Action field is set to 011b (i.e., Overwrite). +

+
+
+-n <overwrite-pass-count> +
+
+--owpass=<overwrite-pass-count> +
+
+

+ Overwrite Pass Count: + This field specifies the number of overwrite passes (i.e., + how many times the media is to be overwritten) using the data + from the Overwrite Pattern field of this command. A value of 0 + specifies 16 overwrite passes. This field shall be ignored + unless the Sanitize Action field is set to 011b (i.e., Overwrite). +

+
+
+-u +
+
+--ause +
+
+

+ Allow Unrestricted Sanitize Exit: + If set, then the sanitize operation is performed in unrestricted + completion mode. If cleared then the sanitize operation is + performed in restricted completion mode. This bit shall be ignored + if the Sanitize Action field is set to 001b (i.e., Exit Failure Mode). +

+
+
+-a <action> +
+
+--sanact=<action> +
+
+

+ Sanitize Action: +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + +

Value

Definition

0x00

Reserved

0x01 | exit-failure

Exit Failure Mode

0x02 | start-block-erase

Start a Block Erase sanitize operation

0x03 | start-overwrite

Start an Overwrite sanitize operation

0x04 | start-crypto-erase

Start a Crypto Erase sanitize operation

+
+
+
+-p <overwrite-pattern> +
+
+--ovrpat=<overwrite-pattern> +
+
+

+ Overwrite Pattern: + This field is ignored unless the Sanitize Action field in + Command Dword 10 is set to 011b (i.e., Overwrite). This field + specifies a 32-bit pattern that is used for the Overwrite + sanitize operation. +

+
+
+--force +
+
+

+ Ignore namespace is currently busy and performed the operation + even though. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program issue Sanitize Command : +

    +
    +
    +
    # nvme sanitize /dev/nvme0 -a 0x02
    +# nvme sanitize /dev/nvme0 --sanact=0x01
    +# nvme sanitize /dev/nvme0 --sanact=start-overwrite
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-sanitize.txt b/Documentation/nvme-sanitize.txt new file mode 100644 index 0000000..1e43463 --- /dev/null +++ b/Documentation/nvme-sanitize.txt @@ -0,0 +1,112 @@ +nvme-sanitize(1) +================ + +NAME +---- +nvme-sanitize - Send NVMe Sanitize Command, return result + +SYNOPSIS +-------- +[verse] +'nvme sanitize' [--no-dealloc | -d] [--oipbp | -i] + [--owpass= | -n ] + [--ause | -u] [--sanact= | -a ] + [--ovrpat= | -p ] + [--force] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe device given, sends a Sanitize command and +provides the result. + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-d:: +--no-dealloc:: + No Deallocate After Sanitize: + If set, then the controller shall not deallocate any logical + blocks as a result of successfully completing the sanitize + operation. If cleared, then the controller should deallocate + logical blocks as a result of successfully completing the + sanitize operation. This bit shall be ignored if the Sanitize + Action field is set to 001b (i.e., Exit Failure Mode). + +-i:: +--oipbp:: + Overwrite Invert Pattern Between Passes: + If set, then the Overwrite Pattern shall be inverted between + passes. If cleared, then the overwrite pattern shall not be + inverted between passes. This bit shall be ignored unless the + Sanitize Action field is set to 011b (i.e., Overwrite). + +-n :: +--owpass=:: + Overwrite Pass Count: + This field specifies the number of overwrite passes (i.e., + how many times the media is to be overwritten) using the data + from the Overwrite Pattern field of this command. A value of 0 + specifies 16 overwrite passes. This field shall be ignored + unless the Sanitize Action field is set to 011b (i.e., Overwrite). + +-u:: +--ause:: + Allow Unrestricted Sanitize Exit: + If set, then the sanitize operation is performed in unrestricted + completion mode. If cleared then the sanitize operation is + performed in restricted completion mode. This bit shall be ignored + if the Sanitize Action field is set to 001b (i.e., Exit Failure Mode). + +-a :: +--sanact=:: + Sanitize Action: ++ +[] +|================= +|Value|Definition +|0x00| Reserved +|0x01 \| 'exit-failure'| Exit Failure Mode +|0x02 \| 'start-block-erase'| Start a Block Erase sanitize operation +|0x03 \| 'start-overwrite'| Start an Overwrite sanitize operation +|0x04 \| 'start-crypto-erase'| Start a Crypto Erase sanitize operation +|================= + +-p :: +--ovrpat=:: + Overwrite Pattern: + This field is ignored unless the Sanitize Action field in + Command Dword 10 is set to 011b (i.e., Overwrite). This field + specifies a 32-bit pattern that is used for the Overwrite + sanitize operation. + +--force:: + Ignore namespace is currently busy and performed the operation + even though. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program issue Sanitize Command : ++ +------------ +# nvme sanitize /dev/nvme0 -a 0x02 +# nvme sanitize /dev/nvme0 --sanact=0x01 +# nvme sanitize /dev/nvme0 --sanact=start-overwrite + +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-seagate-clear-fw-activate-history.1 b/Documentation/nvme-seagate-clear-fw-activate-history.1 new file mode 100644 index 0000000..b5eb66a --- /dev/null +++ b/Documentation/nvme-seagate-clear-fw-activate-history.1 @@ -0,0 +1,60 @@ +'\" t +.\" Title: nvme-seagate-clear-fw-activate-history +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-CLEAR" "1" "02/14/2024" "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-seagate-clear-fw-activate-history \- Clear the firmware activation history for a given Seagate device\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate clear\-fw\-activate\-history [OPTIONS]\fR +.fi +.SH "DESCRIPTION" +.sp +This command will only work on Seagate devices supporting this feature\&. Not all commands work across all product families\&. +.sp +The \fI\fR may be either an NVMe character device (ex: /dev/nvme0) or an nvme block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.sp +\-s \-\-save:: specifies that the controller shall save the attribute\&. +.SH "EXAMPLES" +.sp +Clear the FW Activation History for the given Seagate device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate clear\-fw\-activate\-history /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-clear-fw-activate-history.html b/Documentation/nvme-seagate-clear-fw-activate-history.html new file mode 100644 index 0000000..5502b59 --- /dev/null +++ b/Documentation/nvme-seagate-clear-fw-activate-history.html @@ -0,0 +1,799 @@ + + + + + + +nvme-seagate-clear-fw-activate-history (1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate clear-fw-activate-history <device> [OPTIONS]
+
+
+
+
+
+

DESCRIPTION

+
+

This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families.

+

The <device> may be either an NVMe character device (ex: /dev/nvme0) or an +nvme block device (ex: /dev/nvme0n1).

+
+
+
+

OPTIONS

+
+

-s +--save:: + specifies that the controller shall save the attribute.

+
+
+
+

EXAMPLES

+
+

Clear the FW Activation History for the given Seagate device.

+
+
+
# nvme seagate clear-fw-activate-history /dev/nvme0
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-clear-fw-activate-history.txt b/Documentation/nvme-seagate-clear-fw-activate-history.txt new file mode 100644 index 0000000..01f018b --- /dev/null +++ b/Documentation/nvme-seagate-clear-fw-activate-history.txt @@ -0,0 +1,37 @@ +nvme-seagate-clear-fw-activate-history (1) +============================================ + +NAME +---- +nvme-seagate-clear-fw-activate-history - Clear the firmware activation history for a given Seagate device. + +SYNOPSIS +-------- +[verse] +'nvme seagate clear-fw-activate-history [OPTIONS]' + +DESCRIPTION +----------- +This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families. + +The '' may be either an NVMe character device (ex: /dev/nvme0) or an +nvme block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-s +--save:: + specifies that the controller shall save the attribute. + +EXAMPLES +-------- +Clear the FW Activation History for the given Seagate device. + +------------ +# nvme seagate clear-fw-activate-history /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-clear-pcie-correctable-errors.1 b/Documentation/nvme-seagate-clear-pcie-correctable-errors.1 new file mode 100644 index 0000000..8aaf4f5 --- /dev/null +++ b/Documentation/nvme-seagate-clear-pcie-correctable-errors.1 @@ -0,0 +1,63 @@ +'\" t +.\" Title: nvme-seagate-clear-pcie-correctable-errors +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-CLEAR" "1" "02/14/2024" "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-seagate-clear-pcie-correctable-errors \- Clear Seagate PCIe error statistics +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate clear\-pcie\-correctable\-errors [] [OPTIONS]\fR +.fi +.SH "DESCRIPTION" +.sp +This command will only work on Seagate devices supporting this feature\&. Not all commands work across all product families\&. +.sp +The \fI\fR parameter is mandatory and may be either an NVMe character device (ex: /dev/nvme0), or an nvme block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-s, \-\-save +.RS 4 +Specifies that the controller shall save the attribute +.RE +.SH "EXAMPLES" +.sp +Clears the PCIe error statistics from the device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate clear\-pcie\-correctable\-errors /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-clear-pcie-correctable-errors.html b/Documentation/nvme-seagate-clear-pcie-correctable-errors.html new file mode 100644 index 0000000..08ef87d --- /dev/null +++ b/Documentation/nvme-seagate-clear-pcie-correctable-errors.html @@ -0,0 +1,809 @@ + + + + + + +nvme-seagate-clear-pcie-correctable-errors(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate clear-pcie-correctable-errors [<device>] [OPTIONS]
+
+
+
+
+
+

DESCRIPTION

+
+

This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families.

+

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

+
+
+
+

OPTIONS

+
+
+
+-s +
+
+--save +
+
+

+ Specifies that the controller shall save the attribute +

+
+
+
+
+
+

EXAMPLES

+
+

Clears the PCIe error statistics from the device.

+
+
+
# nvme seagate clear-pcie-correctable-errors /dev/nvme0
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-clear-pcie-correctable-errors.txt b/Documentation/nvme-seagate-clear-pcie-correctable-errors.txt new file mode 100644 index 0000000..1239f83 --- /dev/null +++ b/Documentation/nvme-seagate-clear-pcie-correctable-errors.txt @@ -0,0 +1,38 @@ +nvme-seagate-clear-pcie-correctable-errors(1) +============================================= + +NAME +---- +nvme-seagate-clear-pcie-correctable-errors - Clear Seagate PCIe error statistics + +SYNOPSIS +-------- +[verse] +'nvme seagate clear-pcie-correctable-errors [] [OPTIONS]' + +DESCRIPTION +----------- + +This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families. + +The '' parameter is mandatory and may be either an NVMe character device (ex: /dev/nvme0), or an +nvme block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-s:: +--save:: + Specifies that the controller shall save the attribute + +EXAMPLES +-------- +Clears the PCIe error statistics from the device. + +------------ +# nvme seagate clear-pcie-correctable-errors /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-cloud-SSD-plugin-version.1 b/Documentation/nvme-seagate-cloud-SSD-plugin-version.1 new file mode 100644 index 0000000..88f683b --- /dev/null +++ b/Documentation/nvme-seagate-cloud-SSD-plugin-version.1 @@ -0,0 +1,58 @@ +'\" t +.\" Title: nvme-seagate-cloud-SSD-plugin-version +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-CLOUD" "1" "02/14/2024" "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-seagate-cloud-SSD-plugin-version \- Shows OCP Seagate plugin\*(Aqs version information +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate cloud\-SSD\-plugin\-version\fR +.fi +.SH "DESCRIPTION" +.sp +Shows OCP Seagate plugin\(cqs version information +.SH "OPTIONS" +.sp +No Options +.SH "EXAMPLES" +.sp +Get the OCP plugin version of the specific nvme device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate cloud\-SSD\-plugin\-version +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-cloud-SSD-plugin-version.html b/Documentation/nvme-seagate-cloud-SSD-plugin-version.html new file mode 100644 index 0000000..e8628ad --- /dev/null +++ b/Documentation/nvme-seagate-cloud-SSD-plugin-version.html @@ -0,0 +1,794 @@ + + + + + + +nvme-seagate-cloud-SSD-plugin-version (1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate cloud-SSD-plugin-version
+
+
+
+
+
+

DESCRIPTION

+
+

Shows OCP Seagate plugin’s version information

+
+
+
+

OPTIONS

+
+

No Options

+
+
+
+

EXAMPLES

+
+

Get the OCP plugin version of the specific nvme device.

+
+
+
# nvme seagate cloud-SSD-plugin-version
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-cloud-SSD-plugin-version.txt b/Documentation/nvme-seagate-cloud-SSD-plugin-version.txt new file mode 100644 index 0000000..f9a92af --- /dev/null +++ b/Documentation/nvme-seagate-cloud-SSD-plugin-version.txt @@ -0,0 +1,31 @@ +nvme-seagate-cloud-SSD-plugin-version (1) +========================================= + +NAME +---- +nvme-seagate-cloud-SSD-plugin-version - Shows OCP Seagate plugin's version information + +SYNOPSIS +-------- +[verse] +'nvme seagate cloud-SSD-plugin-version' + +DESCRIPTION +----------- +Shows OCP Seagate plugin's version information + +OPTIONS +------- +No Options + +EXAMPLES +-------- +Get the OCP plugin version of the specific nvme device. + +------------ +# nvme seagate cloud-SSD-plugin-version +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-get-ctrl-tele.1 b/Documentation/nvme-seagate-get-ctrl-tele.1 new file mode 100644 index 0000000..e4f0af6 --- /dev/null +++ b/Documentation/nvme-seagate-get-ctrl-tele.1 @@ -0,0 +1,68 @@ +'\" t +.\" Title: nvme-seagate-get-ctrl-tele +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-GET\-" "1" "02/14/2024" "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-seagate-get-ctrl-tele \- Retrieve Seagate Controller\-Initiated Telemetry in either hex\-dump (default) or binary format +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate get\-ctrl\-tele [OPTIONS]\fR +.fi +.SH "DESCRIPTION" +.sp +This command will only work on Seagate devices supporting this feature\&. Not all commands work across all product families\&. +.sp +The \*(Aq\*(Aqparameter is mandatory and may be either an NVMe character device (ex: /dev/nvme0) or an nvme block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Desired namespace +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Output in raw format +.RE +.SH "EXAMPLES" +.sp +Get the controller initiated telemetry log in hexdump or binary format for the specified device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate get\-ctrl\-tele /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-get-ctrl-tele.html b/Documentation/nvme-seagate-get-ctrl-tele.html new file mode 100644 index 0000000..6b9e4e3 --- /dev/null +++ b/Documentation/nvme-seagate-get-ctrl-tele.html @@ -0,0 +1,820 @@ + + + + + + +nvme-seagate-get-ctrl-tele(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate get-ctrl-tele <device> [OPTIONS]
+
+
+
+
+
+

DESCRIPTION

+
+

This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families.

+

The '<device>'parameter is mandatory and may be either an NVMe character device (ex: /dev/nvme0) or an +nvme block device (ex: /dev/nvme0n1).

+
+
+
+

OPTIONS

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

+ Desired namespace +

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

+ Output in raw format +

+
+
+
+
+
+

EXAMPLES

+
+

Get the controller initiated telemetry log in hexdump or binary format for the specified device.

+
+
+
# nvme seagate get-ctrl-tele /dev/nvme0
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-get-ctrl-tele.txt b/Documentation/nvme-seagate-get-ctrl-tele.txt new file mode 100644 index 0000000..4bb7362 --- /dev/null +++ b/Documentation/nvme-seagate-get-ctrl-tele.txt @@ -0,0 +1,42 @@ +nvme-seagate-get-ctrl-tele(1) +============================= + +NAME +---- +nvme-seagate-get-ctrl-tele - Retrieve Seagate Controller-Initiated Telemetry in +either hex-dump (default) or binary format + +SYNOPSIS +-------- +[verse] +'nvme seagate get-ctrl-tele [OPTIONS]' + +DESCRIPTION +----------- +This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families. + +The ''parameter is mandatory and may be either an NVMe character device (ex: /dev/nvme0) or an +nvme block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-n :: +--namespace-id=:: + Desired namespace + +-b:: +--raw-binary:: + Output in raw format + +EXAMPLES +-------- +Get the controller initiated telemetry log in hexdump or binary format for the specified device. + +------------ +# nvme seagate get-ctrl-tele /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-get-host-tele.1 b/Documentation/nvme-seagate-get-host-tele.1 new file mode 100644 index 0000000..398c2a4 --- /dev/null +++ b/Documentation/nvme-seagate-get-host-tele.1 @@ -0,0 +1,73 @@ +'\" t +.\" Title: nvme-seagate-get-host-tele +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-GET\-" "1" "02/14/2024" "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-seagate-get-host-tele \- Retrieve Seagate Host\-Initiated Telemetry in either hex\-dump (default) or binary format +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate get\-host\-tele [OPTIONS]\fR +.fi +.SH "DESCRIPTION" +.sp +This will only work on Seagate devices supporting this feature\&. Not all commands work across all product families\&. +.sp +The \fI\fR parameter is mandatory and may be either an NVMe character device (ex: /dev/nvme0) or an block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +desired namespace +.RE +.PP +\-i , \-\-log_specific= +.RS 4 +1 \- controller shall capture Data representing the internal state of the controller at the time the command is processed\&. 0 \- controller shall not update the Telemetry Host Initiated Data\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +output in raw format +.RE +.SH "EXAMPLES" +.sp +Get the host initiated telemetry log in hexdump or binary format for the specified device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate get\-host\-tele /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-get-host-tele.html b/Documentation/nvme-seagate-get-host-tele.html new file mode 100644 index 0000000..8549d55 --- /dev/null +++ b/Documentation/nvme-seagate-get-host-tele.html @@ -0,0 +1,833 @@ + + + + + + +nvme-seagate-get-host-tele(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate get-host-tele <device> [OPTIONS]
+
+
+
+
+
+

DESCRIPTION

+
+

This will only work on Seagate devices supporting this feature. Not all +commands work across all product families.

+

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

+
+
+
+

OPTIONS

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

+ desired namespace +

+
+
+-i <NUM> +
+
+--log_specific=<NUM> +
+
+

+ 1 - controller shall capture Data representing the internal state of the + controller at the time the command is processed. + 0 - controller shall not update the Telemetry Host Initiated Data. +

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

+ output in raw format +

+
+
+
+
+
+

EXAMPLES

+
+

Get the host initiated telemetry log in hexdump or binary format for the specified device.

+
+
+
# nvme seagate get-host-tele /dev/nvme0
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-get-host-tele.txt b/Documentation/nvme-seagate-get-host-tele.txt new file mode 100644 index 0000000..83cdefc --- /dev/null +++ b/Documentation/nvme-seagate-get-host-tele.txt @@ -0,0 +1,48 @@ +nvme-seagate-get-host-tele(1) +============================= + +NAME +---- +nvme-seagate-get-host-tele - Retrieve Seagate Host-Initiated Telemetry in +either hex-dump (default) or binary format + +SYNOPSIS +-------- +[verse] +'nvme seagate get-host-tele [OPTIONS]' + +DESCRIPTION +----------- +This will only work on Seagate devices supporting this feature. Not all +commands work across all product families. + +The '' parameter is mandatory and may be either an NVMe character device +(ex: /dev/nvme0) or an block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-n :: +--namespace-id=:: + desired namespace + +-i :: +--log_specific=:: + 1 - controller shall capture Data representing the internal state of the + controller at the time the command is processed. + 0 - controller shall not update the Telemetry Host Initiated Data. + +-b:: +--raw-binary:: + output in raw format + +EXAMPLES +-------- +Get the host initiated telemetry log in hexdump or binary format for the specified device. + +------------ +# nvme seagate get-host-tele /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-help.1 b/Documentation/nvme-seagate-help.1 new file mode 100644 index 0000000..3f3a9aa --- /dev/null +++ b/Documentation/nvme-seagate-help.1 @@ -0,0 +1,85 @@ +'\" t +.\" Title: nvme-seagate-help +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-HELP" "1" "02/14/2024" "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-seagate-help \- Shows the Seagate plugin\*(Aqs help information +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate help\fR +.fi +.SH "DESCRIPTION" +.sp +Provides the help information for the Seagate plugin\&. +.SH "OPTIONS" +.sp +No Options +.SH "EXAMPLES" +.sp +Get help information for specific seagate sub\-commands\&. +.PP +Seagate vendor specific extensions +.RS 4 +The following are all implemented sub\-commands: +.sp +.if n \{\ +.RS 4 +.\} +.nf +vs\-temperature\-stats Retrieve Seagate temperature statistics +vs\-log\-page\-sup Retrieve Seagate Supported Log\-pages Information +vs\-smart\-add\-log Retrieve Seagate extended\-SMART Information +vs\-pcie\-stats Retrieve Seagate PCIe error statistics +clear\-pcie\-correctable\-errors Clear Seagate PCIe error statistics +get\-host\-tele Retrieve Seagate Host\-Initiated Telemetry +get\-ctrl\-tele Retrieve Seagate Controller\-Initiated Telemetry +vs\-internal\-log Retrieve Seagate Controller\-Initiated Telemetry in binary format +plugin\-version Shows Seagate plugin\*(Aqs version information +version Shows the program version +help Display this help +.fi +.if n \{\ +.RE +.\} +.RE +.sp +See \fInvme seagate help \fR for more information on a specific command +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate help +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-help.html b/Documentation/nvme-seagate-help.html new file mode 100644 index 0000000..fba2dc8 --- /dev/null +++ b/Documentation/nvme-seagate-help.html @@ -0,0 +1,819 @@ + + + + + + +nvme-seagate-help(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate help
+
+
+
+
+
+

DESCRIPTION

+
+

Provides the help information for the Seagate plugin.

+
+
+
+

OPTIONS

+
+

No Options

+
+
+
+

EXAMPLES

+
+

Get help information for specific seagate sub-commands.

+
+
+Seagate vendor specific extensions +
+
+

+The following are all implemented sub-commands: +

+
+
+
vs-temperature-stats            Retrieve Seagate temperature statistics
+vs-log-page-sup                 Retrieve Seagate Supported Log-pages Information
+vs-smart-add-log                Retrieve Seagate extended-SMART Information
+vs-pcie-stats                   Retrieve Seagate PCIe error statistics
+clear-pcie-correctable-errors   Clear Seagate PCIe error statistics
+get-host-tele                   Retrieve Seagate Host-Initiated Telemetry
+get-ctrl-tele                   Retrieve Seagate Controller-Initiated Telemetry
+vs-internal-log                 Retrieve Seagate Controller-Initiated Telemetry in binary format
+plugin-version                  Shows Seagate plugin's version information
+version                         Shows the program version
+help                            Display this help
+
+
+
+

See nvme seagate help <command> for more information on a specific command

+
+
+
# nvme seagate help
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-help.txt b/Documentation/nvme-seagate-help.txt new file mode 100644 index 0000000..0a077a8 --- /dev/null +++ b/Documentation/nvme-seagate-help.txt @@ -0,0 +1,49 @@ +nvme-seagate-help(1) +==================== + +NAME +---- +nvme-seagate-help - Shows the Seagate plugin's help information + +SYNOPSIS +-------- +[verse] +'nvme seagate help' + +DESCRIPTION +----------- +Provides the help information for the Seagate plugin. + +OPTIONS +------- +No Options + +EXAMPLES +-------- +Get help information for specific seagate sub-commands. + +Seagate vendor specific extensions:: + +The following are all implemented sub-commands: + + vs-temperature-stats Retrieve Seagate temperature statistics + vs-log-page-sup Retrieve Seagate Supported Log-pages Information + vs-smart-add-log Retrieve Seagate extended-SMART Information + vs-pcie-stats Retrieve Seagate PCIe error statistics + clear-pcie-correctable-errors Clear Seagate PCIe error statistics + get-host-tele Retrieve Seagate Host-Initiated Telemetry + get-ctrl-tele Retrieve Seagate Controller-Initiated Telemetry + vs-internal-log Retrieve Seagate Controller-Initiated Telemetry in binary format + plugin-version Shows Seagate plugin's version information + version Shows the program version + help Display this help + +See 'nvme seagate help ' for more information on a specific command + +------------ +# nvme seagate help +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-plugin-version.1 b/Documentation/nvme-seagate-plugin-version.1 new file mode 100644 index 0000000..702b64e --- /dev/null +++ b/Documentation/nvme-seagate-plugin-version.1 @@ -0,0 +1,58 @@ +'\" t +.\" Title: nvme-seagate-plugin-version +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-PLUGI" "1" "02/14/2024" "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-seagate-plugin-version \- Shows Seagate plugin\*(Aqs version information +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate plugin\-version\fR +.fi +.SH "DESCRIPTION" +.sp +Provides the help information for the Seagate plugin\&. +.SH "OPTIONS" +.sp +No Options +.SH "EXAMPLES" +.sp +Get the plugin version of the specific nvme device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate plugin\-version +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-plugin-version.html b/Documentation/nvme-seagate-plugin-version.html new file mode 100644 index 0000000..d72265a --- /dev/null +++ b/Documentation/nvme-seagate-plugin-version.html @@ -0,0 +1,794 @@ + + + + + + +nvme-seagate-plugin-version(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate plugin-version
+
+
+
+
+
+

DESCRIPTION

+
+

Provides the help information for the Seagate plugin.

+
+
+
+

OPTIONS

+
+

No Options

+
+
+
+

EXAMPLES

+
+

Get the plugin version of the specific nvme device.

+
+
+
# nvme seagate plugin-version
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-plugin-version.txt b/Documentation/nvme-seagate-plugin-version.txt new file mode 100644 index 0000000..5e4a759 --- /dev/null +++ b/Documentation/nvme-seagate-plugin-version.txt @@ -0,0 +1,31 @@ +nvme-seagate-plugin-version(1) +============================== + +NAME +---- +nvme-seagate-plugin-version - Shows Seagate plugin's version information + +SYNOPSIS +-------- +[verse] +'nvme seagate plugin-version' + +DESCRIPTION +----------- +Provides the help information for the Seagate plugin. + +OPTIONS +------- +No Options + +EXAMPLES +-------- +Get the plugin version of the specific nvme device. + +------------ +# nvme seagate plugin-version +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-version.1 b/Documentation/nvme-seagate-version.1 new file mode 100644 index 0000000..912d947 --- /dev/null +++ b/Documentation/nvme-seagate-version.1 @@ -0,0 +1,58 @@ +'\" t +.\" Title: nvme-seagate-version +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-VERSI" "1" "02/14/2024" "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-seagate-version \- Shows the Seagate version information for nvme\-cli +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate version\fR +.fi +.SH "DESCRIPTION" +.sp +Provides the git version information for the Seagate version for nvme\-cli\&. This is for the nvme\-cli tool\&. +.SH "OPTIONS" +.sp +No Options +.SH "EXAMPLES" +.sp +Get the Seagate version information for nvme\-cli\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate version +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-version.html b/Documentation/nvme-seagate-version.html new file mode 100644 index 0000000..44c9960 --- /dev/null +++ b/Documentation/nvme-seagate-version.html @@ -0,0 +1,794 @@ + + + + + + +nvme-seagate-version(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate version
+
+
+
+
+
+

DESCRIPTION

+
+

Provides the git version information for the Seagate version for nvme-cli. This is for the nvme-cli tool.

+
+
+
+

OPTIONS

+
+

No Options

+
+
+
+

EXAMPLES

+
+

Get the Seagate version information for nvme-cli.

+
+
+
# nvme seagate version
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-version.txt b/Documentation/nvme-seagate-version.txt new file mode 100644 index 0000000..2d5c7ce --- /dev/null +++ b/Documentation/nvme-seagate-version.txt @@ -0,0 +1,31 @@ +nvme-seagate-version(1) +======================= + +NAME +---- +nvme-seagate-version - Shows the Seagate version information for nvme-cli + +SYNOPSIS +-------- +[verse] +'nvme seagate version' + +DESCRIPTION +----------- +Provides the git version information for the Seagate version for nvme-cli. This is for the nvme-cli tool. + +OPTIONS +------- +No Options + +EXAMPLES +-------- +Get the Seagate version information for nvme-cli. + +------------ +# nvme seagate version +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-vs-fw-activate-history.1 b/Documentation/nvme-seagate-vs-fw-activate-history.1 new file mode 100644 index 0000000..cf43aa0 --- /dev/null +++ b/Documentation/nvme-seagate-vs-fw-activate-history.1 @@ -0,0 +1,68 @@ +'\" t +.\" Title: nvme-seagate-vs-fw-activate-history +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-VS\-F" "1" "02/14/2024" "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-seagate-vs-fw-activate-history \- Retrieve Seagate vendor specific Controller\-Initiated Telemetry in binary +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate vs\-fw\-activate\-history [OPTIONS]\fR +.fi +.SH "DESCRIPTION" +.sp +This command will only work on Seagate devices supporting this feature\&. Not all commands work across all product families\&. +.sp +The \fI\fR may be either an NVMe character device (ex: /dev/nvme0) or an nvme block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Desired namespace +.RE +.PP +\-f , \-\-dump\-file= +.RS 4 +Dump file +.RE +.SH "EXAMPLES" +.sp +Get the Seagate vendor specific Controller\-Initiated telemetry log for the specified device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate vs\-fw\-activate\-history /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-vs-fw-activate-history.html b/Documentation/nvme-seagate-vs-fw-activate-history.html new file mode 100644 index 0000000..a45e9ec --- /dev/null +++ b/Documentation/nvme-seagate-vs-fw-activate-history.html @@ -0,0 +1,820 @@ + + + + + + +nvme-seagate-vs-fw-activate-history (1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate vs-fw-activate-history <device> [OPTIONS]
+
+
+
+
+
+

DESCRIPTION

+
+

This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families.

+

The <device> may be either an NVMe character device (ex: /dev/nvme0) or an +nvme block device (ex: /dev/nvme0n1).

+
+
+
+

OPTIONS

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

+ Desired namespace +

+
+
+-f <FILE> +
+
+--dump-file=<FILE> +
+
+

+ Dump file +

+
+
+
+
+
+

EXAMPLES

+
+

Get the Seagate vendor specific Controller-Initiated telemetry log for the specified device.

+
+
+
# nvme seagate vs-fw-activate-history /dev/nvme0
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-vs-fw-activate-history.txt b/Documentation/nvme-seagate-vs-fw-activate-history.txt new file mode 100644 index 0000000..8df58b4 --- /dev/null +++ b/Documentation/nvme-seagate-vs-fw-activate-history.txt @@ -0,0 +1,42 @@ +nvme-seagate-vs-fw-activate-history (1) +======================================= + +NAME +---- +nvme-seagate-vs-fw-activate-history - Retrieve Seagate vendor specific +Controller-Initiated Telemetry in binary + +SYNOPSIS +-------- +[verse] +'nvme seagate vs-fw-activate-history [OPTIONS]' + +DESCRIPTION +----------- +This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families. + +The '' may be either an NVMe character device (ex: /dev/nvme0) or an +nvme block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-n :: +--namespace-id=:: + Desired namespace + +-f :: +--dump-file=:: + Dump file + +EXAMPLES +-------- +Get the Seagate vendor specific Controller-Initiated telemetry log for the specified device. + +------------ +# nvme seagate vs-fw-activate-history /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-vs-internal-log.1 b/Documentation/nvme-seagate-vs-internal-log.1 new file mode 100644 index 0000000..18c5a1b --- /dev/null +++ b/Documentation/nvme-seagate-vs-internal-log.1 @@ -0,0 +1,68 @@ +'\" t +.\" Title: nvme-seagate-vs-internal-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-VS\-I" "1" "02/14/2024" "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-seagate-vs-internal-log \- Retrieve Seagate vendor specific Controller\-Initiated Telemetry in binary +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate vs\-internal\-log [OPTIONS]\fR +.fi +.SH "DESCRIPTION" +.sp +This command will only work on Seagate devices supporting this feature\&. Not all commands work across all product families\&. +.sp +The \fI\fR parameter is mandatory and may be either an NVMe character device (ex: /dev/nvme0) or an nvme block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Desired namespace +.RE +.PP +\-f , \-\-dump\-file= +.RS 4 +Dump file +.RE +.SH "EXAMPLES" +.sp +Get the Seagate vendor specific Controller\-Initiated telemetry log for the specified device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate vs\-internal\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-vs-internal-log.html b/Documentation/nvme-seagate-vs-internal-log.html new file mode 100644 index 0000000..9eb5b72 --- /dev/null +++ b/Documentation/nvme-seagate-vs-internal-log.html @@ -0,0 +1,821 @@ + + + + + + +nvme-seagate-vs-internal-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate vs-internal-log <device> [OPTIONS]
+
+
+
+
+
+

DESCRIPTION

+
+

This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families.

+

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

+
+
+
+

OPTIONS

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

+ Desired namespace +

+
+
+-f <FILE> +
+
+--dump-file=<FILE> +
+
+

+ Dump file +

+
+
+
+
+
+

EXAMPLES

+
+

Get the Seagate vendor specific Controller-Initiated telemetry log for the +specified device.

+
+
+
# nvme seagate vs-internal-log /dev/nvme0
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-vs-internal-log.txt b/Documentation/nvme-seagate-vs-internal-log.txt new file mode 100644 index 0000000..4a895bc --- /dev/null +++ b/Documentation/nvme-seagate-vs-internal-log.txt @@ -0,0 +1,43 @@ +nvme-seagate-vs-internal-log(1) +=============================== + +NAME +---- +nvme-seagate-vs-internal-log - Retrieve Seagate vendor specific +Controller-Initiated Telemetry in binary + +SYNOPSIS +-------- +[verse] +'nvme seagate vs-internal-log [OPTIONS]' + +DESCRIPTION +----------- +This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families. + +The '' parameter is mandatory and may be either an NVMe character device +(ex: /dev/nvme0) or an nvme block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-n :: +--namespace-id=:: + Desired namespace + +-f :: +--dump-file=:: + Dump file + +EXAMPLES +-------- +Get the Seagate vendor specific Controller-Initiated telemetry log for the +specified device. + +------------ +# nvme seagate vs-internal-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-vs-log-page-sup.1 b/Documentation/nvme-seagate-vs-log-page-sup.1 new file mode 100644 index 0000000..470e2b5 --- /dev/null +++ b/Documentation/nvme-seagate-vs-log-page-sup.1 @@ -0,0 +1,75 @@ +'\" t +.\" Title: nvme-seagate-vs-log-page-sup +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-VS\-L" "1" "02/14/2024" "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-seagate-vs-log-page-sup \- Retrieve Seagate vendor specific Supported Log\-pages Information +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate vs\-log\-page\-sup [OPTIONS]\fR +.fi +.SH "DESCRIPTION" +.sp +This command will only work on Seagate devices supporting this feature\&. Not all commands work across all product families\&. +.sp +The \fI\fR may be either an NVMe character device (ex: /dev/nvme0) or an NVMe block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Output in binary format +.RE +.SH "EXAMPLES" +.sp +Get the vendor specific log page information for a particular device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate vs\-log\-page\-sup /dev/nvme0 +Output: +Seagate Supported Log\-pages count :8 +LogPage\-Id LogPage\-Name + +0x1 ERROR_INFORMATION +0x2 SMART_INFORMATION +0x3 FW_SLOT_INFORMATION +0x5 COMMANDS_SUPPORTED_AND_EFFECTS +0xC8 VS_RECENT_DRIVE_HISTORY +0xC4 VS_EXTENDED_SMART_INFO +0xC5 VS_LIST_SUPPORTED_LOG_PAGE +0xCB VS_PCIE_ERROR_LOG_PAGE +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-vs-log-page-sup.html b/Documentation/nvme-seagate-vs-log-page-sup.html new file mode 100644 index 0000000..da0d05b --- /dev/null +++ b/Documentation/nvme-seagate-vs-log-page-sup.html @@ -0,0 +1,821 @@ + + + + + + +nvme-seagate-vs-log-page-sup(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate vs-log-page-sup <device> [OPTIONS]
+
+
+
+
+
+

DESCRIPTION

+
+

This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families.

+

The <device> may be either an NVMe character device (ex: /dev/nvme0) or an +NVMe block device (ex: /dev/nvme0n1).

+
+
+
+

OPTIONS

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

+ Output in binary format +

+
+
+
+
+
+

EXAMPLES

+
+

Get the vendor specific log page information for a particular device.

+
+
+
# nvme seagate vs-log-page-sup /dev/nvme0
+Output:
+Seagate Supported Log-pages count :8
+LogPage-Id      LogPage-Name
+
+0x1              ERROR_INFORMATION
+0x2              SMART_INFORMATION
+0x3              FW_SLOT_INFORMATION
+0x5              COMMANDS_SUPPORTED_AND_EFFECTS
+0xC8             VS_RECENT_DRIVE_HISTORY
+0xC4             VS_EXTENDED_SMART_INFO
+0xC5             VS_LIST_SUPPORTED_LOG_PAGE
+0xCB             VS_PCIE_ERROR_LOG_PAGE
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-vs-log-page-sup.txt b/Documentation/nvme-seagate-vs-log-page-sup.txt new file mode 100644 index 0000000..55c65fd --- /dev/null +++ b/Documentation/nvme-seagate-vs-log-page-sup.txt @@ -0,0 +1,50 @@ +nvme-seagate-vs-log-page-sup(1) +=============================== + +NAME +---- +nvme-seagate-vs-log-page-sup - Retrieve Seagate vendor specific Supported +Log-pages Information + +SYNOPSIS +-------- +[verse] +'nvme seagate vs-log-page-sup [OPTIONS]' + +DESCRIPTION +----------- +This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families. + +The '' may be either an NVMe character device (ex: /dev/nvme0) or an +NVMe block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-o :: +--output-format=:: + Output in binary format + +EXAMPLES +-------- +Get the vendor specific log page information for a particular device. + +------------ +# nvme seagate vs-log-page-sup /dev/nvme0 +Output: +Seagate Supported Log-pages count :8 +LogPage-Id LogPage-Name + +0x1 ERROR_INFORMATION +0x2 SMART_INFORMATION +0x3 FW_SLOT_INFORMATION +0x5 COMMANDS_SUPPORTED_AND_EFFECTS +0xC8 VS_RECENT_DRIVE_HISTORY +0xC4 VS_EXTENDED_SMART_INFO +0xC5 VS_LIST_SUPPORTED_LOG_PAGE +0xCB VS_PCIE_ERROR_LOG_PAGE +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-vs-pcie-stats.1 b/Documentation/nvme-seagate-vs-pcie-stats.1 new file mode 100644 index 0000000..20650e4 --- /dev/null +++ b/Documentation/nvme-seagate-vs-pcie-stats.1 @@ -0,0 +1,63 @@ +'\" t +.\" Title: nvme-seagate-vs-pcie-stats +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-VS\-P" "1" "02/14/2024" "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-seagate-vs-pcie-stats \- Retrieve Seagate vendor specific PCIe error statistics +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate vs\-pcie\-stats [OPTIONS]\fR +.fi +.SH "DESCRIPTION" +.sp +This command will only work on Seagate devices supporting this feature\&. Not all commands work across all product families\&. +.sp +The \fI\fR parameter is mandatory and it may be either an NVMe character device (ex: /dev/nvme0) or an nvme block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Output in binary format +.RE +.SH "EXAMPLES" +.sp +Get the vendor specific PCIe error statistics for the specified device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate vs\-pcie\-stats /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-vs-pcie-stats.html b/Documentation/nvme-seagate-vs-pcie-stats.html new file mode 100644 index 0000000..7b8d5ec --- /dev/null +++ b/Documentation/nvme-seagate-vs-pcie-stats.html @@ -0,0 +1,809 @@ + + + + + + +nvme-seagate-vs-pcie-stats(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate vs-pcie-stats <device> [OPTIONS]
+
+
+
+
+
+

DESCRIPTION

+
+

This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families.

+

The <device> parameter is mandatory and it may be either an NVMe character device (ex: /dev/nvme0) or an +nvme block device (ex: /dev/nvme0n1).

+
+
+
+

OPTIONS

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

+ Output in binary format +

+
+
+
+
+
+

EXAMPLES

+
+

Get the vendor specific PCIe error statistics for the specified device.

+
+
+
# nvme seagate vs-pcie-stats /dev/nvme0
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-vs-pcie-stats.txt b/Documentation/nvme-seagate-vs-pcie-stats.txt new file mode 100644 index 0000000..86f87a3 --- /dev/null +++ b/Documentation/nvme-seagate-vs-pcie-stats.txt @@ -0,0 +1,38 @@ +nvme-seagate-vs-pcie-stats(1) +============================= + +NAME +---- +nvme-seagate-vs-pcie-stats - Retrieve Seagate vendor specific PCIe error +statistics + +SYNOPSIS +-------- +[verse] +'nvme seagate vs-pcie-stats [OPTIONS]' + +DESCRIPTION +----------- +This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families. + +The '' parameter is mandatory and it may be either an NVMe character device (ex: /dev/nvme0) or an +nvme block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-o :: +--output-format=:: + Output in binary format + +EXAMPLES +-------- +Get the vendor specific PCIe error statistics for the specified device. + +------------ +# nvme seagate vs-pcie-stats /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-vs-smart-add-log.1 b/Documentation/nvme-seagate-vs-smart-add-log.1 new file mode 100644 index 0000000..5a833f5 --- /dev/null +++ b/Documentation/nvme-seagate-vs-smart-add-log.1 @@ -0,0 +1,79 @@ +'\" t +.\" Title: nvme-seagate-vs-smart-add-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-VS\-S" "1" "02/14/2024" "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-seagate-vs-smart-add-log \- Retrieve Seagate vendor specific extended\-SMART Information +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate vs\-smart\-add\-log [OPTIONS]\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the Seagate vendor log request and either saves the result to a file or dumps the content to stdout\&. +.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 +The log contents may be associated with the controller, in which case the namespace parameter is ignored\&. +.sp +Two logs exist, page 0xC4 (Extended SMART log page) and page 0xCF (DRAM Supercap SMART log page) +.sp +This command will only work on Seagate devices supporting this feature\&. Not all commands work across all product families\&. +.SH "OPTIONS" +.PP +\-l , \-\-log= +.RS 4 +Log number, page 0xC4 (Extended SMART log page) and page 0xCF (DRAM Supercap SMART log page) +.RE +.PP +\-n , \-\-namespace\-id= +.RS 4 +Namespace number +.RE +.PP +\-o , \-\-output\-file= +.RS 4 +Output in binary format\&. Defaults to text\-formatted dump to stdout +.RE +.SH "EXAMPLES" +.sp +Get the vendor specific extended SMART information for the specified device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate vs\-smart\-add\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-vs-smart-add-log.html b/Documentation/nvme-seagate-vs-smart-add-log.html new file mode 100644 index 0000000..54912cf --- /dev/null +++ b/Documentation/nvme-seagate-vs-smart-add-log.html @@ -0,0 +1,837 @@ + + + + + + +nvme-seagate-vs-smart-add-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate vs-smart-add-log <device> [OPTIONS]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the Seagate vendor log +request and either saves the result to a file or dumps the content to stdout.

+

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

+

The log contents may be associated with the controller, in which case the namespace parameter is ignored.

+

Two logs exist, page 0xC4 (Extended SMART log page) and page 0xCF (DRAM Supercap SMART log page)

+

This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families.

+
+
+
+

OPTIONS

+
+
+
+-l <NUM> +
+
+--log=<NUM> +
+
+

+ Log number, page 0xC4 (Extended SMART log page) and page 0xCF (DRAM + Supercap SMART log page) +

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

+ Namespace number +

+
+
+-o <FILE> +
+
+--output-file=<FILE> +
+
+

+ Output in binary format. Defaults to text-formatted dump to stdout +

+
+
+
+
+
+

EXAMPLES

+
+

Get the vendor specific extended SMART information for the specified device.

+
+
+
# nvme seagate vs-smart-add-log /dev/nvme0
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-vs-smart-add-log.txt b/Documentation/nvme-seagate-vs-smart-add-log.txt new file mode 100644 index 0000000..836220a --- /dev/null +++ b/Documentation/nvme-seagate-vs-smart-add-log.txt @@ -0,0 +1,55 @@ +nvme-seagate-vs-smart-add-log(1) +================================ + +NAME +---- +nvme-seagate-vs-smart-add-log - Retrieve Seagate vendor specific extended-SMART +Information + +SYNOPSIS +-------- +[verse] +'nvme seagate vs-smart-add-log [OPTIONS]' + +DESCRIPTION +----------- +For the NVMe device given, sends the Seagate vendor log +request and either saves the result to a file or dumps the content to stdout. + +The parameter is mandatory and may be either the NVMe +character device (ex: /dev/nvme0), or a namespace block device (ex: +/dev/nvme0n1). + +The log contents may be associated with the controller, in which case the namespace parameter is ignored. + +Two logs exist, page 0xC4 (Extended SMART log page) and page 0xCF (DRAM Supercap SMART log page) + +This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families. + +OPTIONS +------- +-l :: +--log=:: + Log number, page 0xC4 (Extended SMART log page) and page 0xCF (DRAM + Supercap SMART log page) + +-n :: +--namespace-id=:: + Namespace number + +-o :: +--output-file=:: + Output in binary format. Defaults to text-formatted dump to stdout + +EXAMPLES +-------- +Get the vendor specific extended SMART information for the specified device. + +------------ +# nvme seagate vs-smart-add-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-seagate-vs-temperature-stats.1 b/Documentation/nvme-seagate-vs-temperature-stats.1 new file mode 100644 index 0000000..0de2ec1 --- /dev/null +++ b/Documentation/nvme-seagate-vs-temperature-stats.1 @@ -0,0 +1,63 @@ +'\" t +.\" Title: nvme-seagate-vs-temperature-stats +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SEAGATE\-VS\-T" "1" "02/14/2024" "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-seagate-vs-temperature-stats \- Retrieve Seagate vendor specific temperature statistics +.SH "SYNOPSIS" +.sp +.nf +\fInvme seagate vs\-temperature\-stats [OPTIONS]\fR +.fi +.SH "DESCRIPTION" +.sp +This command will only work on Seagate devices supporting this feature\&. Not all commands work across all product families\&. +.sp +The \*(Aq\*(Aqparameter is mandatory and it may be either an NVMe character device (ex: /dev/nvme0) or an nvme block device (ex: /dev/nvme0n1)\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Output in binary format +.RE +.SH "EXAMPLES" +.sp +Get vendor specific temperature statistics for the specified device\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme seagate vs\-temperature\-stats /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-seagate-vs-temperature-stats.html b/Documentation/nvme-seagate-vs-temperature-stats.html new file mode 100644 index 0000000..22f13c4 --- /dev/null +++ b/Documentation/nvme-seagate-vs-temperature-stats.html @@ -0,0 +1,809 @@ + + + + + + +nvme-seagate-vs-temperature-stats(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme seagate vs-temperature-stats <device> [OPTIONS]
+
+
+
+
+
+

DESCRIPTION

+
+

This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families.

+

The '<device>'parameter is mandatory and it may be either an NVMe character device (ex: /dev/nvme0) or an +nvme block device (ex: /dev/nvme0n1).

+
+
+
+

OPTIONS

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

+ Output in binary format +

+
+
+
+
+
+

EXAMPLES

+
+

Get vendor specific temperature statistics for the specified device.

+
+
+
# nvme seagate vs-temperature-stats /dev/nvme0
+
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-seagate-vs-temperature-stats.txt b/Documentation/nvme-seagate-vs-temperature-stats.txt new file mode 100644 index 0000000..58a9f11 --- /dev/null +++ b/Documentation/nvme-seagate-vs-temperature-stats.txt @@ -0,0 +1,38 @@ +nvme-seagate-vs-temperature-stats(1) +==================================== + +NAME +---- +nvme-seagate-vs-temperature-stats - Retrieve Seagate vendor specific +temperature statistics + +SYNOPSIS +-------- +[verse] +'nvme seagate vs-temperature-stats [OPTIONS]' + +DESCRIPTION +----------- +This command will only work on Seagate devices supporting this feature. Not +all commands work across all product families. + +The ''parameter is mandatory and it may be either an NVMe character device (ex: /dev/nvme0) or an +nvme block device (ex: /dev/nvme0n1). + +OPTIONS +------- +-o :: +--output-format=:: + Output in binary format + +EXAMPLES +-------- +Get vendor specific temperature statistics for the specified device. + +------------ +# nvme seagate vs-temperature-stats /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-security-recv.1 b/Documentation/nvme-security-recv.1 new file mode 100644 index 0000000..21503cb --- /dev/null +++ b/Documentation/nvme-security-recv.1 @@ -0,0 +1,105 @@ +'\" t +.\" Title: nvme-security-recv +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SECURITY\-RECV" "1" "02/14/2024" "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-security-recv \- Security Recv command +.SH "SYNOPSIS" +.sp +.nf +\fInvme security\-recv\fR [\-\-size= | \-x ] + [\-\-secp= | \-p ] + [\-\-spsp= | \-s ] + [\-\-nssf= | \-N ] + [\-\-al= | \-t ] + [\-\-namespace\-id= | \-n ] [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Security Receive command transfers the status and data result of one or more Security Send commands that were previously submitted to the controller\&. +.sp +The association between a Security Receive command and previous Security Send commands is dependent on the Security Protocol\&. The format of the data to be transferred is dependent on the Security Protocol\&. Refer to SPC\-4 for Security Protocol details\&. +.sp +Each Security Receive command returns the appropriate data corresponding to a Security Send command as defined by the rules of the Security Protocol\&. The Security Receive command data may not be retained if there is a loss of communication between the controller and host, or if a controller reset occurs\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Target a specific namespace for this security command\&. +.RE +.PP +\-N , \-\-nssf= +.RS 4 +NVMe Security Specific field\&. If using security protocol EAh assigned for NVMe use, the NVMe security specific field indicates which reply memory buffer target\&. +.RE +.PP +\-x , \-\-size= +.RS 4 +Size of buffer to allocate\&. One success it will be printed to STDOUT\&. +.RE +.PP +\-p , \-\-secp= +.RS 4 +Security Protocol: This field specifies the security protocol as defined in SPC\-4\&. The controller shall fail the command with Invalid Parameter indicated if a reserved value of the Security Protocol is specified\&. +.RE +.PP +\-s , \-\-spsp= +.RS 4 +SP Specific: The value of this field is specific to the Security Protocol as defined in SPC\-4\&. +.RE +.PP +\-t , \-\-al= +.RS 4 +Allocation Length: The value of this field is specific to the Security Protocol as defined in SPC\-4\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Defaults to print in hex\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No Examples +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-security-recv.html b/Documentation/nvme-security-recv.html new file mode 100644 index 0000000..58da38d --- /dev/null +++ b/Documentation/nvme-security-recv.html @@ -0,0 +1,916 @@ + + + + + + +nvme-security-recv(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme security-recv <device> [--size=<size> | -x <size>]
+                        [--secp=<security-protocol> | -p <security-protocol>]
+                        [--spsp=<protocol-specific> | -s <protocol-specific>]
+                        [--nssf=<nvme-specific> | -N <nvme-specific>]
+                        [--al=<allocation-length> | -t <allocation-length>]
+                        [--namespace-id=<nsid> | -n <nsid>] [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Security Receive command transfers the status and data result of +one or more Security Send commands that were previously submitted to +the controller.

+

The association between a Security Receive command and previous Security +Send commands is dependent on the Security Protocol. The format of the +data to be transferred is dependent on the Security Protocol. Refer to +SPC-4 for Security Protocol details.

+

Each Security Receive command returns the appropriate data corresponding +to a Security Send command as defined by the rules of the Security +Protocol. The Security Receive command data may not be retained if there +is a loss of communication between the controller and host, or if a +controller reset occurs.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Target a specific namespace for this security command. +

+
+
+-N <nssf> +
+
+--nssf=<nssf> +
+
+

+ NVMe Security Specific field. If using security protocol EAh + assigned for NVMe use, the NVMe security specific field indicates + which reply memory buffer target. +

+
+
+-x <size> +
+
+--size=<size> +
+
+

+ Size of buffer to allocate. One success it will be printed + to STDOUT. +

+
+
+-p <security-protocol> +
+
+--secp=<security-protocol> +
+
+

+ Security Protocol: This field specifies the security protocol + as defined in SPC-4. The controller shall fail the command with + Invalid Parameter indicated if a reserved value of the Security + Protocol is specified. +

+
+
+-s <security-protocol-specific> +
+
+--spsp=<security-protocol-specific> +
+
+

+ SP Specific: The value of this field is specific to the Security + Protocol as defined in SPC-4. +

+
+
+-t <allocation-length> +
+
+--al=<allocation-length> +
+
+

+ Allocation Length: The value of this field is specific to the + Security Protocol as defined in SPC-4. +

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

+ Print the raw buffer to stdout. Defaults to print in hex. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No Examples

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-security-recv.txt b/Documentation/nvme-security-recv.txt new file mode 100644 index 0000000..ef77531 --- /dev/null +++ b/Documentation/nvme-security-recv.txt @@ -0,0 +1,89 @@ +nvme-security-recv(1) +===================== + +NAME +---- +nvme-security-recv - Security Recv command + +SYNOPSIS +-------- +[verse] +'nvme security-recv' [--size= | -x ] + [--secp= | -p ] + [--spsp= | -s ] + [--nssf= | -N ] + [--al= | -t ] + [--namespace-id= | -n ] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Security Receive command transfers the status and data result of +one or more Security Send commands that were previously submitted to +the controller. + +The association between a Security Receive command and previous Security +Send commands is dependent on the Security Protocol. The format of the +data to be transferred is dependent on the Security Protocol. Refer to +SPC-4 for Security Protocol details. + +Each Security Receive command returns the appropriate data corresponding +to a Security Send command as defined by the rules of the Security +Protocol. The Security Receive command data may not be retained if there +is a loss of communication between the controller and host, or if a +controller reset occurs. + +OPTIONS +------- +-n :: +--namespace-id=:: + Target a specific namespace for this security command. + +-N :: +--nssf=:: + NVMe Security Specific field. If using security protocol EAh + assigned for NVMe use, the NVMe security specific field indicates + which reply memory buffer target. + +-x :: +--size=:: + Size of buffer to allocate. One success it will be printed + to STDOUT. + +-p :: +--secp=:: + Security Protocol: This field specifies the security protocol + as defined in SPC-4. The controller shall fail the command with + Invalid Parameter indicated if a reserved value of the Security + Protocol is specified. + +-s :: +--spsp=:: + SP Specific: The value of this field is specific to the Security + Protocol as defined in SPC-4. + +-t :: +--al=:: + Allocation Length: The value of this field is specific to the + Security Protocol as defined in SPC-4. + +-b:: +--raw-binary:: + Print the raw buffer to stdout. Defaults to print in hex. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No Examples + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-security-send.1 b/Documentation/nvme-security-send.1 new file mode 100644 index 0000000..d463f85 --- /dev/null +++ b/Documentation/nvme-security-send.1 @@ -0,0 +1,98 @@ +'\" t +.\" Title: nvme-security-send +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SECURITY\-SEND" "1" "02/14/2024" "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-security-send \- Security Send command +.SH "SYNOPSIS" +.sp +.nf +\fInvme security\-send\fR [\-\-file= | \-f ] + [\-\-secp= | \-p ] + [\-\-spsp= | \-s ] + [\-\-tl= | \-t ] + [\-\-nssf= | \-N ] + [\-\-namespace\-id= | \-n ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Security Send command is used to transfer security protocol data to the controller\&. The data structure transferred to the controller as part of this command contains security protocol specific commands to be performed by the controller\&. The data structure transferred may also contain data or parameters associated with the security protocol commands\&. Status and data that is to be returned to the host for the security protocol commands submitted by a Security Send command are retrieved with the Security Receive command\&. +.sp +The association between a Security Send command and subsequent Security Receive command is Security Protocol field dependent as defined in SPC\-4\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Target a specific namespace for this security command\&. +.RE +.PP +\-N , \-\-nssf= +.RS 4 +NVMe Security Specific field\&. If using security protocol EAh assigned for NVMe use, the NVMe security specific field indicates which reply memory buffer target\&. +.RE +.PP +\-f , \-\-file= +.RS 4 +Path to file used as the security protocol\(cqs payload\&. Required argument\&. +.RE +.PP +\-p , \-\-secp= +.RS 4 +Security Protocol: This field specifies the security protocol as defined in SPC\-4\&. The controller shall fail the command with Invalid Parameter indicated if a reserved value of the Security Protocol is specified\&. +.RE +.PP +\-s , \-\-spsp= +.RS 4 +SP Specific: The value of this field is specific to the Security Protocol as defined in SPC\-4\&. +.RE +.PP +\-t , \-\-tl= +.RS 4 +Transfer Length: The value of this field is specific to the Security Protocol as defined in SPC\-4\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No Examples +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-security-send.html b/Documentation/nvme-security-send.html new file mode 100644 index 0000000..4ff43d9 --- /dev/null +++ b/Documentation/nvme-security-send.html @@ -0,0 +1,903 @@ + + + + + + +nvme-security-send(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme security-send <device> [--file=<file> | -f <file>]
+                        [--secp=<security-protocol> | -p <security-protocol>]
+                        [--spsp=<protocol-specific> | -s <protocol-specific>]
+                        [--tl=<transfer-length> | -t <transfer-length>]
+                        [--nssf=<nvme-specific> | -N <nvme-specific>]
+                        [--namespace-id=<nsid> | -n <nsid>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Security Send command is used to transfer security protocol data +to the controller. The data structure transferred to the controller +as part of this command contains security protocol specific commands +to be performed by the controller. The data structure transferred may +also contain data or parameters associated with the security protocol +commands. Status and data that is to be returned to the host for the +security protocol commands submitted by a Security Send command are +retrieved with the Security Receive command.

+

The association between a Security Send command and subsequent Security +Receive command is Security Protocol field dependent as defined in SPC-4.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Target a specific namespace for this security command. +

+
+
+-N <nssf> +
+
+--nssf=<nssf> +
+
+

+ NVMe Security Specific field. If using security protocol EAh + assigned for NVMe use, the NVMe security specific field indicates + which reply memory buffer target. +

+
+
+-f <file> +
+
+--file=<file> +
+
+

+ Path to file used as the security protocol’s payload. Required + argument. +

+
+
+-p <security-protocol> +
+
+--secp=<security-protocol> +
+
+

+ Security Protocol: This field specifies the security protocol + as defined in SPC-4. The controller shall fail the command with + Invalid Parameter indicated if a reserved value of the Security + Protocol is specified. +

+
+
+-s <security-protocol-specific> +
+
+--spsp=<security-protocol-specific> +
+
+

+ SP Specific: The value of this field is specific to the Security + Protocol as defined in SPC-4. +

+
+
+-t <trans-length> +
+
+--tl=<trans-length> +
+
+

+ Transfer Length: The value of this field is specific to the + Security Protocol as defined in SPC-4. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No Examples

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-security-send.txt b/Documentation/nvme-security-send.txt new file mode 100644 index 0000000..347b970 --- /dev/null +++ b/Documentation/nvme-security-send.txt @@ -0,0 +1,82 @@ +nvme-security-send(1) +===================== + +NAME +---- +nvme-security-send - Security Send command + +SYNOPSIS +-------- +[verse] +'nvme security-send' [--file= | -f ] + [--secp= | -p ] + [--spsp= | -s ] + [--tl= | -t ] + [--nssf= | -N ] + [--namespace-id= | -n ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Security Send command is used to transfer security protocol data +to the controller. The data structure transferred to the controller +as part of this command contains security protocol specific commands +to be performed by the controller. The data structure transferred may +also contain data or parameters associated with the security protocol +commands. Status and data that is to be returned to the host for the +security protocol commands submitted by a Security Send command are +retrieved with the Security Receive command. + +The association between a Security Send command and subsequent Security +Receive command is Security Protocol field dependent as defined in SPC-4. + +OPTIONS +------- +-n :: +--namespace-id=:: + Target a specific namespace for this security command. + +-N :: +--nssf=:: + NVMe Security Specific field. If using security protocol EAh + assigned for NVMe use, the NVMe security specific field indicates + which reply memory buffer target. + +-f :: +--file=:: + Path to file used as the security protocol's payload. Required + argument. + +-p :: +--secp=:: + Security Protocol: This field specifies the security protocol + as defined in SPC-4. The controller shall fail the command with + Invalid Parameter indicated if a reserved value of the Security + Protocol is specified. + +-s :: +--spsp=:: + SP Specific: The value of this field is specific to the Security + Protocol as defined in SPC-4. + +-t :: +--tl=:: + Transfer Length: The value of this field is specific to the + Security Protocol as defined in SPC-4. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No Examples + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-self-test-log.1 b/Documentation/nvme-self-test-log.1 new file mode 100644 index 0000000..0fe2ec5 --- /dev/null +++ b/Documentation/nvme-self-test-log.1 @@ -0,0 +1,133 @@ +'\" t +.\" Title: nvme-self-test-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SELF\-TEST\-LO" "1" "02/14/2024" "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-self-test-log \- Retrieve the log information initiated by device\-self\-test and display it +.SH "SYNOPSIS" +.sp +.nf +\fInvme self\-test\fR\-log [\-\-log\-entries= | \-e ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the log pages from an NVMe device corresponding to the requested self\-test by the user and provides 20\-most recent result returned 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 +On success, the returned log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer or the json format\&. +.sp +By default the log is printed out in the normal readable format\&. +.SH "OPTION" +.PP +\-e , \-\-log\-entries= +.RS 4 +Specifies how many DST log entries the program should request from the device\&. This must be at least one, and shouldn\(cqt exceed the 20 entries\&. Defaults to 20 DST log entries\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the self\-test\-log and print it in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme self\-test\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw output to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme self\-test\-log /dev/nvme0 \-o "binary" +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the self\-test\-log and print it in a json format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme self\-test\-log /dev/nvme0 \-o "json" +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-self-test-log.html b/Documentation/nvme-self-test-log.html new file mode 100644 index 0000000..4945aa6 --- /dev/null +++ b/Documentation/nvme-self-test-log.html @@ -0,0 +1,865 @@ + + + + + + +nvme-self-test-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme self-test-log <device> [--log-entries=<entries> | -e <entries>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the log pages from an NVMe device corresponding to the +requested self-test by the user and provides 20-most recent result +returned structure.

+

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

+

On success, the returned log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer or the +json format.

+

By default the log is printed out in the normal readable format.

+
+
+
+

OPTION

+
+
+
+-e <entries> +
+
+--log-entries=<entries> +
+
+

+ Specifies how many DST log entries the program should request from + the device. This must be at least one, and shouldn’t exceed the + 20 entries. Defaults to 20 DST log entries. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Get the self-test-log and print it in a human readable format: +

    +
    +
    +
    # nvme self-test-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw output to a file: +

    +
    +
    +
    # nvme self-test-log /dev/nvme0 -o "binary"
    +
    +
  • +
  • +

    +Get the self-test-log and print it in a json format: +

    +
    +
    +
    # nvme self-test-log /dev/nvme0 -o "json"
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-self-test-log.txt b/Documentation/nvme-self-test-log.txt new file mode 100644 index 0000000..d4600e8 --- /dev/null +++ b/Documentation/nvme-self-test-log.txt @@ -0,0 +1,71 @@ +nvme-self-test-log(1) +===================== + +NAME +---- +nvme-self-test-log - Retrieve the log information initiated by device-self-test and display it + +SYNOPSIS +-------- +[verse] +'nvme self-test'-log [--log-entries= | -e ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the log pages from an NVMe device corresponding to the +requested self-test by the user and provides 20-most recent result +returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer or the +json format. + +By default the log is printed out in the normal readable format. + +OPTION +------- +-e :: +--log-entries=:: + Specifies how many DST log entries the program should request from + the device. This must be at least one, and shouldn't exceed the + 20 entries. Defaults to 20 DST log entries. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Get the self-test-log and print it in a human readable format: ++ +------------ +# nvme self-test-log /dev/nvme0 +------------ ++ + +* Print the raw output to a file: ++ +------------ +# nvme self-test-log /dev/nvme0 -o "binary" +------------ ++ + +* Get the self-test-log and print it in a json format: ++ +------------ +# nvme self-test-log /dev/nvme0 -o "json" +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-set-feature.1 b/Documentation/nvme-set-feature.1 new file mode 100644 index 0000000..5b635c7 --- /dev/null +++ b/Documentation/nvme-set-feature.1 @@ -0,0 +1,146 @@ +'\" t +.\" Title: nvme-set-feature +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SET\-FEATURE" "1" "02/14/2024" "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-set-feature \- Sets an NVMe feature, returns applicable results +.SH "SYNOPSIS" +.sp +.nf +\fInvme set\-feature\fR [\-\-namespace\-id= | \-n ] + [\-\-feature\-id= | \-f ] [\-\-value= | \-V ] + [\-\-uuid\-index= | \-U ] + [\-\-data\-len= | \-l ] + [\-\-data= | \-d ] [\-\-save | \-s] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Submits an NVMe Set Feature admin command and returns the applicable results\&. This may be the feature\(cqs value, or may also include a feature structure if the feature requires it (ex: LBA Range Type)\&. +.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 +On success, the value sent to the device is displayed +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Sets the feature for the given nsid\&. This is optional and most features do not use this value\&. +.RE +.PP +\-f , \-\-feature\-id= +.RS 4 +The feature id to send with the command\&. Value provided should be in hex\&. +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +The data length for the buffer submitted for this feature\&. Most known features do not use this value\&. The exceptions are LBA Range Type and host identifier\&. +.RE +.PP +\-d , \-\-data= +.RS 4 +The data file for the buffer submitted for this feature\&. Most known features do not use this value\&. The exceptions is LBA Range Type and host identifier\&. This defaults to STDIN so files and echo can be piped\&. +.RE +.PP +\-V , \-\-value= +.RS 4 +The value for command dword 11, the value you want to set the feature to\&. +.RE +.PP +\-s, \-\-save +.RS 4 +Save the attribute so that it persists through all power states and resets\&. +.RE +.PP +\-U , \-\-uuid\-index= +.RS 4 +UUID Index of the feature +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Sets the Power State (PS) to 1 in feature id 2: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme set\-feature /dev/nvme0 \-f 2 /dev/nvme0n1 \-V 0x1 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Sets the host id to the ascii string\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# echo "abcdefgh" | nvme set\-feature /dev/nvme0 \-f 0x81 \-l 8 +.fi +.if n \{\ +.RE +.\} +.sp +nvme set\-feature /dev/nvme0 \-f 0x81 \-l 8 \-U 0x1 +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-set-feature.html b/Documentation/nvme-set-feature.html new file mode 100644 index 0000000..7da6fae --- /dev/null +++ b/Documentation/nvme-set-feature.html @@ -0,0 +1,929 @@ + + + + + + +nvme-set-feature(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme set-feature <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--feature-id=<fid> | -f <fid>] [--value=<value> | -V <value>]
+                        [--uuid-index=<uuid-index> | -U <uuid_index>]
+                        [--data-len=<data-len> | -l <data-len>]
+                        [--data=<data-file> | -d <data-file>] [--save | -s]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Submits an NVMe Set Feature admin command and returns the applicable +results. This may be the feature’s value, or may also include a feature +structure if the feature requires it (ex: LBA Range Type).

+

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

+

On success, the value sent to the device is displayed

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Sets the feature for the given nsid. This is optional and + most features do not use this value. +

+
+
+-f <fid> +
+
+--feature-id=<fid> +
+
+

+ The feature id to send with the command. Value provided should + be in hex. +

+
+
+-l <data-len> +
+
+--data-len=<data-len> +
+
+

+ The data length for the buffer submitted for this feature. Most + known features do not use this value. The exceptions are LBA + Range Type and host identifier. +

+
+
+-d <data-file> +
+
+--data=<data-file> +
+
+

+ The data file for the buffer submitted for this feature. Most + known features do not use this value. The exceptions is LBA + Range Type and host identifier. This defaults to STDIN so files + and echo can be piped. +

+
+
+-V <value> +
+
+--value=<value> +
+
+

+ The value for command dword 11, the value you want to set the + feature to. +

+
+
+-s +
+
+--save +
+
+

+ Save the attribute so that it persists through all power states and resets. +

+
+
+-U <uuid-index> +
+
+--uuid-index=<uuid-index> +
+
+

+ UUID Index of the feature +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Sets the Power State (PS) to 1 in feature id 2: +

    +
    +
    +
    # nvme set-feature /dev/nvme0 -f 2 /dev/nvme0n1 -V 0x1
    +
    +
  • +
  • +

    +Sets the host id to the ascii string. +

    +
    +
    +
    # echo "abcdefgh" | nvme set-feature /dev/nvme0 -f 0x81 -l 8
    +
    +

    nvme set-feature /dev/nvme0 -f 0x81 -l 8 -U 0x1

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-set-feature.txt b/Documentation/nvme-set-feature.txt new file mode 100644 index 0000000..05c2210 --- /dev/null +++ b/Documentation/nvme-set-feature.txt @@ -0,0 +1,95 @@ +nvme-set-feature(1) +=================== + +NAME +---- +nvme-set-feature - Sets an NVMe feature, returns applicable results + +SYNOPSIS +-------- +[verse] +'nvme set-feature' [--namespace-id= | -n ] + [--feature-id= | -f ] [--value= | -V ] + [--uuid-index= | -U ] + [--data-len= | -l ] + [--data= | -d ] [--save | -s] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Submits an NVMe Set Feature admin command and returns the applicable +results. This may be the feature's value, or may also include a feature +structure if the feature requires it (ex: LBA Range Type). + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the value sent to the device is displayed + +OPTIONS +------- +-n :: +--namespace-id=:: + Sets the feature for the given nsid. This is optional and + most features do not use this value. + +-f :: +--feature-id=:: + The feature id to send with the command. Value provided should + be in hex. + +-l :: +--data-len=:: + The data length for the buffer submitted for this feature. Most + known features do not use this value. The exceptions are LBA + Range Type and host identifier. + +-d :: +--data=:: + The data file for the buffer submitted for this feature. Most + known features do not use this value. The exceptions is LBA + Range Type and host identifier. This defaults to STDIN so files + and echo can be piped. + +-V :: +--value=:: + The value for command dword 11, the value you want to set the + feature to. + +-s:: +--save:: + Save the attribute so that it persists through all power states and resets. + +-U :: +--uuid-index=:: + UUID Index of the feature + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Sets the Power State (PS) to 1 in feature id 2: ++ +------------ +# nvme set-feature /dev/nvme0 -f 2 /dev/nvme0n1 -V 0x1 +------------ ++ + +* Sets the host id to the ascii string. ++ +------------ +# echo "abcdefgh" | nvme set-feature /dev/nvme0 -f 0x81 -l 8 +------------ ++ +nvme set-feature /dev/nvme0 -f 0x81 -l 8 -U 0x1 + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-set-property.1 b/Documentation/nvme-set-property.1 new file mode 100644 index 0000000..b66fa30 --- /dev/null +++ b/Documentation/nvme-set-property.1 @@ -0,0 +1,72 @@ +'\" t +.\" Title: nvme-set-property +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SET\-PROPERTY" "1" "02/14/2024" "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-set-property \- Writes and shows the defined NVMe controller property for NVMe over Fabric +.SH "SYNOPSIS" +.sp +.nf +\fInvme set\-property\fR [\-\-offset= | \-O ] + [\-\-value= | \-V ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Writes and shows the defined NVMe controller property for NVMe over Fabric\&. +.SH "OPTIONS" +.PP +\-O, \-\-offset +.RS 4 +The offset of the property\&. +.RE +.PP +\-V +.RS 4 +\-\-value: The value of the property to be set\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples (yet)\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-set-property.html b/Documentation/nvme-set-property.html new file mode 100644 index 0000000..88bda56 --- /dev/null +++ b/Documentation/nvme-set-property.html @@ -0,0 +1,836 @@ + + + + + + +nvme-set-property(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme set-property <device> [--offset=<offset> | -O <offset>]
+                        [--value=<val> | -V <val>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Writes and shows the defined NVMe controller property for NVMe over Fabric.

+
+
+
+

OPTIONS

+
+
+
+-O +
+
+--offset +
+
+

+ The offset of the property. +

+
+
+-V +
+
+

+--value: + The value of the property to be set. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples (yet).

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-set-property.txt b/Documentation/nvme-set-property.txt new file mode 100644 index 0000000..22a513c --- /dev/null +++ b/Documentation/nvme-set-property.txt @@ -0,0 +1,45 @@ +nvme-set-property(1) +==================== + +NAME +---- +nvme-set-property - Writes and shows the defined NVMe controller property +for NVMe over Fabric + +SYNOPSIS +-------- +[verse] +'nvme set-property' [--offset= | -O ] + [--value= | -V ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Writes and shows the defined NVMe controller property for NVMe over Fabric. + +OPTIONS +------- +-O:: +--offset:: + The offset of the property. + +-V:: +--value: + The value of the property to be set. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples (yet). + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-show-hostnqn.1 b/Documentation/nvme-show-hostnqn.1 new file mode 100644 index 0000000..618ad0f --- /dev/null +++ b/Documentation/nvme-show-hostnqn.1 @@ -0,0 +1,60 @@ +'\" t +.\" Title: nvme-show-hostnqn +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SHOW\-HOSTNQN" "1" "02/14/2024" "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-show-hostnqn \- Show the host NQN configured for the system +.SH "SYNOPSIS" +.sp +.nf +\fInvme show\-hostnqn\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Show the host NQN configured for the system\&. If /usr/local/etc/nvme/hostnqn is not present and systemd application\-specific machine IDs are available, this will show the systemd\-generated host NQN for the system\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +nvme show\-hostnqn +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-show-hostnqn.html b/Documentation/nvme-show-hostnqn.html new file mode 100644 index 0000000..c948837 --- /dev/null +++ b/Documentation/nvme-show-hostnqn.html @@ -0,0 +1,816 @@ + + + + + + +nvme-show-hostnqn(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme show-hostnqn [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Show the host NQN configured for the system. If /usr/local/etc/nvme/hostnqn is +not present and systemd application-specific machine IDs are available, +this will show the systemd-generated host NQN for the system.

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

nvme show-hostnqn

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-show-hostnqn.txt b/Documentation/nvme-show-hostnqn.txt new file mode 100644 index 0000000..5074e2c --- /dev/null +++ b/Documentation/nvme-show-hostnqn.txt @@ -0,0 +1,36 @@ +nvme-show-hostnqn(1) +=================== + +NAME +---- +nvme-show-hostnqn - Show the host NQN configured for the system + +SYNOPSIS +-------- +[verse] +'nvme show-hostnqn' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Show the host NQN configured for the system. If @SYSCONFDIR@/nvme/hostnqn is +not present and systemd application-specific machine IDs are available, +this will show the systemd-generated host NQN for the system. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +nvme show-hostnqn + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-show-regs.1 b/Documentation/nvme-show-regs.1 new file mode 100644 index 0000000..115a00d --- /dev/null +++ b/Documentation/nvme-show-regs.1 @@ -0,0 +1,129 @@ +'\" t +.\" Title: nvme-id-ns +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ID\-NS" "1" "02/14/2024" "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-show-regs \- Reads and shows the defined NVMe controller registers for NVMe over PCIe or the controller properties for NVMe over Fabrics\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme show\-regs\fR [\-\-human\-readable | \-H] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe over PCIe device given, sends an identify namespace command and provides the result and returned structure\&. For the NVMe over Fabrics device given, sends a fabric command and provides the result and returned structure\&. +.sp +The parameter is mandatory and must be the nvme admin character device (ex: /dev/nvme0)\&. For NVMe over PCIe, the program uses knowledge of the sysfs layout to map the device to the pci resource stored there and mmaps the memory to get access to the registers\&. For NVMe over Fabrics, the programs sends a fabric command to get the properties of the target NVMe controller\&. Only the supported properties are displayed\&. +.SH "OPTIONS" +.PP +\-H, \-\-human\-readable +.RS 4 +Display registers or supported properties in human readable format\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Show the NVMe over PCIe controller registers or the NVMe over Fabric controller properties in a binary format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme show\-regs /dev/nvme0 \-o binary +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Show the NVMe over PCIe controller registers or the NVMe over Fabric controller properties in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme show\-regs /dev/nvme0 \-H +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Show the NVMe over PCIe controller registers or NVMe\-oF controller properties in a json format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme show\-regs /dev/nvme0 \-o json +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-show-regs.html b/Documentation/nvme-show-regs.html new file mode 100644 index 0000000..0fbe431 --- /dev/null +++ b/Documentation/nvme-show-regs.html @@ -0,0 +1,866 @@ + + + + + + +nvme-id-ns(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme show-regs <device> [--human-readable | -H]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe over PCIe device given, sends an identify namespace command and +provides the result and returned structure. +For the NVMe over Fabrics device given, sends a fabric command and provides +the result and returned structure.

+

The <device> parameter is mandatory and must be the nvme admin character +device (ex: /dev/nvme0). For NVMe over PCIe, the program uses knowledge of the +sysfs layout to map the device to the pci resource stored there and mmaps the +memory to get access to the registers. For NVMe over Fabrics, the programs +sends a fabric command to get the properties of the target NVMe controller. +Only the supported properties are displayed.

+
+
+
+

OPTIONS

+
+
+
+-H +
+
+--human-readable +
+
+

+ Display registers or supported properties in human readable format. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Show the NVMe over PCIe controller registers or the NVMe over Fabric controller +properties in a binary format: +

    +
    +
    +
    # nvme show-regs /dev/nvme0 -o binary
    +
    +
  • +
  • +

    +Show the NVMe over PCIe controller registers or the NVMe over Fabric controller +properties in a human readable format: +

    +
    +
    +
    # nvme show-regs /dev/nvme0 -H
    +
    +
  • +
  • +

    +Show the NVMe over PCIe controller registers or NVMe-oF controller properties +in a json format: +

    +
    +
    +
    # nvme show-regs /dev/nvme0 -o json
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-show-regs.txt b/Documentation/nvme-show-regs.txt new file mode 100644 index 0000000..0460365 --- /dev/null +++ b/Documentation/nvme-show-regs.txt @@ -0,0 +1,67 @@ +nvme-id-ns(1) +============= + +NAME +---- +nvme-show-regs - Reads and shows the defined NVMe controller registers for +NVMe over PCIe or the controller properties for NVMe over Fabrics. + +SYNOPSIS +-------- +[verse] +'nvme show-regs' [--human-readable | -H] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +For the NVMe over PCIe device given, sends an identify namespace command and +provides the result and returned structure. +For the NVMe over Fabrics device given, sends a fabric command and provides +the result and returned structure. + +The parameter is mandatory and must be the nvme admin character +device (ex: /dev/nvme0). For NVMe over PCIe, the program uses knowledge of the +sysfs layout to map the device to the pci resource stored there and mmaps the +memory to get access to the registers. For NVMe over Fabrics, the programs +sends a fabric command to get the properties of the target NVMe controller. +Only the supported properties are displayed. + +OPTIONS +------- +-H:: +--human-readable:: + Display registers or supported properties in human readable format. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Show the NVMe over PCIe controller registers or the NVMe over Fabric controller +properties in a binary format: ++ +------------ +# nvme show-regs /dev/nvme0 -o binary +------------ +* Show the NVMe over PCIe controller registers or the NVMe over Fabric controller +properties in a human readable format: ++ +------------ +# nvme show-regs /dev/nvme0 -H +------------ +* Show the NVMe over PCIe controller registers or NVMe-oF controller properties +in a json format: ++ +------------ +# nvme show-regs /dev/nvme0 -o json +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-show-topology.1 b/Documentation/nvme-show-topology.1 new file mode 100644 index 0000000..cde2d83 --- /dev/null +++ b/Documentation/nvme-show-topology.1 @@ -0,0 +1,84 @@ +'\" t +.\" Title: nvme-show-topology +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SHOW\-TOPOLOGY" "1" "02/14/2024" "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-show-topology \- Show topology of all NVMe subsystems +.SH "SYNOPSIS" +.sp +.nf +\fInvme show\-topology\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Show the topology of all NVMe subsystems\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR +or +\fIjson\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information in the output, showing nvme subsystems, controllers and namespaces separately and how they\(cqre related to each other\&. +.RE +.PP +\-r , \-\-ranking= +.RS 4 +Set the ranking orer to +\fInamespace\fR +(default) or +\fIctrl\fR\&. This option has only an effect for output format +\fInormal\fR\&. The JSON output is always +\fInamespace\fR +ordered\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +nvme show\-topology +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-show-topology.html b/Documentation/nvme-show-topology.html new file mode 100644 index 0000000..51196db --- /dev/null +++ b/Documentation/nvme-show-topology.html @@ -0,0 +1,852 @@ + + + + + + +nvme-show-topology(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme show-topology [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Show the topology of all NVMe subsystems.

+
+
+
+

OPTIONS

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

+ Set the reporting format to normal or json. Only one output + format can be used at a time. +

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information in the output, showing nvme subsystems, + controllers and namespaces separately and how they’re related to each + other. +

+
+
+-r <order> +
+
+--ranking=<order> +
+
+

+ Set the ranking orer to namespace (default) or ctrl. This option + has only an effect for output format normal. The JSON output is + always namespace ordered. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

nvme show-topology

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-show-topology.txt b/Documentation/nvme-show-topology.txt new file mode 100644 index 0000000..32ffad1 --- /dev/null +++ b/Documentation/nvme-show-topology.txt @@ -0,0 +1,51 @@ +nvme-show-topology(1) +===================== + +NAME +---- +nvme-show-topology - Show topology of all NVMe subsystems + +SYNOPSIS +-------- +[verse] +'nvme show-topology' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Show the topology of all NVMe subsystems. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal' or 'json'. Only one output + format can be used at a time. + +-v:: +--verbose:: + Increase the information in the output, showing nvme subsystems, + controllers and namespaces separately and how they're related to each + other. + +-r :: +--ranking=:: + Set the ranking orer to 'namespace' (default) or 'ctrl'. This option + has only an effect for output format 'normal'. The JSON output is + always 'namespace' ordered. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +nvme show-topology + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-smart-log.1 b/Documentation/nvme-smart-log.1 new file mode 100644 index 0000000..abb0ed7 --- /dev/null +++ b/Documentation/nvme-smart-log.1 @@ -0,0 +1,118 @@ +'\" t +.\" Title: nvme-smart-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SMART\-LOG" "1" "02/14/2024" "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-smart-log \- Send NVMe SMART log page request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme smart\-log\fR [\-\-namespace\-id= | \-n ] + [\-\-raw\-binary | \-b] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe SMART log page from an NVMe device and provides the returned 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 +On success, the returned smart log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Retrieve the SMART log for the given nsid\&. This is optional and its success may depend on the device\(cqs capabilities to provide this log on a per\-namespace basis (see the NVMe Identify Controller for this capability)\&. The default nsid to use is 0xffffffff for the device global SMART log\&. +.RE +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw SMART log buffer to stdout\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the SMART log page in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme smart\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the raw SMART log to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme smart\-log /dev/nvme0 \-\-raw\-binary > smart_log\&.raw +.fi +.if n \{\ +.RE +.\} +.sp +It is probably a bad idea to not redirect stdout when using this mode\&. +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-smart-log.html b/Documentation/nvme-smart-log.html new file mode 100644 index 0000000..989675d --- /dev/null +++ b/Documentation/nvme-smart-log.html @@ -0,0 +1,868 @@ + + + + + + +nvme-smart-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme smart-log <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--raw-binary | -b]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe SMART log page from an NVMe device and provides the returned structure.

+

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

+

On success, the returned smart log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Retrieve the SMART log for the given nsid. This is optional + and its success may depend on the device’s capabilities to + provide this log on a per-namespace basis (see the NVMe Identify + Controller for this capability). The default nsid to use is + 0xffffffff for the device global SMART log. +

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

+ Print the raw SMART log buffer to stdout. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the SMART log page in a human readable format: +

    +
    +
    +
    # nvme smart-log /dev/nvme0
    +
    +
  • +
  • +

    +Print the raw SMART log to a file: +

    +
    +
    +
    # nvme smart-log /dev/nvme0 --raw-binary > smart_log.raw
    +
    +

    It is probably a bad idea to not redirect stdout when using this mode.

    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-smart-log.txt b/Documentation/nvme-smart-log.txt new file mode 100644 index 0000000..c08f523 --- /dev/null +++ b/Documentation/nvme-smart-log.txt @@ -0,0 +1,69 @@ +nvme-smart-log(1) +================= + +NAME +---- +nvme-smart-log - Send NVMe SMART log page request, returns result and log + +SYNOPSIS +-------- +[verse] +'nvme smart-log' [--namespace-id= | -n ] + [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe SMART log page from an NVMe device and provides the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned smart log structure may be returned in one of +several ways depending on the option flags; the structure may parsed by +the program and printed in a readable format or the raw buffer may be +printed to stdout for another program to parse. + +OPTIONS +------- +-n :: +--namespace-id=:: + Retrieve the SMART log for the given nsid. This is optional + and its success may depend on the device's capabilities to + provide this log on a per-namespace basis (see the NVMe Identify + Controller for this capability). The default nsid to use is + 0xffffffff for the device global SMART log. + +-b:: +--raw-binary:: + Print the raw SMART log buffer to stdout. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Print the SMART log page in a human readable format: ++ +------------ +# nvme smart-log /dev/nvme0 +------------ ++ + +* Print the raw SMART log to a file: ++ +------------ +# nvme smart-log /dev/nvme0 --raw-binary > smart_log.raw +------------ ++ +It is probably a bad idea to not redirect stdout when using this mode. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-subsystem-reset.1 b/Documentation/nvme-subsystem-reset.1 new file mode 100644 index 0000000..7bdae5b --- /dev/null +++ b/Documentation/nvme-subsystem-reset.1 @@ -0,0 +1,80 @@ +'\" t +.\" Title: nvme-subsystem-reset +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SUBSYSTEM\-RES" "1" "02/14/2024" "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-subsystem-reset \- Reset the nvme subsystem\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme subsystem\-reset\fR + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Requests NVMe subsystem reset\&. The param is mandatory and must be an NVMe character device (ex: /dev/nvme0)\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Resets the subsystem\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme subsystem\-reset /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-subsystem-reset.html b/Documentation/nvme-subsystem-reset.html new file mode 100644 index 0000000..4847ad4 --- /dev/null +++ b/Documentation/nvme-subsystem-reset.html @@ -0,0 +1,826 @@ + + + + + + +nvme-subsystem-reset(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme subsystem-reset <device>
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Requests NVMe subsystem reset. The <device> param is mandatory and must +be an NVMe character device (ex: /dev/nvme0).

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Resets the subsystem. +

    +
    +
    +
    # nvme subsystem-reset /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-subsystem-reset.txt b/Documentation/nvme-subsystem-reset.txt new file mode 100644 index 0000000..cc3a139 --- /dev/null +++ b/Documentation/nvme-subsystem-reset.txt @@ -0,0 +1,40 @@ +nvme-subsystem-reset(1) +======================= + +NAME +---- +nvme-subsystem-reset - Reset the nvme subsystem. + +SYNOPSIS +-------- +[verse] +'nvme subsystem-reset' + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Requests NVMe subsystem reset. The param is mandatory and must +be an NVMe character device (ex: /dev/nvme0). + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Resets the subsystem. ++ +------------ +# nvme subsystem-reset /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-supported-cap-config-log.txt b/Documentation/nvme-supported-cap-config-log.txt new file mode 100644 index 0000000..b60303b --- /dev/null +++ b/Documentation/nvme-supported-cap-config-log.txt @@ -0,0 +1,52 @@ +nvme-supported-cap-config-log(1) +================================ + +NAME +---- +nvme-supported-cap-config-log - Send NVMe Supported Capacity +Configuration List Log pages request, returns result and log. + +SYNOPSIS +-------- +[verse] +'nvme supported-cap-config-log' [--dom-id | -d] [--raw-binary | -b] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the list of Supported Capacity Configuration List +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 Supported Capacity Configuration List log +pages log structure will be printed. + +OPTIONS +------- +-d:: +--dom-id:: + To get the domain ID. + +-b:: +--raw-binary:: + To show raw binary data. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples provided yet. + +NVME +---- +Part of the nvme-user suite \ No newline at end of file diff --git a/Documentation/nvme-supported-log-pages.1 b/Documentation/nvme-supported-log-pages.1 new file mode 100644 index 0000000..4d2574f --- /dev/null +++ b/Documentation/nvme-supported-log-pages.1 @@ -0,0 +1,64 @@ +'\" t +.\" Title: nvme-supported-log-pages +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-SUPPORTED\-LOG" "1" "02/14/2024" "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-supported-log-pages \- Send NVMe Supported Log pages request, returns result and log +.SH "SYNOPSIS" +.sp +.nf +\fInvme supported\-log\-pages\fR [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe supported log pages details from an NVMe device and provides the returned structure\&. +.sp +The parameter is mandatory and should be the NVMe character device (ex: /dev/nvme0)\&. +.sp +On success, the returned supported log pages log structure will be printed for each command that is supported\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. Show more information including LID Supported (LSUPP) and Index Offset Supported (IOP) details\&. +.RE +.SH "EXAMPLES" +.sp +No examples provided yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-supported-log-pages.html b/Documentation/nvme-supported-log-pages.html new file mode 100644 index 0000000..5073a61 --- /dev/null +++ b/Documentation/nvme-supported-log-pages.html @@ -0,0 +1,820 @@ + + + + + + +nvme-supported-log-pages(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme supported-log-pages <device> [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe supported 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 supported log pages log structure will be printed +for each command that is supported.

+
+
+
+

OPTIONS

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. Show more information + including LID Supported (LSUPP) and Index Offset Supported (IOP) details. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples provided yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-supported-log-pages.txt b/Documentation/nvme-supported-log-pages.txt new file mode 100644 index 0000000..bd17fdf --- /dev/null +++ b/Documentation/nvme-supported-log-pages.txt @@ -0,0 +1,43 @@ +nvme-supported-log-pages(1) +=========================== + +NAME +---- +nvme-supported-log-pages - Send NVMe Supported Log pages request, returns result and log + +SYNOPSIS +-------- +[verse] +'nvme supported-log-pages' [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves the NVMe supported 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 supported log pages log structure will be printed +for each command that is supported. + +OPTIONS +------- + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. Show more information + including LID Supported (LSUPP) and Index Offset Supported (IOP) details. + +EXAMPLES +-------- +No examples provided yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-telemetry-log.1 b/Documentation/nvme-telemetry-log.1 new file mode 100644 index 0000000..4522c5b --- /dev/null +++ b/Documentation/nvme-telemetry-log.1 @@ -0,0 +1,102 @@ +'\" t +.\" Title: nvme-telemetry-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-TELEMETRY\-LOG" "1" "02/14/2024" "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-telemetry-log \- Retrieves a Telemetry Host\-Initiated log page from an NVMe device +.SH "SYNOPSIS" +.sp +.nf +\fInvme telemetry\-log\fR [\-\-output\-file= | \-O ] + [\-\-host\-generate= | \-g ] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Retrieves an Telemetry Host\-Initiated log page from an NVMe device and provides the returned 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 +On success, the returned log structure will be in raw binary format \fIonly\fR with \-\-output\-file option which is mandatory\&. +.SH "OPTIONS" +.PP +\-O , \-\-output\-file= +.RS 4 +File name to which raw binary data will be saved to\&. +.RE +.PP +\-g , \-\-host\-generate= +.RS 4 +If set to 1, controller shall capture the Telemetry Host\-Initiated data representing the internal state of the controller at the time the associated Get Log Page command is processed\&. If cleated to 0, controller shall +\fInot\fR +update this data\&. +.RE +.PP +\-d , \-\-data\-area= +.RS 4 +Retrieves the specific data area requested\&. Valid inputs are 1,2,3,4\&. If this option is not specified, the default value is 3, since data area 4 may not be supported\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Retrieve Telemetry Host\-Initiated data to telemetry_log\&.bin +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme telemetry\-log /dev/nvme0 \-\-output\-file=telemetry_log\&.bin +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-telemetry-log.html b/Documentation/nvme-telemetry-log.html new file mode 100644 index 0000000..7d5f95c --- /dev/null +++ b/Documentation/nvme-telemetry-log.html @@ -0,0 +1,869 @@ + + + + + + +nvme-telemetry-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme telemetry-log <device> [--output-file=<file> | -O <file>]
+                        [--host-generate=<gen> | -g <gen>]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves an Telemetry Host-Initiated log page from an NVMe device and provides +the returned structure.

+

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

+

On success, the returned log structure will be in raw binary format only with +--output-file option which is mandatory.

+
+
+
+

OPTIONS

+
+
+
+-O <file> +
+
+--output-file=<file> +
+
+

+ File name to which raw binary data will be saved to. +

+
+
+-g <gen> +
+
+--host-generate=<gen> +
+
+

+ If set to 1, controller shall capture the Telemetry Host-Initiated data + representing the internal state of the controller at the time the + associated Get Log Page command is processed. + If cleated to 0, controller shall not update this data. +

+
+
+-d <da> +
+
+--data-area=<da> +
+
+

+ Retrieves the specific data area requested. Valid inputs are 1,2,3,4. If + this option is not specified, the default value is 3, since data area + 4 may not be supported. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Retrieve Telemetry Host-Initiated data to telemetry_log.bin +

    +
    +
    +
    # nvme telemetry-log /dev/nvme0 --output-file=telemetry_log.bin
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-telemetry-log.txt b/Documentation/nvme-telemetry-log.txt new file mode 100644 index 0000000..4d2a494 --- /dev/null +++ b/Documentation/nvme-telemetry-log.txt @@ -0,0 +1,64 @@ +nvme-telemetry-log(1) +===================== + +NAME +---- +nvme-telemetry-log - Retrieves a Telemetry Host-Initiated log page from an NVMe device + +SYNOPSIS +-------- +[verse] +'nvme telemetry-log' [--output-file= | -O ] + [--host-generate= | -g ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Retrieves an Telemetry Host-Initiated log page from an NVMe device and provides +the returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned log structure will be in raw binary format _only_ with +--output-file option which is mandatory. + +OPTIONS +------- +-O :: +--output-file=:: + File name to which raw binary data will be saved to. + +-g :: +--host-generate=:: + If set to 1, controller shall capture the Telemetry Host-Initiated data + representing the internal state of the controller at the time the + associated Get Log Page command is processed. + If cleated to 0, controller shall _not_ update this data. + +-d :: +--data-area=:: + Retrieves the specific data area requested. Valid inputs are 1,2,3,4. If + this option is not specified, the default value is 3, since data area + 4 may not be supported. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Retrieve Telemetry Host-Initiated data to telemetry_log.bin ++ +------------ +# nvme telemetry-log /dev/nvme0 --output-file=telemetry_log.bin +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-toshiba-clear-pcie-correctable-errors.1 b/Documentation/nvme-toshiba-clear-pcie-correctable-errors.1 new file mode 100644 index 0000000..cfa6106 --- /dev/null +++ b/Documentation/nvme-toshiba-clear-pcie-correctable-errors.1 @@ -0,0 +1,66 @@ +'\" t +.\" Title: nvme-toshiba-clear-pcie-correctable-errors +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-TOSHIBA\-CLEAR" "1" "02/14/2024" "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-toshiba-clear-pcie-correctable-errors \- Reset the PCIe correctable errors count to zero\&. +.SH "SYNOPSIS" +.sp +.nf +\*(Aqnvme toshiba clear\-pcie\-correctable\-errors \*(Aq +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the Toshiba clear PCIe correctable errors request\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Clear the PCIe correctable errors count: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme toshiba clear\-pcie\-correctable\-errors /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-toshiba-clear-pcie-correctable-errors.html b/Documentation/nvme-toshiba-clear-pcie-correctable-errors.html new file mode 100644 index 0000000..94ead34 --- /dev/null +++ b/Documentation/nvme-toshiba-clear-pcie-correctable-errors.html @@ -0,0 +1,798 @@ + + + + + + +nvme-toshiba-clear-pcie-correctable-errors(1) + + + + + +
+
+

SYNOPSIS

+
+
+
'nvme toshiba clear-pcie-correctable-errors ' <device>
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the Toshiba clear PCIe correctable errors +request.

+

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

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Clear the PCIe correctable errors count: +

    +
    +
    +
    # nvme toshiba clear-pcie-correctable-errors /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-toshiba-clear-pcie-correctable-errors.txt b/Documentation/nvme-toshiba-clear-pcie-correctable-errors.txt new file mode 100644 index 0000000..862c860 --- /dev/null +++ b/Documentation/nvme-toshiba-clear-pcie-correctable-errors.txt @@ -0,0 +1,32 @@ +nvme-toshiba-clear-pcie-correctable-errors(1) +============================================= + +NAME +---- +nvme-toshiba-clear-pcie-correctable-errors - Reset the PCIe correctable errors count to zero. + +SYNOPSIS +-------- +[verse] +'nvme toshiba clear-pcie-correctable-errors ' + +DESCRIPTION +----------- +For the NVMe device given, sends the Toshiba clear PCIe correctable errors +request. + +The parameter is mandatory and may be either the NVMe +character device (ex: /dev/nvme0), or a namespace block device (ex: +/dev/nvme0n1). + +EXAMPLES +-------- +* Clear the PCIe correctable errors count: ++ +------------ +# nvme toshiba clear-pcie-correctable-errors /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-toshiba-vs-internal-log.1 b/Documentation/nvme-toshiba-vs-internal-log.1 new file mode 100644 index 0000000..68ba681 --- /dev/null +++ b/Documentation/nvme-toshiba-vs-internal-log.1 @@ -0,0 +1,108 @@ +'\" t +.\" Title: nvme-toshiba-vs-internal-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-TOSHIBA\-VS\-I" "1" "02/14/2024" "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-toshiba-vs-internal-log \- Retrieve a Toshiba device\*(Aqs vendor specific internal log and either save to file or dump the contents\&. +.SH "SYNOPSIS" +.sp +.nf +\*(Aqnvme toshiba vs\-internal\-log \*(Aq + [\-\-output\-file=, \-o ] (optional) + [\-\-saved\-log, \-s] (optional) +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the Toshiba internal device log request and either saves the result to a file or dumps the content to stdout\&. +.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 +The log is associated with the controller rather than any namespaces\&. +.sp +Two logs exist, the current log and the previous log\&. +.sp +This will only work on Toshiba devices supporting this feature\&. +.sp +Note: The logs are quite large \- typically 100\(cqs of MB\&. This command can take several minutes to complete\&. A progress runner is included when data is written to file and a page count is included in the stdout dump\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-file= +.RS 4 +Output binary file\&. Defaults to text\-formatted dump to stdout +.RE +.PP +\-p, \-\-prev\-log +.RS 4 +Use previous log contents\&. Defaults to the current log contents\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the current log from the device and dump it to stdout: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme toshiba internal\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the previous log from the device and save to a binary file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme toshiba internal\-log /dev/nvme0 \-\-output\-file=log\&.bin \-\-prev\-log +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-toshiba-vs-internal-log.html b/Documentation/nvme-toshiba-vs-internal-log.html new file mode 100644 index 0000000..e079c4d --- /dev/null +++ b/Documentation/nvme-toshiba-vs-internal-log.html @@ -0,0 +1,844 @@ + + + + + + +nvme-toshiba-vs-internal-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
'nvme toshiba vs-internal-log ' <device>
+                [--output-file=<FILE>, -o <FILE>] (optional)
+                [--saved-log, -s] (optional)
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the Toshiba internal device log +request and either saves the result to a file or dumps the content to stdout.

+

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

+

The log is associated with the controller rather than any +namespaces.

+

Two logs exist, the current log and the previous log.

+

This will only work on Toshiba devices supporting this feature.

+

Note: The logs are quite large - typically 100’s of MB. This command can take several minutes to complete. +A progress runner is included when data is written to file and a page count is included in the stdout dump.

+
+
+
+

OPTIONS

+
+
+
+-o <FILE> +
+
+--output-file=<FILE> +
+
+

+ Output binary file. Defaults to text-formatted dump to stdout +

+
+
+-p +
+
+--prev-log +
+
+

+ Use previous log contents. Defaults to the current log contents. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Get the current log from the device and dump it to stdout: +

    +
    +
    +
    # nvme toshiba internal-log /dev/nvme0
    +
    +
  • +
  • +

    +Get the previous log from the device and save to a binary file: +

    +
    +
    +
    # nvme toshiba internal-log /dev/nvme0 --output-file=log.bin --prev-log
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-toshiba-vs-internal-log.txt b/Documentation/nvme-toshiba-vs-internal-log.txt new file mode 100644 index 0000000..3cfb917 --- /dev/null +++ b/Documentation/nvme-toshiba-vs-internal-log.txt @@ -0,0 +1,62 @@ +nvme-toshiba-vs-internal-log(1) +=============================== + +NAME +---- +nvme-toshiba-vs-internal-log - Retrieve a Toshiba device's vendor specific internal log and either save to file or dump the contents. + +SYNOPSIS +-------- +[verse] +'nvme toshiba vs-internal-log ' + [--output-file=, -o ] (optional) + [--saved-log, -s] (optional) + +DESCRIPTION +----------- +For the NVMe device given, sends the Toshiba internal device log +request and either saves the result to a file or dumps the content to stdout. + +The parameter is mandatory and may be either the NVMe +character device (ex: /dev/nvme0), or a namespace block device (ex: +/dev/nvme0n1). + +The log is associated with the controller rather than any +namespaces. + +Two logs exist, the current log and the previous log. + +This will only work on Toshiba devices supporting this feature. + +Note: The logs are quite large - typically 100's of MB. This command can take several minutes to complete. +A progress runner is included when data is written to file and a page count is included in the stdout dump. + +OPTIONS +------- + +-o :: +--output-file=:: + Output binary file. Defaults to text-formatted dump to stdout + +-p:: +--prev-log:: + Use previous log contents. Defaults to the current log contents. + +EXAMPLES +-------- +* Get the current log from the device and dump it to stdout: ++ +------------ +# nvme toshiba internal-log /dev/nvme0 +------------ ++ + +* Get the previous log from the device and save to a binary file: ++ +------------ +# nvme toshiba internal-log /dev/nvme0 --output-file=log.bin --prev-log +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-toshiba-vs-smart-add-log.1 b/Documentation/nvme-toshiba-vs-smart-add-log.1 new file mode 100644 index 0000000..22e8a18 --- /dev/null +++ b/Documentation/nvme-toshiba-vs-smart-add-log.1 @@ -0,0 +1,106 @@ +'\" t +.\" Title: nvme-toshiba-vs-smart-add-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-TOSHIBA\-VS\-S" "1" "02/14/2024" "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-toshiba-vs-smart-add-log \- Retrieve a Toshiba device\*(Aqs vendor specific extended SMART log page contents and either save to file or dump the contents\&. +.SH "SYNOPSIS" +.sp +.nf +\*(Aqnvme toshiba vs\-smart\-add\-log \*(Aq [\-\-log=, \-l ] + [\-\-namespace\-id=, \-n ] + [\-\-output\-file=, \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the Toshiba vendor log request and either saves the result to a file or dumps the content to stdout\&. +.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 +The log contents may be associated with the controller, in which case the namespace parameter is ignored\&. +.sp +Two logs exist, page 0xC0 (log page directory) and page 0xCA (vendor log page) +.sp +This will only work on Toshiba devices supporting this feature\&. +.SH "OPTIONS" +.PP +\-l , \-\-log= +.RS 4 +Log page: 0xC0 or 0xCA (defaults to 0xCA) +.RE +.PP +\-n , \-\-namespace\-id=, \-o , \-\-output\-file= +.RS 4 +Output binary file\&. Defaults to text\-formatted dump to stdout +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the current log from the device and dumps it to stdout: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme toshiba vs\-smart\-add\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Get the contents of log page 0xC0 from the device and save to a binary file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme toshiba vs\-smart\-add\-log /dev/nvme0 \-\-output\-file=log\&.bin \-\-log=0xC0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-toshiba-vs-smart-add-log.html b/Documentation/nvme-toshiba-vs-smart-add-log.html new file mode 100644 index 0000000..ef4a80b --- /dev/null +++ b/Documentation/nvme-toshiba-vs-smart-add-log.html @@ -0,0 +1,848 @@ + + + + + + +nvme-toshiba-vs-smart-add-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
'nvme toshiba vs-smart-add-log ' <device> [--log=<NUM>, -l <NUM>]
+                [--namespace-id=<NUM>, -n <NUM>]
+                [--output-file=<FILE>, -o <FILE>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the Toshiba vendor log +request and either saves the result to a file or dumps the content to stdout.

+

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

+

The log contents may be associated with the controller, in which case the +namespace parameter is ignored.

+

Two logs exist, page 0xC0 (log page directory) and page 0xCA (vendor log page)

+

This will only work on Toshiba devices supporting this feature.

+
+
+
+

OPTIONS

+
+
+
+-l <NUM> +
+
+--log=<NUM> +
+
+

+ Log page: 0xC0 or 0xCA (defaults to 0xCA) +

+
+
+-n <NUM> +
+
+--namespace-id=<NUM> +
+
+-o <FILE> +
+
+--output-file=<FILE> +
+
+

+ Output binary file. Defaults to text-formatted dump to stdout +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Get the current log from the device and dumps it to stdout: +

    +
    +
    +
    # nvme toshiba vs-smart-add-log /dev/nvme0
    +
    +
  • +
  • +

    +Get the contents of log page 0xC0 from the device and save to a binary file: +

    +
    +
    +
    # nvme toshiba vs-smart-add-log /dev/nvme0 --output-file=log.bin --log=0xC0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-toshiba-vs-smart-add-log.txt b/Documentation/nvme-toshiba-vs-smart-add-log.txt new file mode 100644 index 0000000..96a13ca --- /dev/null +++ b/Documentation/nvme-toshiba-vs-smart-add-log.txt @@ -0,0 +1,63 @@ +nvme-toshiba-vs-smart-add-log(1) +================================ + +NAME +---- +nvme-toshiba-vs-smart-add-log - Retrieve a Toshiba device's vendor specific +extended SMART log page contents and either save to file or dump the contents. + +SYNOPSIS +-------- +[verse] +'nvme toshiba vs-smart-add-log ' [--log=, -l ] + [--namespace-id=, -n ] + [--output-file=, -o ] + +DESCRIPTION +----------- +For the NVMe device given, sends the Toshiba vendor log +request and either saves the result to a file or dumps the content to stdout. + +The parameter is mandatory and may be either the NVMe +character device (ex: /dev/nvme0), or a namespace block device (ex: +/dev/nvme0n1). + +The log contents may be associated with the controller, in which case the +namespace parameter is ignored. + +Two logs exist, page 0xC0 (log page directory) and page 0xCA (vendor log page) + +This will only work on Toshiba devices supporting this feature. + +OPTIONS +------- + +-l :: +--log=:: + Log page: 0xC0 or 0xCA (defaults to 0xCA) + +-n :: +--namespace-id=:: + +-o :: +--output-file=:: + Output binary file. Defaults to text-formatted dump to stdout + +EXAMPLES +-------- +* Get the current log from the device and dumps it to stdout: ++ +------------ +# nvme toshiba vs-smart-add-log /dev/nvme0 +------------ ++ + +* Get the contents of log page 0xC0 from the device and save to a binary file: ++ +------------ +# nvme toshiba vs-smart-add-log /dev/nvme0 --output-file=log.bin --log=0xC0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-transcend-badblock.1 b/Documentation/nvme-transcend-badblock.1 new file mode 100644 index 0000000..86774bd --- /dev/null +++ b/Documentation/nvme-transcend-badblock.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-transcend-badblock +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-TRANSCEND\-BAD" "1" "02/14/2024" "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-transcend-badblock \- Retrieve Transcend NVMe device\*(Aqs bad blocks\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme transcend badblock\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the Transcend vendor command and return the bad block of the device\&. +.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 +On success, the returned value would print the amount of bad blocks\&. +.SH "OPTIONS" +.sp +none +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the Transcend device\(cqs bad blocks in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme transcend badblock /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-transcend-badblock.html b/Documentation/nvme-transcend-badblock.html new file mode 100644 index 0000000..4e3130a --- /dev/null +++ b/Documentation/nvme-transcend-badblock.html @@ -0,0 +1,803 @@ + + + + + + +nvme-transcend-badblock(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme transcend badblock <device>
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the Transcend vendor command and return the bad block of the device.

+

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

+

On success, the returned value would print the amount of bad blocks.

+
+
+
+

OPTIONS

+
+

none

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the Transcend device’s bad blocks in a human readable format: +

    +
    +
    +
    # nvme transcend badblock /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-transcend-badblock.txt b/Documentation/nvme-transcend-badblock.txt new file mode 100644 index 0000000..9b6f671 --- /dev/null +++ b/Documentation/nvme-transcend-badblock.txt @@ -0,0 +1,36 @@ +nvme-transcend-badblock(1) +========================== + +NAME +---- +nvme-transcend-badblock - Retrieve Transcend NVMe device's bad blocks. + +SYNOPSIS +-------- +[verse] +'nvme transcend badblock' + +DESCRIPTION +----------- +For the NVMe device given, sends the Transcend vendor command and return the bad block of the device. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned value would print the amount of bad blocks. + +OPTIONS +------- +none + +EXAMPLES +-------- +* Print the Transcend device's bad blocks in a human readable format: ++ +------------ +# nvme transcend badblock /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-transcend-healthvalue.1 b/Documentation/nvme-transcend-healthvalue.1 new file mode 100644 index 0000000..d222a03 --- /dev/null +++ b/Documentation/nvme-transcend-healthvalue.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-transcend-healthvalue +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-TRANSCEND\-HEA" "1" "02/14/2024" "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-transcend-healthvalue \- Use NVMe SMART table to analyze the health value of Transcend device\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme transcend healthvalue\fR +.fi +.SH "DESCRIPTION" +.sp +Retrieves the NVMe Device SMART log page from the Transcend device and evaluate health status of Transcend device\&. +.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 +On success, the returned value would print health percentage value\&. +.SH "OPTIONS" +.sp +none +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Print the Transcend Device health value in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme transcend healthvalue /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-transcend-healthvalue.html b/Documentation/nvme-transcend-healthvalue.html new file mode 100644 index 0000000..8c0cf97 --- /dev/null +++ b/Documentation/nvme-transcend-healthvalue.html @@ -0,0 +1,804 @@ + + + + + + +nvme-transcend-healthvalue(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme transcend healthvalue <device>
+
+
+
+
+
+

DESCRIPTION

+
+

Retrieves the NVMe Device SMART log page from the Transcend device and evaluate +health status of Transcend device.

+

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

+

On success, the returned value would print health percentage value.

+
+
+
+

OPTIONS

+
+

none

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Print the Transcend Device health value in a human readable format: +

    +
    +
    +
    # nvme transcend healthvalue /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-transcend-healthvalue.txt b/Documentation/nvme-transcend-healthvalue.txt new file mode 100644 index 0000000..90340ce --- /dev/null +++ b/Documentation/nvme-transcend-healthvalue.txt @@ -0,0 +1,38 @@ +nvme-transcend-healthvalue(1) +============================= + +NAME +---- +nvme-transcend-healthvalue - Use NVMe SMART table to analyze the health value of +Transcend device. + +SYNOPSIS +-------- +[verse] +'nvme transcend healthvalue' + +DESCRIPTION +----------- +Retrieves the NVMe Device SMART log page from the Transcend device and evaluate +health status of Transcend device. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the returned value would print health percentage value. + +OPTIONS +------- +none + +EXAMPLES +-------- +* Print the Transcend Device health value in a human readable format: ++ +------------ +# nvme transcend healthvalue /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-verify.1 b/Documentation/nvme-verify.1 new file mode 100644 index 0000000..d56d554 --- /dev/null +++ b/Documentation/nvme-verify.1 @@ -0,0 +1,165 @@ +'\" t +.\" Title: nvme-verify +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-VERIFY" "1" "02/14/2024" "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-verify \- Send an NVMe Verify command, return results +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-verify\fR [\-\-namespace\-id= | \-n ] + [\-\-start\-block= | \-s ] + [\-\-block\-count= | \-c ] [\-\-limited\-retry | \-l] + [\-\-force\-unit\-access | \-f] + [\-\-prinfo= | \-p ] + [\-\-ref\-tag= | \-r ] + [\-\-app\-tag\-mask= | \-m ] + [\-\-app\-tag= | \-a ] + [\-\-storage\-tag | \-S ] + [\-\-storage\-tag\-check | \-C] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Verify command verifies the integrity of the stored information by reading data and metadata\&. +.SH "OPTIONS" +.PP +\-n , \-\-namespace\-id= +.RS 4 +Namespace ID use in the command\&. +.RE +.PP +\-s , \-\-start\-block= +.RS 4 +Start block address\&. +.RE +.PP +\-c , \-\-block\-count= +.RS 4 +Number of logical blocks to Verify\&. +.RE +.PP +\-l, \-\-limited\-retry +.RS 4 +Sets the limited retry flag\&. +.RE +.PP +\-f, \-\-force\-unit\-access +.RS 4 +Set the force\-unit access flag\&. +.RE +.PP +\-p , \-\-prinfo= +.RS 4 +Protection Information field definition\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Bit +T}:T{ +Description +T} +T{ +3 +T}:T{ +PRACT: Protection Information Action\&. When set to 1, PI is stripped/inserted on read/write when the block format\(cqs metadata size is 8\&. When set to 0, metadata is passes\&. +T} +T{ +2:0 +T}:T{ +PRCHK: Protection Information Check: +T} +T{ +2 +T}:T{ +Set to 1 enables checking the guard tag +T} +T{ +1 +T}:T{ +Set to 1 enables checking the application tag +T} +T{ +0 +T}:T{ +Set to 1 enables checking the reference tag +T} +.TE +.sp 1 +.RE +.PP +\-r , \-\-ref\-tag= +.RS 4 +Optional reftag when used with protection information\&. +.RE +.PP +\-m , \-\-app\-tag\-mask= +.RS 4 +Optional application tag mask when used with protection information\&. +.RE +.PP +\-a , \-\-app\-tag= +.RS 4 +Optional application tag when used with protection information\&. +.RE +.PP +\-S , \-\-storage\-tag= +.RS 4 +Variable Sized Expected Logical Block Storage Tag(ELBST)\&. +.RE +.PP +\-C, \-\-storage\-tag\-check +.RS 4 +This flag enables Storage Tag field checking as part of Verify operation\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-verify.html b/Documentation/nvme-verify.html new file mode 100644 index 0000000..8581e22 --- /dev/null +++ b/Documentation/nvme-verify.html @@ -0,0 +1,983 @@ + + + + + + +nvme-verify(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme-verify <device> [--namespace-id=<nsid> | -n <nsid>]
+                        [--start-block=<slba> | -s <slba>]
+                        [--block-count=<nlb> | -c <nlb>] [--limited-retry | -l]
+                        [--force-unit-access | -f]
+                        [--prinfo=<prinfo> | -p <prinfo>]
+                        [--ref-tag=<reftag> | -r <reftag>]
+                        [--app-tag-mask=<appmask> | -m <appmask>]
+                        [--app-tag=<apptag> | -a <apptag>]
+                        [--storage-tag<storage-tag> | -S <storage-tag>]
+                        [--storage-tag-check | -C]
+                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+
+
+
+
+

DESCRIPTION

+
+

The Verify command verifies the integrity of the stored information by +reading data and metadata.

+
+
+
+

OPTIONS

+
+
+
+-n <nsid> +
+
+--namespace-id=<nsid> +
+
+

+ Namespace ID use in the command. +

+
+
+-s <slba> +
+
+--start-block=<slba> +
+
+

+ Start block address. +

+
+
+-c <nlb> +
+
+--block-count=<nlb> +
+
+

+ Number of logical blocks to Verify. +

+
+
+-l +
+
+--limited-retry +
+
+

+ Sets the limited retry flag. +

+
+
+-f +
+
+--force-unit-access +
+
+

+ Set the force-unit access flag. +

+
+
+-p <prinfo> +
+
+--prinfo=<prinfo> +
+
+

+ Protection Information field definition. +

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + +

Bit

Description

3

PRACT: Protection Information Action. When set to 1, PI is stripped/inserted +on read/write when the block format’s metadata size is 8. When set to 0, +metadata is passes.

2:0

PRCHK: Protection Information Check:

2

Set to 1 enables checking the guard tag

1

Set to 1 enables checking the application tag

0

Set to 1 enables checking the reference tag

+
+
+
+-r <reftag> +
+
+--ref-tag=<reftag> +
+
+

+ Optional reftag when used with protection information. +

+
+
+-m <appmask> +
+
+--app-tag-mask=<appmask> +
+
+

+ Optional application tag mask when used with protection information. +

+
+
+-a <apptag> +
+
+--app-tag=<apptag> +
+
+

+ Optional application tag when used with protection information. +

+
+
+-S <storage-tag> +
+
+--storage-tag=<storage-tag> +
+
+

+ Variable Sized Expected Logical Block Storage Tag(ELBST). +

+
+
+-C +
+
+--storage-tag-check +
+
+

+ This flag enables Storage Tag field checking as part of Verify operation. +

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

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

+
+
+-v +
+
+--verbose +
+
+

+ Increase the information detail in the output. +

+
+
+
+
+
+

EXAMPLES

+
+

No examples yet.

+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-verify.txt b/Documentation/nvme-verify.txt new file mode 100644 index 0000000..01dabbf --- /dev/null +++ b/Documentation/nvme-verify.txt @@ -0,0 +1,101 @@ +nvme-verify(1) +============== + +NAME +---- +nvme-verify - Send an NVMe Verify command, return results + +SYNOPSIS +-------- +[verse] +'nvme-verify' [--namespace-id= | -n ] + [--start-block= | -s ] + [--block-count= | -c ] [--limited-retry | -l] + [--force-unit-access | -f] + [--prinfo= | -p ] + [--ref-tag= | -r ] + [--app-tag-mask= | -m ] + [--app-tag= | -a ] + [--storage-tag | -S ] + [--storage-tag-check | -C] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +The Verify command verifies the integrity of the stored information by +reading data and metadata. + +OPTIONS +------- +-n :: +--namespace-id=:: + Namespace ID use in the command. + +-s :: +--start-block=:: + Start block address. + +-c :: +--block-count=:: + Number of logical blocks to Verify. + +-l:: +--limited-retry:: + Sets the limited retry flag. + +-f:: +--force-unit-access:: + Set the force-unit access flag. + +-p :: +--prinfo=:: + Protection Information field definition. ++ +[] +|================= +|Bit|Description +|3|PRACT: Protection Information Action. When set to 1, PI is stripped/inserted +on read/write when the block format's metadata size is 8. When set to 0, +metadata is passes. +|2:0|PRCHK: Protection Information Check: +|2|Set to 1 enables checking the guard tag +|1|Set to 1 enables checking the application tag +|0|Set to 1 enables checking the reference tag +|================= + +-r :: +--ref-tag=:: + Optional reftag when used with protection information. + +-m :: +--app-tag-mask=:: + Optional application tag mask when used with protection information. + +-a :: +--app-tag=:: + Optional application tag when used with protection information. + +-S :: +--storage-tag=:: + Variable Sized Expected Logical Block Storage Tag(ELBST). + +-C:: +--storage-tag-check:: + This flag enables Storage Tag field checking as part of Verify operation. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-virt-mgmt.txt b/Documentation/nvme-virt-mgmt.txt new file mode 100755 index 0000000..5eede14 --- /dev/null +++ b/Documentation/nvme-virt-mgmt.txt @@ -0,0 +1,70 @@ +nvme-virt-mgmt(1) +================= + +NAME +---- +nvme-virt-mgmt - Manage flexible resources between primary and secondary +controller + +SYNOPSIS +-------- +[verse] +'nvme virt-mgmt' [--cntlid= | -c ] + [--rt= | -r ] [--act= | -a ] + [--nr= | -n ] + [--output-format= | -o ] [--verbose | -v] + +DESCRIPTION +----------- +Manage flexible resources between primary and secondary controller, return +results. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-c :: +--cntlid=:: + Controller identifier (CNTLID) + +-r :: +--rt=:: + Resource Type (RT): [0,1] + 0h: VQ Resources + 1h: VI Resources + +-a :: +--act=:: + Action(ACT): [1,7,8,9] + 1h: Primary Flexible + 7h: Secondary Offline + 8h: Secondary Assign + 9h: Secondary Online + +-n :: +--nr=:: + Number of controller resources (NR) + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json' or 'binary'. Only one + output format can be used at a time. + +-v:: +--verbose:: + Increase the information detail in the output. + +EXAMPLES +-------- +* Has the program issue a virt-mgmt to manage flexible resources. ++ +------------ +# nvme virt-mgmt /dev/nvme0 -c 0 -r 1 -a 1 -n 0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-virtium-save-smart-to-vtview-log.1 b/Documentation/nvme-virtium-save-smart-to-vtview-log.1 new file mode 100644 index 0000000..15ba0a5 --- /dev/null +++ b/Documentation/nvme-virtium-save-smart-to-vtview-log.1 @@ -0,0 +1,138 @@ +'\" t +.\" Title: nvme-virtium-save-smart-to-vtview-log +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-VIRTIUM\-SAVE\" "1" "02/14/2024" "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-virtium-save-smart-to-vtview-log \- Periodically save smart attributes into a log file (csv format)\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme virtium save\-smart\-to\-vtview\-log\fR [\-\-run\-time= | \-r ] + [\-\-freq= | \-f ] + [\-\-output\-file= | \-o ] + [\-\-test\-name= | \-n ] +.fi +.SH "DESCRIPTION" +.sp +This command automates the process of collecting SMART data periodically and saving the data in a ready\-to\-analyze format\&. Each entry is saved with timestamp and in csv format\&. Users can use excel to analyze the data\&. Some examples of use cases are collecting SMART data for temperature characterization, data to calculate endurance, or collecting SMART data during a test or during normal operation\&. +.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 +On success, the command generates a log file, which contains an entry for identify device (current features & settings) and periodic entries of SMART data\&. +.sp +This command runs for the time specified by the option , and collects SMART data at the frequency specified by the option \&. If the output file name is not specified, this command will generate a file name that include model string and serial number of the device\&. +.sp +If the test\-name option is specified, it will be recorded in the log file and be used as part of the log file name\&. +.SH "OPTIONS" +.PP +\-r , \-\-run\-time= +.RS 4 +(optional) Number of hours to log data (default = 20 hours) +.RE +.PP +\-f , \-\-freq= +.RS 4 +(optional) How often you want to log SMART data (0\&.25 = 15\*(Aq, 0\&.5 = 30\*(Aq, 1 = 1 hour, 2 = 2 hours, etc\&.)\&. Default = 10 hours\&. +.RE +.PP +\-o , \-\-output\-file= +.RS 4 +(optional) Name of the log file (give it a name that easy for you to remember what the test is)\&. You can leave it blank too, the file name will be generated as \-\-\&.txt\&. +.RE +.PP +\-n , \-\-test\-name= +.RS 4 +(optional) Name of the test you are doing\&. We use this string as part of the name of the log file\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Temperature characterization: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme virtium save\-smart\-to\-vtview\-log /dev/yourDevice \-\-run\-time=100 \-\-record\-frequency=0\&.25 \-\-test\-name=burn\-in\-at\-(\-40) +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Endurance testing: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme virtium save\-smart\-to\-vtview\-log /dev/yourDevice \-\-run\-time=100 \-\-record\-frequency=1 \-\-test\-name=Endurance\-test\-JEDEG\-219\-workload +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Just logging: Default logging is run for 20 hours and log every 10 hours\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme virtium save\-smart\-to\-vtview\-log /dev/yourDevice +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-virtium-save-smart-to-vtview-log.html b/Documentation/nvme-virtium-save-smart-to-vtview-log.html new file mode 100644 index 0000000..5edfd37 --- /dev/null +++ b/Documentation/nvme-virtium-save-smart-to-vtview-log.html @@ -0,0 +1,885 @@ + + + + + + +nvme-virtium-save-smart-to-vtview-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme virtium save-smart-to-vtview-log <device> [--run-time=<NUM> | -r <NUM>]
+                        [--freq=<NUM> | -f <NUM>]
+                        [--output-file=<FILE> | -o <FILE>]
+                        [--test-name=<NAME> | -n <NAME>]
+
+
+
+
+
+

DESCRIPTION

+
+

This command automates the process of collecting SMART data periodically and +saving the data in a ready-to-analyze format. Each entry is saved +with timestamp and in csv format. Users can use excel to analyze the data. +Some examples of use cases are collecting SMART data for temperature +characterization, data to calculate endurance, or collecting SMART data during a +test or during normal operation.

+

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

+

On success, the command generates a log file, which contains an entry for +identify device (current features & settings) and periodic entries of SMART data.

+

This command runs for the time specified by the option <run-time>, and collects +SMART data at the frequency specified by the option <freq>. If the output file +name is not specified, this command will generate a file name that include model +string and serial number of the device.

+

If the test-name option is specified, it will be recorded in the log file and be +used as part of the log file name.

+
+
+
+

OPTIONS

+
+
+
+-r <NUM> +
+
+--run-time=<NUM> +
+
+

+ (optional) Number of hours to log data (default = 20 hours) +

+
+
+-f <NUM> +
+
+--freq=<NUM> +
+
+

+ (optional) How often you want to log SMART data (0.25 = 15', 0.5 = 30', + 1 = 1 hour, 2 = 2 hours, etc.). Default = 10 hours. +

+
+
+-o <FILE> +
+
+--output-file=<FILE> +
+
+

+ (optional) Name of the log file (give it a name that easy for you to + remember what the test is). You can leave it blank too, the file name + will be generated as <model string>-<serial number>-<test name>.txt. +

+
+
+-n <NAME> +
+
+--test-name=<NAME> +
+
+

+ (optional) Name of the test you are doing. We use this string as part of + the name of the log file. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Temperature characterization: +

    +
    +
    +
    # nvme virtium save-smart-to-vtview-log /dev/yourDevice --run-time=100 --record-frequency=0.25 --test-name=burn-in-at-(-40)
    +
    +
  • +
  • +

    +Endurance testing: +

    +
    +
    +
    # nvme virtium save-smart-to-vtview-log /dev/yourDevice --run-time=100 --record-frequency=1 --test-name=Endurance-test-JEDEG-219-workload
    +
    +
  • +
  • +

    +Just logging: Default logging is run for 20 hours and log every 10 hours. +

    +
    +
    +
    # nvme virtium save-smart-to-vtview-log /dev/yourDevice
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-virtium-save-smart-to-vtview-log.txt b/Documentation/nvme-virtium-save-smart-to-vtview-log.txt new file mode 100644 index 0000000..72090c0 --- /dev/null +++ b/Documentation/nvme-virtium-save-smart-to-vtview-log.txt @@ -0,0 +1,86 @@ +nvme-virtium-save-smart-to-vtview-log(1) +======================================== + +NAME +---- +nvme-virtium-save-smart-to-vtview-log - Periodically save smart attributes into +a log file (csv format). + +SYNOPSIS +-------- +[verse] +'nvme virtium save-smart-to-vtview-log' [--run-time= | -r ] + [--freq= | -f ] + [--output-file= | -o ] + [--test-name= | -n ] + +DESCRIPTION +----------- +This command automates the process of collecting SMART data periodically and +saving the data in a ready-to-analyze format. Each entry is saved +with timestamp and in csv format. Users can use excel to analyze the data. +Some examples of use cases are collecting SMART data for temperature +characterization, data to calculate endurance, or collecting SMART data during a +test or during normal operation. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the command generates a log file, which contains an entry for +identify device (current features & settings) and periodic entries of SMART data. + +This command runs for the time specified by the option , and collects +SMART data at the frequency specified by the option . If the output file +name is not specified, this command will generate a file name that include model +string and serial number of the device. + +If the test-name option is specified, it will be recorded in the log file and be +used as part of the log file name. + +OPTIONS +------- +-r :: +--run-time=:: + (optional) Number of hours to log data (default = 20 hours) + +-f :: +--freq=:: + (optional) How often you want to log SMART data (0.25 = 15', 0.5 = 30', + 1 = 1 hour, 2 = 2 hours, etc.). Default = 10 hours. + +-o :: +--output-file=:: + (optional) Name of the log file (give it a name that easy for you to + remember what the test is). You can leave it blank too, the file name + will be generated as --.txt. + +-n :: +--test-name=:: + (optional) Name of the test you are doing. We use this string as part of + the name of the log file. + +EXAMPLES +-------- +* Temperature characterization: ++ +------------ +# nvme virtium save-smart-to-vtview-log /dev/yourDevice --run-time=100 --record-frequency=0.25 --test-name=burn-in-at-(-40) +------------ ++ + +* Endurance testing: ++ +------------ +# nvme virtium save-smart-to-vtview-log /dev/yourDevice --run-time=100 --record-frequency=1 --test-name=Endurance-test-JEDEG-219-workload +------------ ++ + +* Just logging: Default logging is run for 20 hours and log every 10 hours. ++ +------------ +# nvme virtium save-smart-to-vtview-log /dev/yourDevice +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-virtium-show-identify.1 b/Documentation/nvme-virtium-show-identify.1 new file mode 100644 index 0000000..10f9697 --- /dev/null +++ b/Documentation/nvme-virtium-show-identify.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-virtium-show-identify +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-VIRTIUM\-SHOW\" "1" "02/14/2024" "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-virtium-show-identify \- Show a complete detail of identify device information in json format\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme virtium show\-identify\fR +.fi +.SH "DESCRIPTION" +.sp +This command prints complete detail of the identify device information\&. The details include settings and description of each feature\&. The descriptions are based on NVM Express Revision 1\&.3c specification\&. +.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 +On success, the command prints identify device in human readable format\&. +.SH "OPTIONS" +.sp +none +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Show Identify Device: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme virtium show\-identify /dev/nvme0n1 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-virtium-show-identify.html b/Documentation/nvme-virtium-show-identify.html new file mode 100644 index 0000000..9e03e8d --- /dev/null +++ b/Documentation/nvme-virtium-show-identify.html @@ -0,0 +1,805 @@ + + + + + + +nvme-virtium-show-identify(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme virtium show-identify <device>
+
+
+
+
+
+

DESCRIPTION

+
+

This command prints complete detail of the identify device information. The +details include settings and description of each feature. The descriptions are +based on NVM Express Revision 1.3c specification.

+

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

+

On success, the command prints identify device in human readable format.

+
+
+
+

OPTIONS

+
+

none

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Show Identify Device: +

    +
    +
    +
    # nvme virtium show-identify /dev/nvme0n1
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-virtium-show-identify.txt b/Documentation/nvme-virtium-show-identify.txt new file mode 100644 index 0000000..881824c --- /dev/null +++ b/Documentation/nvme-virtium-show-identify.txt @@ -0,0 +1,38 @@ +nvme-virtium-show-identify(1) +============================= + +NAME +---- +nvme-virtium-show-identify - Show a complete detail of identify device information in json format. + +SYNOPSIS +-------- +[verse] +'nvme virtium show-identify' + +DESCRIPTION +----------- +This command prints complete detail of the identify device information. The +details include settings and description of each feature. The descriptions are +based on NVM Express Revision 1.3c specification. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +On success, the command prints identify device in human readable format. + +OPTIONS +------- +none + +EXAMPLES +-------- +* Show Identify Device: ++ +------------ +# nvme virtium show-identify /dev/nvme0n1 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-wdc-cap-diag.1 b/Documentation/nvme-wdc-cap-diag.1 new file mode 100644 index 0000000..b6a50aa --- /dev/null +++ b/Documentation/nvme-wdc-cap-diag.1 @@ -0,0 +1,163 @@ +'\" t +.\" Title: nvme-wdc-cap-diag +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-CAP\-DIAG" "1" "02/14/2024" "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-wdc-cap-diag \- Retrieve WDC device\*(Aqs diagnostic log and save to file\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc cap\-diag\fR [\-\-output\-file=, \-o ] [\-\-transfer\-size=, \-s ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the WDC Vendor Unique Capture\-Diagnostics request and saves the result to a file\&. +.sp +The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. +.sp +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-file= +.RS 4 +Output file; defaults to device serial number followed by "cap_diag" suffix +.RE +.PP +\-s , \-\-transfer\-size= +.RS 4 +Transfer size; defaults to 0x10000 (65536 decimal) bytes +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the capture diagnostics log from the device and saves to default file in current directory (e\&.g\&. STM00019F3F9cap_diag\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc cap\-diag /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the capture diagnostics log from the device and saves to defined file in current directory (e\&.g\&. testSTM00019F3F9cap_diag\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc cap\-diag /dev/nvme0 \-o test +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the capture diagnostics log from the device and saves to defined file with pathname (e\&.g\&. /tmp/testSTM00019F3F9cap_diag\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc cap\-diag /dev/nvme0 \-o /tmp/test +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the capture diagnostics log from the device transferring the data in 64k chunks and saves to default file in current directory (e\&.g\&. STM00019F3F9internal_fw_log\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc cap\-diag /dev/nvme0 \-s 0x10000 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the capture diagnostics log from the device transferring the data in 16k chunks and saves to default file in current directory (e\&.g\&. STM00019F3F9internal_fw_log\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc cap\-diag /dev/nvme0 \-s 16384 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-wdc-cap-diag.html b/Documentation/nvme-wdc-cap-diag.html new file mode 100644 index 0000000..f25b31c --- /dev/null +++ b/Documentation/nvme-wdc-cap-diag.html @@ -0,0 +1,863 @@ + + + + + + +nvme-wdc-cap-diag(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc cap-diag <device> [--output-file=<FILE>, -o <FILE>] [--transfer-size=<SIZE>, -s <SIZE>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the WDC Vendor Unique Capture-Diagnostics +request and saves the result to a file.

+

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

+

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

+
+
+
+

OPTIONS

+
+
+
+-o <FILE> +
+
+--output-file=<FILE> +
+
+

+ Output file; defaults to device serial number followed by "cap_diag" suffix +

+
+
+-s <SIZE> +
+
+--transfer-size=<SIZE> +
+
+

+ Transfer size; defaults to 0x10000 (65536 decimal) bytes +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Gets the capture diagnostics log from the device and saves to default file in current directory (e.g. STM00019F3F9cap_diag.bin): +

    +
    +
    +
    # nvme wdc cap-diag /dev/nvme0
    +
    +
  • +
  • +

    +Gets the capture diagnostics log from the device and saves to defined file in current directory (e.g. testSTM00019F3F9cap_diag.bin): +

    +
    +
    +
    # nvme wdc cap-diag /dev/nvme0 -o test
    +
    +
  • +
  • +

    +Gets the capture diagnostics log from the device and saves to defined file with pathname (e.g. /tmp/testSTM00019F3F9cap_diag.bin): +

    +
    +
    +
    # nvme wdc cap-diag /dev/nvme0 -o /tmp/test
    +
    +
  • +
  • +

    +Gets the capture diagnostics log from the device transferring the data in 64k chunks and saves to default file in current directory (e.g. STM00019F3F9internal_fw_log.bin): +

    +
    +
    +
    # nvme wdc cap-diag /dev/nvme0 -s 0x10000
    +
    +
  • +
  • +

    +Gets the capture diagnostics log from the device transferring the data in 16k chunks and saves to default file in current directory (e.g. STM00019F3F9internal_fw_log.bin): +

    +
    +
    +
    # nvme wdc cap-diag /dev/nvme0 -s 16384
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-cap-diag.txt b/Documentation/nvme-wdc-cap-diag.txt new file mode 100644 index 0000000..bfcde9a --- /dev/null +++ b/Documentation/nvme-wdc-cap-diag.txt @@ -0,0 +1,64 @@ +nvme-wdc-cap-diag(1) +==================== + +NAME +---- +nvme-wdc-cap-diag - Retrieve WDC device's diagnostic log and save to file. + +SYNOPSIS +-------- +[verse] +'nvme wdc cap-diag' [--output-file=, -o ] [--transfer-size=, -s ] + +DESCRIPTION +----------- + +For the NVMe device given, sends the WDC Vendor Unique Capture-Diagnostics +request and saves the result to a file. + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +This will only work on WDC devices supporting this feature. +Results for any other device are undefined. + +OPTIONS +------- +-o :: +--output-file=:: + Output file; defaults to device serial number followed by "cap_diag" suffix + +-s :: +--transfer-size=:: + Transfer size; defaults to 0x10000 (65536 decimal) bytes + +EXAMPLES +-------- +* Gets the capture diagnostics log from the device and saves to default file in current directory (e.g. STM00019F3F9cap_diag.bin): ++ +------------ +# nvme wdc cap-diag /dev/nvme0 +------------ +* Gets the capture diagnostics log from the device and saves to defined file in current directory (e.g. testSTM00019F3F9cap_diag.bin): ++ +------------ +# nvme wdc cap-diag /dev/nvme0 -o test +------------ +* Gets the capture diagnostics log from the device and saves to defined file with pathname (e.g. /tmp/testSTM00019F3F9cap_diag.bin): ++ +------------ +# nvme wdc cap-diag /dev/nvme0 -o /tmp/test +------------ +* Gets the capture diagnostics log from the device transferring the data in 64k chunks and saves to default file in current directory (e.g. STM00019F3F9internal_fw_log.bin): ++ +------------ +# nvme wdc cap-diag /dev/nvme0 -s 0x10000 +------------ +* Gets the capture diagnostics log from the device transferring the data in 16k chunks and saves to default file in current directory (e.g. STM00019F3F9internal_fw_log.bin): ++ +------------ +# nvme wdc cap-diag /dev/nvme0 -s 16384 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-wdc-capabilities.1 b/Documentation/nvme-wdc-capabilities.1 new file mode 100644 index 0000000..3bf216b --- /dev/null +++ b/Documentation/nvme-wdc-capabilities.1 @@ -0,0 +1,68 @@ +'\" t +.\" Title: nvme-wdc-capabilities +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-CAPABILIT" "1" "02/14/2024" "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-wdc-capabilities \- Display WDC plugin command capabilities +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc capabilities\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, displays list of commands and support status\&. +.sp +The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Displays the capabilities for the device: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc capabilities /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-wdc-capabilities.html b/Documentation/nvme-wdc-capabilities.html new file mode 100644 index 0000000..5768612 --- /dev/null +++ b/Documentation/nvme-wdc-capabilities.html @@ -0,0 +1,796 @@ + + + + + + +nvme-wdc-capabilities(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc capabilities <device>
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, displays list of commands and support status.

+

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

+

On success it returns 0, error code otherwise.

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Displays the capabilities for the device: +

    +
    +
    +
    # nvme wdc capabilities /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-capabilities.txt b/Documentation/nvme-wdc-capabilities.txt new file mode 100644 index 0000000..859bb5f --- /dev/null +++ b/Documentation/nvme-wdc-capabilities.txt @@ -0,0 +1,32 @@ +nvme-wdc-capabilities(1) +======================== + +NAME +---- +nvme-wdc-capabilities - Display WDC plugin command capabilities + +SYNOPSIS +-------- +[verse] +'nvme wdc capabilities' + +DESCRIPTION +----------- + +For the NVMe device given, displays list of commands and support status. + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +On success it returns 0, error code otherwise. + +EXAMPLES +-------- +* Displays the capabilities for the device: ++ +------------ +# nvme wdc capabilities /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-wdc-clear-assert-dump.1 b/Documentation/nvme-wdc-clear-assert-dump.1 new file mode 100644 index 0000000..08267d7 --- /dev/null +++ b/Documentation/nvme-wdc-clear-assert-dump.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-wdc-clear-assert-dump +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-CLEAR\-AS" "1" "02/14/2024" "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-wdc-clear-assert-dump \- Clears the assert dump (if present)\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc clear\-assert\-dump\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the wdc vendor unique clear assert dump command\&. +.sp +The parameter is mandatory and must be the NVMe character device (ex: /dev/nvme0)\&. +.sp +This will only work on WDC devices supporting this feature\&. The command will not be executed on devices that don\(cqt support it\&. +.SH "OPTIONS" +.sp +None +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Clears the assert dump (if present): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc clear\-assert\-dump /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-wdc-clear-assert-dump.html b/Documentation/nvme-wdc-clear-assert-dump.html new file mode 100644 index 0000000..2a8ab95 --- /dev/null +++ b/Documentation/nvme-wdc-clear-assert-dump.html @@ -0,0 +1,805 @@ + + + + + + +nvme-wdc-clear-assert-dump(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc clear-assert-dump <device>
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the wdc vendor unique clear assert +dump command.

+

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

+

This will only work on WDC devices supporting this feature. +The command will not be executed on devices that don’t support it.

+
+
+
+

OPTIONS

+
+

None

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Clears the assert dump (if present): +

    +
    +
    +
    # nvme wdc clear-assert-dump /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-clear-assert-dump.txt b/Documentation/nvme-wdc-clear-assert-dump.txt new file mode 100644 index 0000000..60493df --- /dev/null +++ b/Documentation/nvme-wdc-clear-assert-dump.txt @@ -0,0 +1,38 @@ +nvme-wdc-clear-assert-dump(1) +============================= + +NAME +---- +nvme-wdc-clear-assert-dump - Clears the assert dump (if present). + +SYNOPSIS +-------- +[verse] +'nvme wdc clear-assert-dump' + +DESCRIPTION +----------- +For the NVMe device given, sends the wdc vendor unique clear assert +dump command. + +The parameter is mandatory and must be the NVMe character +device (ex: /dev/nvme0). + +This will only work on WDC devices supporting this feature. +The command will not be executed on devices that don't support it. + +OPTIONS +------- +None + +EXAMPLES +-------- +* Clears the assert dump (if present): ++ +------------ +# nvme wdc clear-assert-dump /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-wdc-clear-fw-activate-history.1 b/Documentation/nvme-wdc-clear-fw-activate-history.1 new file mode 100644 index 0000000..592336d --- /dev/null +++ b/Documentation/nvme-wdc-clear-fw-activate-history.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-wdc-clear-fw-activate-history +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-CLEAR\-FW" "1" "02/14/2024" "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-wdc-clear-fw-activate-history \- Clears the firmware activate history table\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc clear\-fw\-activate\-history\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the wdc vendor unique clear fw activate history command\&. +.sp +The parameter is mandatory and must be the NVMe character device (ex: /dev/nvme0)\&. +.sp +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.SH "OPTIONS" +.sp +None +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Clears the firmware activate history table: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc clear\-fw\-activate\-history /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-wdc-clear-fw-activate-history.html b/Documentation/nvme-wdc-clear-fw-activate-history.html new file mode 100644 index 0000000..6fc6434 --- /dev/null +++ b/Documentation/nvme-wdc-clear-fw-activate-history.html @@ -0,0 +1,804 @@ + + + + + + +nvme-wdc-clear-fw-activate-history(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc clear-fw-activate-history <device>
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the wdc vendor unique clear fw activate +history command.

+

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

+

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

+
+
+
+

OPTIONS

+
+

None

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Clears the firmware activate history table: +

    +
    +
    +
    # nvme wdc clear-fw-activate-history /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-clear-fw-activate-history.txt b/Documentation/nvme-wdc-clear-fw-activate-history.txt new file mode 100644 index 0000000..ddb6c26 --- /dev/null +++ b/Documentation/nvme-wdc-clear-fw-activate-history.txt @@ -0,0 +1,37 @@ +nvme-wdc-clear-fw-activate-history(1) +===================================== + +NAME +---- +nvme-wdc-clear-fw-activate-history - Clears the firmware activate history table. + +SYNOPSIS +-------- +[verse] +'nvme wdc clear-fw-activate-history' + +DESCRIPTION +----------- +For the NVMe device given, sends the wdc vendor unique clear fw activate +history command. + +The parameter is mandatory and must be the NVMe character device (ex: /dev/nvme0). + +This will only work on WDC devices supporting this feature. +Results for any other device are undefined. + +OPTIONS +------- +None + +EXAMPLES +-------- +* Clears the firmware activate history table: ++ +------------ +# nvme wdc clear-fw-activate-history /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-wdc-clear-pcie-corr.1 b/Documentation/nvme-wdc-clear-pcie-corr.1 new file mode 100644 index 0000000..6e5989d --- /dev/null +++ b/Documentation/nvme-wdc-clear-pcie-corr.1 @@ -0,0 +1,71 @@ +'\" t +.\" Title: nvme-wdc-clear-pcie-corr +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 01/08/2019 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-CLEAR\-PC" "1" "01/08/2019" "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-wdc-clear-pcie-corr \- Clears the pcie correctable errors field returned in the smart\-log\-add command\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc clear\-pcie\-corr\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the wdc vendor unique clear pcie correctable errors command\&. +.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 +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.SH "OPTIONS" +.sp +None +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Clears the PCIe Correctable Error Count field returned in the smart\-log\-add command: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc clear\-pcie\-corr /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-wdc-clear-pcie-corr.html b/Documentation/nvme-wdc-clear-pcie-corr.html new file mode 100644 index 0000000..3e8a4a9 --- /dev/null +++ b/Documentation/nvme-wdc-clear-pcie-corr.html @@ -0,0 +1,806 @@ + + + + + + +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 new file mode 100644 index 0000000..b3cff45 --- /dev/null +++ b/Documentation/nvme-wdc-clear-pcie-correctable-errors.1 @@ -0,0 +1,71 @@ +'\" t +.\" 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: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-CLEAR\-PC" "1" "02/14/2024" "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-wdc-clear-pcie-correctable-errors \- Clears the pcie correctable errors field returned in the smart\-log\-add command\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc clear\-pcie\-correctable\-errors\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the wdc vendor unique clear pcie correctable errors command\&. +.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 +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.SH "OPTIONS" +.sp +None +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Clears the PCIe Correctable Error Count field returned in the smart\-log\-add command: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc clear\-pcie\-correctable\-errors /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-wdc-clear-pcie-correctable-errors.html b/Documentation/nvme-wdc-clear-pcie-correctable-errors.html new file mode 100644 index 0000000..30e109f --- /dev/null +++ b/Documentation/nvme-wdc-clear-pcie-correctable-errors.html @@ -0,0 +1,806 @@ + + + + + + +nvme-wdc-clear-pcie-correctable-errors(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc clear-pcie-correctable-errors <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-correctable-errors /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-clear-pcie-correctable-errors.txt b/Documentation/nvme-wdc-clear-pcie-correctable-errors.txt new file mode 100644 index 0000000..cecc52e --- /dev/null +++ b/Documentation/nvme-wdc-clear-pcie-correctable-errors.txt @@ -0,0 +1,39 @@ +nvme-wdc-clear-pcie-correctable-errors(1) +========================================= + +NAME +---- +nvme-wdc-clear-pcie-correctable-errors - Clears the pcie correctable errors field returned in the smart-log-add command. + +SYNOPSIS +-------- +[verse] +'nvme wdc clear-pcie-correctable-errors' + +DESCRIPTION +----------- +For the NVMe device given, sends the wdc vendor unique clear pcie +correctable errors command. + +The 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-correctable-errors /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-wdc-cloud-SSD-plugin-version.1 b/Documentation/nvme-wdc-cloud-SSD-plugin-version.1 new file mode 100644 index 0000000..8f1147a --- /dev/null +++ b/Documentation/nvme-wdc-cloud-SSD-plugin-version.1 @@ -0,0 +1,68 @@ +'\" t +.\" Title: nvme-wdc-cloud-SSD-plugin-version +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-CLOUD\-SS" "1" "02/14/2024" "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-wdc-cloud-SSD-plugin-version \- Display WDC plugin Cloud SSD Plugin Version +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc cloud\-SSD\-plugin\-version\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, this command displays the current Cloud SSD Plugin Version (if supported by the device)\&. +.sp +The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Displays the cloud ssd plugin version for the device: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc cloud\-SSD\-plugin\-version /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-wdc-cloud-SSD-plugin-version.html b/Documentation/nvme-wdc-cloud-SSD-plugin-version.html new file mode 100644 index 0000000..314631e --- /dev/null +++ b/Documentation/nvme-wdc-cloud-SSD-plugin-version.html @@ -0,0 +1,797 @@ + + + + + + +nvme-wdc-cloud-SSD-plugin-version(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc cloud-SSD-plugin-version <device>
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, this command displays the current Cloud SSD +Plugin Version (if supported by the device).

+

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

+

On success it returns 0, error code otherwise.

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Displays the cloud ssd plugin version for the device: +

    +
    +
    +
    # nvme wdc cloud-SSD-plugin-version /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-cloud-SSD-plugin-version.txt b/Documentation/nvme-wdc-cloud-SSD-plugin-version.txt new file mode 100644 index 0000000..3fed5cd --- /dev/null +++ b/Documentation/nvme-wdc-cloud-SSD-plugin-version.txt @@ -0,0 +1,33 @@ +nvme-wdc-cloud-SSD-plugin-version(1) +==================================== + +NAME +---- +nvme-wdc-cloud-SSD-plugin-version - Display WDC plugin Cloud SSD Plugin Version + +SYNOPSIS +-------- +[verse] +'nvme wdc cloud-SSD-plugin-version' + +DESCRIPTION +----------- + +For the NVMe device given, this command displays the current Cloud SSD +Plugin Version (if supported by the device). + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +On success it returns 0, error code otherwise. + +EXAMPLES +-------- +* Displays the cloud ssd plugin version for the device: ++ +------------ +# nvme wdc cloud-SSD-plugin-version /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-wdc-cloud-boot-SSD-version.1 b/Documentation/nvme-wdc-cloud-boot-SSD-version.1 new file mode 100644 index 0000000..a79a715 --- /dev/null +++ b/Documentation/nvme-wdc-cloud-boot-SSD-version.1 @@ -0,0 +1,68 @@ +'\" t +.\" Title: nvme-wdc-cloud-boot-SSD-version +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-CLOUD\-BO" "1" "02/14/2024" "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-wdc-cloud-boot-SSD-version \- Display WDC plugin Cloud Boot SSD Version +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc cloud\-boot\-SSD\-version\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, this command displays the current Cloud Hyperscale Boot Version (if supported by the device)\&. +.sp +The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Displays the cloud boot ssd version for the device: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc cloud\-boot\-SSD\-version /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-wdc-cloud-boot-SSD-version.html b/Documentation/nvme-wdc-cloud-boot-SSD-version.html new file mode 100644 index 0000000..7369c48 --- /dev/null +++ b/Documentation/nvme-wdc-cloud-boot-SSD-version.html @@ -0,0 +1,797 @@ + + + + + + +nvme-wdc-cloud-boot-SSD-version(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc cloud-boot-SSD-version <device>
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, this command displays the current Cloud Hyperscale +Boot Version (if supported by the device).

+

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

+

On success it returns 0, error code otherwise.

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Displays the cloud boot ssd version for the device: +

    +
    +
    +
    # nvme wdc cloud-boot-SSD-version /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-cloud-boot-SSD-version.txt b/Documentation/nvme-wdc-cloud-boot-SSD-version.txt new file mode 100644 index 0000000..a3f105e --- /dev/null +++ b/Documentation/nvme-wdc-cloud-boot-SSD-version.txt @@ -0,0 +1,33 @@ +nvme-wdc-cloud-boot-SSD-version(1) +================================== + +NAME +---- +nvme-wdc-cloud-boot-SSD-version - Display WDC plugin Cloud Boot SSD Version + +SYNOPSIS +-------- +[verse] +'nvme wdc cloud-boot-SSD-version' + +DESCRIPTION +----------- + +For the NVMe device given, this command displays the current Cloud Hyperscale +Boot Version (if supported by the device). + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +On success it returns 0, error code otherwise. + +EXAMPLES +-------- +* Displays the cloud boot ssd version for the device: ++ +------------ +# nvme wdc cloud-boot-SSD-version /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-wdc-drive-essentials.1 b/Documentation/nvme-wdc-drive-essentials.1 new file mode 100644 index 0000000..850d63b --- /dev/null +++ b/Documentation/nvme-wdc-drive-essentials.1 @@ -0,0 +1,95 @@ +'\" t +.\" Title: nvme-wdc-drive-essentials +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-DRIVE\-ES" "1" "02/14/2024" "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-wdc-drive-essentials \- Retrieve WDC device\*(Aqs drive essentials bin files and save to a tar file\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc drive\-essentials\fR [\-\-dir\-name=, \-d ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, captures the drive essential bin files and saves them into a tar file\&. The tar file will be in the following format: DRIVE_ESSENTIALS____