From 66e4b69042cd3b44acd42f1fad2109180c1bc48b Mon Sep 17 00:00:00 2001
From: Daniel Baumann
Date: Sun, 24 Dec 2023 08:57:54 +0100
Subject: Merging upstream version 2.7.1.
Signed-off-by: Daniel Baumann
---
.github/AppImageBuilder.yml | 1 -
.github/codeql/codeql-config.yml | 3 +
.github/workflows/appimage.yml | 44 +-
.github/workflows/build.yml | 71 +-
.github/workflows/checkpatch.yml | 15 +
.github/workflows/codeql.yml | 71 +
.github/workflows/coverage.yml | 22 +
.github/workflows/release.yml | 4 +-
.mailmap | 1 +
Documentation/nvme-admin-passthru.1 | 55 +-
Documentation/nvme-admin-passthru.html | 62 +-
Documentation/nvme-admin-passthru.txt | 46 +-
Documentation/nvme-ana-log.1 | 17 +-
Documentation/nvme-ana-log.html | 26 +-
Documentation/nvme-ana-log.txt | 17 +-
Documentation/nvme-attach-ns.1 | 21 +-
Documentation/nvme-attach-ns.html | 30 +-
Documentation/nvme-attach-ns.txt | 12 +-
Documentation/nvme-boot-part-log.1 | 20 +-
Documentation/nvme-boot-part-log.html | 27 +-
Documentation/nvme-boot-part-log.txt | 18 +-
Documentation/nvme-capacity-mgmt.1 | 23 +-
Documentation/nvme-capacity-mgmt.html | 42 +-
Documentation/nvme-capacity-mgmt.txt | 24 +-
Documentation/nvme-changed-ns-list-log.1 | 16 +-
Documentation/nvme-changed-ns-list-log.html | 25 +-
Documentation/nvme-changed-ns-list-log.txt | 16 +-
Documentation/nvme-check-dhchap-key.txt | 12 +-
Documentation/nvme-check-tls-key.txt | 38 +-
Documentation/nvme-cmdset-ind-id-ns.1 | 19 +-
Documentation/nvme-cmdset-ind-id-ns.html | 26 +-
Documentation/nvme-cmdset-ind-id-ns.txt | 16 +-
Documentation/nvme-compare.1 | 39 +-
Documentation/nvme-compare.html | 41 +-
Documentation/nvme-compare.txt | 19 +-
Documentation/nvme-config.txt | 65 +-
Documentation/nvme-connect-all.1 | 76 +-
Documentation/nvme-connect-all.html | 87 +-
Documentation/nvme-connect-all.txt | 79 +-
Documentation/nvme-connect.1 | 75 +-
Documentation/nvme-connect.html | 88 +-
Documentation/nvme-connect.txt | 76 +-
Documentation/nvme-copy.1 | 63 +-
Documentation/nvme-copy.html | 114 +-
Documentation/nvme-copy.txt | 52 +-
Documentation/nvme-create-ns.1 | 29 +-
Documentation/nvme-create-ns.html | 48 +-
Documentation/nvme-create-ns.txt | 23 +-
Documentation/nvme-delete-ns.1 | 19 +-
Documentation/nvme-delete-ns.html | 28 +-
Documentation/nvme-delete-ns.txt | 10 +
Documentation/nvme-dera-stat.1 | 4 +-
Documentation/nvme-dera-stat.html | 2 +-
Documentation/nvme-dera-stat.txt | 1 -
Documentation/nvme-detach-ns.1 | 21 +-
Documentation/nvme-detach-ns.html | 30 +-
Documentation/nvme-detach-ns.txt | 12 +-
Documentation/nvme-device-self-test.1 | 21 +-
Documentation/nvme-device-self-test.html | 28 +-
Documentation/nvme-device-self-test.txt | 24 +-
Documentation/nvme-dim.1 | 25 +-
Documentation/nvme-dim.html | 32 +-
Documentation/nvme-dim.txt | 19 +-
Documentation/nvme-dir-receive.1 | 48 +-
Documentation/nvme-dir-receive.html | 44 +-
Documentation/nvme-dir-receive.txt | 30 +-
Documentation/nvme-dir-send.1 | 50 +-
Documentation/nvme-dir-send.html | 46 +-
Documentation/nvme-dir-send.txt | 32 +-
Documentation/nvme-disconnect-all.1 | 21 +-
Documentation/nvme-disconnect-all.html | 34 +-
Documentation/nvme-disconnect-all.txt | 13 +-
Documentation/nvme-disconnect.1 | 24 +-
Documentation/nvme-disconnect.html | 33 +-
Documentation/nvme-disconnect.txt | 18 +-
Documentation/nvme-discover.1 | 84 +-
Documentation/nvme-discover.html | 104 +-
Documentation/nvme-discover.txt | 94 +-
Documentation/nvme-dsm.1 | 32 +-
Documentation/nvme-dsm.html | 39 +-
Documentation/nvme-dsm.txt | 24 +-
Documentation/nvme-effects-log.1 | 28 +-
Documentation/nvme-effects-log.html | 42 +-
Documentation/nvme-effects-log.txt | 24 +-
Documentation/nvme-endurance-event-agg-log.1 | 16 +-
Documentation/nvme-endurance-event-agg-log.html | 33 +-
Documentation/nvme-endurance-event-agg-log.txt | 24 +-
Documentation/nvme-endurance-log.1 | 16 +-
Documentation/nvme-endurance-log.html | 23 +-
Documentation/nvme-endurance-log.txt | 14 +-
Documentation/nvme-error-log.1 | 20 +-
Documentation/nvme-error-log.html | 27 +-
Documentation/nvme-error-log.txt | 17 +-
Documentation/nvme-fdp-configs.1 | 11 +-
Documentation/nvme-fdp-configs.html | 11 +-
Documentation/nvme-fdp-configs.txt | 9 +-
Documentation/nvme-fdp-events.1 | 12 +-
Documentation/nvme-fdp-events.html | 12 +-
Documentation/nvme-fdp-events.txt | 10 +-
Documentation/nvme-fdp-set-events.1 | 11 +-
Documentation/nvme-fdp-set-events.html | 11 +-
Documentation/nvme-fdp-set-events.txt | 9 +-
Documentation/nvme-fdp-stats.1 | 11 +-
Documentation/nvme-fdp-stats.html | 11 +-
Documentation/nvme-fdp-stats.txt | 9 +-
Documentation/nvme-fdp-status.1 | 11 +-
Documentation/nvme-fdp-status.html | 11 +-
Documentation/nvme-fdp-status.txt | 9 +-
Documentation/nvme-fdp-update.1 | 6 +-
Documentation/nvme-fdp-update.html | 4 +-
Documentation/nvme-fdp-update.txt | 2 +-
Documentation/nvme-fdp-usage.1 | 11 +-
Documentation/nvme-fdp-usage.html | 11 +-
Documentation/nvme-fdp-usage.txt | 9 +-
Documentation/nvme-fid-support-effects-log.1 | 20 +-
Documentation/nvme-fid-support-effects-log.html | 31 +-
Documentation/nvme-fid-support-effects-log.txt | 16 +-
Documentation/nvme-flush.1 | 19 +-
Documentation/nvme-flush.html | 28 +-
Documentation/nvme-flush.txt | 10 +
Documentation/nvme-format.1 | 34 +-
Documentation/nvme-format.html | 41 +-
Documentation/nvme-format.txt | 25 +-
Documentation/nvme-fw-commit.1 | 23 +-
Documentation/nvme-fw-commit.html | 30 +-
Documentation/nvme-fw-commit.txt | 14 +-
Documentation/nvme-fw-download.1 | 25 +-
Documentation/nvme-fw-download.html | 32 +-
Documentation/nvme-fw-download.txt | 16 +-
Documentation/nvme-fw-log.1 | 16 +-
Documentation/nvme-fw-log.html | 23 +-
Documentation/nvme-fw-log.txt | 13 +-
Documentation/nvme-gen-dhchap-key.txt | 16 +-
Documentation/nvme-gen-hostnqn.1 | 22 +-
Documentation/nvme-gen-hostnqn.html | 30 +-
Documentation/nvme-gen-hostnqn.txt | 11 +-
Documentation/nvme-gen-tls-key.txt | 40 +-
Documentation/nvme-get-feature.1 | 31 +-
Documentation/nvme-get-feature.html | 38 +-
Documentation/nvme-get-feature.txt | 22 +-
Documentation/nvme-get-lba-status.1 | 26 +-
Documentation/nvme-get-lba-status.html | 33 +-
Documentation/nvme-get-lba-status.txt | 24 +-
Documentation/nvme-get-log.1 | 43 +-
Documentation/nvme-get-log.html | 50 +-
Documentation/nvme-get-log.txt | 34 +-
Documentation/nvme-get-ns-id.1 | 22 +-
Documentation/nvme-get-ns-id.html | 30 +-
Documentation/nvme-get-ns-id.txt | 11 +-
Documentation/nvme-get-property.1 | 25 +-
Documentation/nvme-get-property.html | 32 +-
Documentation/nvme-get-property.txt | 20 +-
Documentation/nvme-help.1 | 4 +-
Documentation/nvme-help.html | 2 +-
Documentation/nvme-huawei-id-ctrl.1 | 10 +-
Documentation/nvme-huawei-id-ctrl.html | 14 +-
Documentation/nvme-huawei-id-ctrl.txt | 12 +-
Documentation/nvme-huawei-list.1 | 8 +-
Documentation/nvme-huawei-list.html | 8 +-
Documentation/nvme-huawei-list.txt | 6 +-
Documentation/nvme-id-ctrl.1 | 22 +-
Documentation/nvme-id-ctrl.html | 29 +-
Documentation/nvme-id-ctrl.txt | 20 +-
Documentation/nvme-id-domain.1 | 16 +-
Documentation/nvme-id-domain.html | 23 +-
Documentation/nvme-id-domain.txt | 14 +-
Documentation/nvme-id-iocs.1 | 16 +-
Documentation/nvme-id-iocs.html | 23 +-
Documentation/nvme-id-iocs.txt | 14 +-
Documentation/nvme-id-ns-granularity.txt | 46 +
Documentation/nvme-id-ns-lba-format.txt | 16 +-
Documentation/nvme-id-ns.1 | 26 +-
Documentation/nvme-id-ns.html | 33 +-
Documentation/nvme-id-ns.txt | 24 +-
Documentation/nvme-id-nvmset.1 | 18 +-
Documentation/nvme-id-nvmset.html | 27 +-
Documentation/nvme-id-nvmset.txt | 18 +-
Documentation/nvme-id-uuid.txt | 55 +
Documentation/nvme-inspur-nvme-vendor-log.1 | 4 +-
Documentation/nvme-inspur-nvme-vendor-log.html | 2 +-
Documentation/nvme-inspur-nvme-vendor-log.txt | 1 -
Documentation/nvme-intel-id-ctrl.1 | 10 +-
Documentation/nvme-intel-id-ctrl.html | 14 +-
Documentation/nvme-intel-id-ctrl.txt | 12 +-
Documentation/nvme-intel-internal-log.1 | 4 +-
Documentation/nvme-intel-internal-log.html | 2 +-
Documentation/nvme-intel-internal-log.txt | 1 -
Documentation/nvme-intel-lat-stats.1 | 4 +-
Documentation/nvme-intel-lat-stats.html | 2 +-
Documentation/nvme-intel-market-name.1 | 4 +-
Documentation/nvme-intel-market-name.html | 2 +-
Documentation/nvme-intel-smart-log-add.1 | 7 +-
Documentation/nvme-intel-smart-log-add.html | 7 +-
Documentation/nvme-intel-smart-log-add.txt | 8 +-
Documentation/nvme-intel-temp-stats.1 | 4 +-
Documentation/nvme-intel-temp-stats.html | 2 +-
Documentation/nvme-io-mgmt-recv.1 | 26 +-
Documentation/nvme-io-mgmt-recv.html | 33 +-
Documentation/nvme-io-mgmt-recv.txt | 16 +-
Documentation/nvme-io-mgmt-send.1 | 26 +-
Documentation/nvme-io-mgmt-send.html | 33 +-
Documentation/nvme-io-mgmt-send.txt | 16 +-
Documentation/nvme-io-passthru.1 | 53 +-
Documentation/nvme-io-passthru.html | 60 +-
Documentation/nvme-io-passthru.txt | 44 +-
Documentation/nvme-lba-status-log.1 | 17 +-
Documentation/nvme-lba-status-log.html | 24 +-
Documentation/nvme-lba-status-log.txt | 15 +-
Documentation/nvme-list-ctrl.1 | 42 +-
Documentation/nvme-list-ctrl.html | 54 +-
Documentation/nvme-list-ctrl.txt | 16 +-
Documentation/nvme-list-endgrp.1 | 18 +-
Documentation/nvme-list-endgrp.html | 27 +-
Documentation/nvme-list-endgrp.txt | 23 +-
Documentation/nvme-list-ns.1 | 20 +-
Documentation/nvme-list-ns.html | 24 +-
Documentation/nvme-list-ns.txt | 15 +-
Documentation/nvme-list-secondary.txt | 54 +
Documentation/nvme-list-subsys.1 | 18 +-
Documentation/nvme-list-subsys.html | 23 +-
Documentation/nvme-list-subsys.txt | 14 +-
Documentation/nvme-list.1 | 13 +-
Documentation/nvme-list.html | 12 +-
Documentation/nvme-list.txt | 11 +-
Documentation/nvme-lockdown.1 | 31 +-
Documentation/nvme-lockdown.html | 50 +-
Documentation/nvme-lockdown.txt | 25 +-
Documentation/nvme-media-unit-stat-log.txt | 18 +-
Documentation/nvme-mi-cmd-support-effects-log.1 | 22 +-
Documentation/nvme-mi-cmd-support-effects-log.html | 35 +-
Documentation/nvme-mi-cmd-support-effects-log.txt | 20 +-
Documentation/nvme-micron-clear-pcie-errors.1 | 4 +-
Documentation/nvme-micron-clear-pcie-errors.html | 2 +-
Documentation/nvme-micron-internal-log.1 | 6 +-
Documentation/nvme-micron-internal-log.html | 15 +-
Documentation/nvme-micron-internal-log.txt | 18 +-
Documentation/nvme-micron-nand-stats.1 | 4 +-
Documentation/nvme-micron-nand-stats.html | 2 +-
Documentation/nvme-micron-pcie-stats.1 | 4 +-
Documentation/nvme-micron-pcie-stats.html | 2 +-
Documentation/nvme-micron-selective-download.1 | 13 +-
Documentation/nvme-micron-selective-download.html | 16 +-
Documentation/nvme-micron-selective-download.txt | 31 +-
Documentation/nvme-micron-smart-add-log.1 | 13 +-
Documentation/nvme-micron-smart-add-log.html | 15 +-
Documentation/nvme-micron-smart-add-log.txt | 6 +-
Documentation/nvme-micron-temperature-stats.1 | 4 +-
Documentation/nvme-micron-temperature-stats.html | 2 +-
Documentation/nvme-netapp-ontapdevices.1 | 6 +-
Documentation/nvme-netapp-ontapdevices.html | 8 +-
Documentation/nvme-netapp-ontapdevices.txt | 6 +-
Documentation/nvme-netapp-smdevices.1 | 6 +-
Documentation/nvme-netapp-smdevices.html | 4 +-
Documentation/nvme-netapp-smdevices.txt | 2 +-
Documentation/nvme-ns-descs.1 | 19 +-
Documentation/nvme-ns-descs.html | 26 +-
Documentation/nvme-ns-descs.txt | 16 +-
Documentation/nvme-ns-rescan.1 | 22 +-
Documentation/nvme-ns-rescan.html | 30 +-
Documentation/nvme-ns-rescan.txt | 11 +-
Documentation/nvme-nvm-id-ctrl.1 | 16 +-
Documentation/nvme-nvm-id-ctrl.html | 23 +-
Documentation/nvme-nvm-id-ctrl.txt | 14 +-
Documentation/nvme-nvm-id-ns-lba-format.txt | 13 +-
Documentation/nvme-nvm-id-ns.txt | 13 +-
Documentation/nvme-nvme-mi-recv.1 | 36 +-
Documentation/nvme-nvme-mi-recv.html | 43 +-
Documentation/nvme-nvme-mi-recv.txt | 27 +-
Documentation/nvme-nvme-mi-send.1 | 36 +-
Documentation/nvme-nvme-mi-send.html | 43 +-
Documentation/nvme-nvme-mi-send.txt | 27 +-
Documentation/nvme-ocp-clear-fw-activate-history.1 | 4 +-
.../nvme-ocp-clear-fw-activate-history.html | 2 +-
.../nvme-ocp-clear-fw-activate-history.txt | 2 +-
...vme-ocp-clear-pcie-correctable-error-counters.1 | 4 +-
...-ocp-clear-pcie-correctable-error-counters.html | 2 +-
...e-ocp-clear-pcie-correctable-error-counters.txt | 2 +-
Documentation/nvme-ocp-device-capability-log.txt | 4 +-
Documentation/nvme-ocp-eol-plp-failure-mode.1 | 9 +-
Documentation/nvme-ocp-eol-plp-failure-mode.html | 10 +-
Documentation/nvme-ocp-eol-plp-failure-mode.txt | 15 +-
Documentation/nvme-ocp-error-recovery-log.txt | 6 +-
.../nvme-ocp-get-plp-health-check-interval.txt | 54 +
Documentation/nvme-ocp-latency-monitor-log.1 | 6 +-
Documentation/nvme-ocp-latency-monitor-log.html | 6 +-
Documentation/nvme-ocp-latency-monitor-log.txt | 4 +-
.../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 | 6 +-
Documentation/nvme-ocp-smart-add-log.html | 6 +-
Documentation/nvme-ocp-smart-add-log.txt | 4 +-
.../nvme-ocp-telemetry-string-log-page.txt | 43 +
.../nvme-ocp-unsupported-reqs-log-pages.txt | 4 +-
Documentation/nvme-persistent-event-log.1 | 19 +-
Documentation/nvme-persistent-event-log.html | 48 +-
Documentation/nvme-persistent-event-log.txt | 39 +-
Documentation/nvme-phy-rx-eom-log.txt | 68 +
Documentation/nvme-pred-lat-event-agg-log.1 | 11 +-
Documentation/nvme-pred-lat-event-agg-log.html | 25 +-
Documentation/nvme-pred-lat-event-agg-log.txt | 23 +-
Documentation/nvme-predictable-lat-log.1 | 16 +-
Documentation/nvme-predictable-lat-log.html | 31 +-
Documentation/nvme-predictable-lat-log.txt | 22 +-
Documentation/nvme-primary-ctrl-caps.1 | 20 +-
Documentation/nvme-primary-ctrl-caps.html | 31 +-
Documentation/nvme-primary-ctrl-caps.txt | 16 +-
Documentation/nvme-read.1 | 54 +-
Documentation/nvme-read.html | 81 +-
Documentation/nvme-read.txt | 45 +-
Documentation/nvme-reset.1 | 22 +-
Documentation/nvme-reset.html | 30 +-
Documentation/nvme-reset.txt | 11 +-
Documentation/nvme-resv-acquire.1 | 28 +-
Documentation/nvme-resv-acquire.html | 37 +-
Documentation/nvme-resv-acquire.txt | 21 +-
Documentation/nvme-resv-notif-log.1 | 16 +-
Documentation/nvme-resv-notif-log.html | 25 +-
Documentation/nvme-resv-notif-log.txt | 16 +-
Documentation/nvme-resv-register.1 | 28 +-
Documentation/nvme-resv-register.html | 35 +-
Documentation/nvme-resv-register.txt | 19 +-
Documentation/nvme-resv-release.1 | 26 +-
Documentation/nvme-resv-release.html | 33 +-
Documentation/nvme-resv-release.txt | 17 +-
Documentation/nvme-resv-report.1 | 19 +-
Documentation/nvme-resv-report.html | 26 +-
Documentation/nvme-resv-report.txt | 16 +-
Documentation/nvme-rpmb.1 | 32 +-
Documentation/nvme-rpmb.html | 39 +-
Documentation/nvme-rpmb.txt | 26 +-
Documentation/nvme-sanitize-log.1 | 32 +-
Documentation/nvme-sanitize-log.html | 51 +-
Documentation/nvme-sanitize-log.txt | 28 +-
Documentation/nvme-sanitize.1 | 31 +-
Documentation/nvme-sanitize.html | 100 +-
Documentation/nvme-sanitize.txt | 84 +-
.../nvme-seagate-clear-fw-activate-history.1 | 4 +-
.../nvme-seagate-clear-fw-activate-history.html | 4 +-
.../nvme-seagate-clear-fw-activate-history.txt | 4 +-
.../nvme-seagate-clear-pcie-correctable-errors.1 | 6 +-
...nvme-seagate-clear-pcie-correctable-errors.html | 6 +-
.../nvme-seagate-clear-pcie-correctable-errors.txt | 6 +-
.../nvme-seagate-cloud-SSD-plugin-version.1 | 4 +-
.../nvme-seagate-cloud-SSD-plugin-version.html | 2 +-
Documentation/nvme-seagate-get-ctrl-tele.1 | 4 +-
Documentation/nvme-seagate-get-ctrl-tele.html | 4 +-
Documentation/nvme-seagate-get-ctrl-tele.txt | 6 +-
Documentation/nvme-seagate-get-host-tele.1 | 6 +-
Documentation/nvme-seagate-get-host-tele.html | 11 +-
Documentation/nvme-seagate-get-host-tele.txt | 15 +-
Documentation/nvme-seagate-help.1 | 4 +-
Documentation/nvme-seagate-help.html | 2 +-
Documentation/nvme-seagate-plugin-version.1 | 4 +-
Documentation/nvme-seagate-plugin-version.html | 2 +-
Documentation/nvme-seagate-version.1 | 4 +-
Documentation/nvme-seagate-version.html | 2 +-
.../nvme-seagate-vs-fw-activate-history.1 | 4 +-
.../nvme-seagate-vs-fw-activate-history.html | 4 +-
.../nvme-seagate-vs-fw-activate-history.txt | 6 +-
Documentation/nvme-seagate-vs-internal-log.1 | 4 +-
Documentation/nvme-seagate-vs-internal-log.html | 11 +-
Documentation/nvme-seagate-vs-internal-log.txt | 13 +-
Documentation/nvme-seagate-vs-log-page-sup.1 | 6 +-
Documentation/nvme-seagate-vs-log-page-sup.html | 8 +-
Documentation/nvme-seagate-vs-log-page-sup.txt | 8 +-
Documentation/nvme-seagate-vs-pcie-stats.1 | 6 +-
Documentation/nvme-seagate-vs-pcie-stats.html | 8 +-
Documentation/nvme-seagate-vs-pcie-stats.txt | 8 +-
Documentation/nvme-seagate-vs-smart-add-log.1 | 4 +-
Documentation/nvme-seagate-vs-smart-add-log.html | 4 +-
Documentation/nvme-seagate-vs-smart-add-log.txt | 10 +-
Documentation/nvme-seagate-vs-temperature-stats.1 | 6 +-
.../nvme-seagate-vs-temperature-stats.html | 8 +-
.../nvme-seagate-vs-temperature-stats.txt | 8 +-
Documentation/nvme-security-recv.1 | 30 +-
Documentation/nvme-security-recv.html | 37 +-
Documentation/nvme-security-recv.txt | 21 +-
Documentation/nvme-security-send.1 | 29 +-
Documentation/nvme-security-send.html | 36 +-
Documentation/nvme-security-send.txt | 20 +-
Documentation/nvme-self-test-log.1 | 16 +-
Documentation/nvme-self-test-log.html | 23 +-
Documentation/nvme-self-test-log.txt | 13 +-
Documentation/nvme-set-feature.1 | 32 +-
Documentation/nvme-set-feature.html | 41 +-
Documentation/nvme-set-feature.txt | 25 +-
Documentation/nvme-set-property.1 | 27 +-
Documentation/nvme-set-property.html | 36 +-
Documentation/nvme-set-property.txt | 21 +-
Documentation/nvme-show-hostnqn.1 | 22 +-
Documentation/nvme-show-hostnqn.html | 32 +-
Documentation/nvme-show-hostnqn.txt | 13 +-
Documentation/nvme-show-regs.1 | 18 +-
Documentation/nvme-show-regs.html | 27 +-
Documentation/nvme-show-regs.txt | 18 +-
Documentation/nvme-show-topology.1 | 22 +-
Documentation/nvme-show-topology.html | 31 +-
Documentation/nvme-show-topology.txt | 15 +-
Documentation/nvme-smart-log.1 | 16 +-
Documentation/nvme-smart-log.html | 23 +-
Documentation/nvme-smart-log.txt | 14 +-
Documentation/nvme-subsystem-reset.1 | 21 +-
Documentation/nvme-subsystem-reset.html | 31 +-
Documentation/nvme-subsystem-reset.txt | 10 +-
Documentation/nvme-supported-cap-config-log.txt | 23 +-
Documentation/nvme-supported-log-pages.1 | 17 +-
Documentation/nvme-supported-log-pages.html | 16 +-
Documentation/nvme-supported-log-pages.txt | 14 +-
Documentation/nvme-telemetry-log.1 | 25 +-
Documentation/nvme-telemetry-log.html | 32 +-
Documentation/nvme-telemetry-log.txt | 16 +-
.../nvme-toshiba-clear-pcie-correctable-errors.1 | 4 +-
...nvme-toshiba-clear-pcie-correctable-errors.html | 2 +-
.../nvme-toshiba-clear-pcie-correctable-errors.txt | 2 -
Documentation/nvme-toshiba-vs-internal-log.1 | 4 +-
Documentation/nvme-toshiba-vs-internal-log.html | 2 +-
Documentation/nvme-toshiba-vs-internal-log.txt | 2 -
Documentation/nvme-toshiba-vs-smart-add-log.1 | 4 +-
Documentation/nvme-toshiba-vs-smart-add-log.html | 7 +-
Documentation/nvme-toshiba-vs-smart-add-log.txt | 11 +-
Documentation/nvme-transcend-badblock.1 | 4 +-
Documentation/nvme-transcend-badblock.html | 2 +-
Documentation/nvme-transcend-badblock.txt | 1 -
Documentation/nvme-transcend-healthvalue.1 | 4 +-
Documentation/nvme-transcend-healthvalue.html | 5 +-
Documentation/nvme-transcend-healthvalue.txt | 7 +-
Documentation/nvme-verify.1 | 56 +-
Documentation/nvme-verify.html | 81 +-
Documentation/nvme-verify.txt | 47 +-
Documentation/nvme-virt-mgmt.txt | 70 +
.../nvme-virtium-save-smart-to-vtview-log.1 | 8 +-
.../nvme-virtium-save-smart-to-vtview-log.html | 36 +-
.../nvme-virtium-save-smart-to-vtview-log.txt | 42 +-
Documentation/nvme-virtium-show-identify.1 | 4 +-
Documentation/nvme-virtium-show-identify.html | 2 +-
Documentation/nvme-virtium-show-identify.txt | 5 +-
Documentation/nvme-wdc-cap-diag.1 | 4 +-
Documentation/nvme-wdc-cap-diag.html | 4 +-
Documentation/nvme-wdc-cap-diag.txt | 2 +-
Documentation/nvme-wdc-capabilities.1 | 4 +-
Documentation/nvme-wdc-capabilities.html | 2 +-
Documentation/nvme-wdc-clear-assert-dump.1 | 4 +-
Documentation/nvme-wdc-clear-assert-dump.html | 2 +-
Documentation/nvme-wdc-clear-assert-dump.txt | 1 -
Documentation/nvme-wdc-clear-fw-activate-history.1 | 4 +-
.../nvme-wdc-clear-fw-activate-history.html | 2 +-
.../nvme-wdc-clear-fw-activate-history.txt | 1 -
.../nvme-wdc-clear-pcie-correctable-errors.1 | 4 +-
.../nvme-wdc-clear-pcie-correctable-errors.html | 2 +-
.../nvme-wdc-clear-pcie-correctable-errors.txt | 1 -
Documentation/nvme-wdc-cloud-SSD-plugin-version.1 | 4 +-
.../nvme-wdc-cloud-SSD-plugin-version.html | 2 +-
Documentation/nvme-wdc-cloud-boot-SSD-version.1 | 4 +-
Documentation/nvme-wdc-cloud-boot-SSD-version.html | 2 +-
Documentation/nvme-wdc-drive-essentials.1 | 4 +-
Documentation/nvme-wdc-drive-essentials.html | 9 +-
Documentation/nvme-wdc-drive-essentials.txt | 10 +-
Documentation/nvme-wdc-drive-log.1 | 4 +-
Documentation/nvme-wdc-drive-log.html | 2 +-
Documentation/nvme-wdc-drive-log.txt | 1 -
Documentation/nvme-wdc-drive-resize.1 | 4 +-
Documentation/nvme-wdc-drive-resize.html | 2 +-
Documentation/nvme-wdc-enc-get-log.1 | 8 +-
Documentation/nvme-wdc-enc-get-log.html | 17 +-
Documentation/nvme-wdc-enc-get-log.txt | 18 +-
Documentation/nvme-wdc-get-crash-dump.1 | 4 +-
Documentation/nvme-wdc-get-crash-dump.html | 2 +-
Documentation/nvme-wdc-get-dev-capabilities-log.1 | 9 +-
.../nvme-wdc-get-dev-capabilities-log.html | 11 +-
.../nvme-wdc-get-dev-capabilities-log.txt | 9 +-
Documentation/nvme-wdc-get-drive-status.1 | 4 +-
Documentation/nvme-wdc-get-drive-status.html | 10 +-
Documentation/nvme-wdc-get-drive-status.txt | 12 +-
Documentation/nvme-wdc-get-error-recovery-log.1 | 6 +-
Documentation/nvme-wdc-get-error-recovery-log.html | 8 +-
Documentation/nvme-wdc-get-error-recovery-log.txt | 6 +-
Documentation/nvme-wdc-get-latency-monitor-log.1 | 6 +-
.../nvme-wdc-get-latency-monitor-log.html | 6 +-
Documentation/nvme-wdc-get-latency-monitor-log.txt | 4 +-
Documentation/nvme-wdc-get-pfail-dump.1 | 4 +-
Documentation/nvme-wdc-get-pfail-dump.html | 2 +-
Documentation/nvme-wdc-get-unsupported-reqs-log.1 | 6 +-
.../nvme-wdc-get-unsupported-reqs-log.html | 6 +-
.../nvme-wdc-get-unsupported-reqs-log.txt | 4 +-
Documentation/nvme-wdc-id-ctrl.1 | 12 +-
Documentation/nvme-wdc-id-ctrl.html | 16 +-
Documentation/nvme-wdc-id-ctrl.txt | 14 +-
Documentation/nvme-wdc-log-page-directory.1 | 6 +-
Documentation/nvme-wdc-log-page-directory.html | 8 +-
Documentation/nvme-wdc-log-page-directory.txt | 6 +-
Documentation/nvme-wdc-namespace-resize.1 | 28 +-
Documentation/nvme-wdc-namespace-resize.html | 30 +-
Documentation/nvme-wdc-namespace-resize.txt | 26 +-
Documentation/nvme-wdc-purge-monitor.1 | 4 +-
Documentation/nvme-wdc-purge-monitor.html | 2 +-
Documentation/nvme-wdc-purge-monitor.txt | 1 -
Documentation/nvme-wdc-purge.1 | 4 +-
Documentation/nvme-wdc-purge.html | 2 +-
.../nvme-wdc-set-latency-monitor-feature.txt | 118 +
Documentation/nvme-wdc-vs-cloud-log.1 | 6 +-
Documentation/nvme-wdc-vs-cloud-log.html | 6 +-
Documentation/nvme-wdc-vs-cloud-log.txt | 4 +-
Documentation/nvme-wdc-vs-device-waf.1 | 6 +-
Documentation/nvme-wdc-vs-device-waf.html | 6 +-
Documentation/nvme-wdc-vs-device-waf.txt | 4 +-
Documentation/nvme-wdc-vs-drive-info.1 | 4 +-
Documentation/nvme-wdc-vs-drive-info.html | 2 +-
Documentation/nvme-wdc-vs-drive-info.txt | 2 -
.../nvme-wdc-vs-error-reason-identifier.1 | 4 +-
.../nvme-wdc-vs-error-reason-identifier.html | 4 +-
.../nvme-wdc-vs-error-reason-identifier.txt | 6 +-
Documentation/nvme-wdc-vs-fw-activate-history.1 | 6 +-
Documentation/nvme-wdc-vs-fw-activate-history.html | 10 +-
Documentation/nvme-wdc-vs-fw-activate-history.txt | 9 +-
Documentation/nvme-wdc-vs-hw-rev-log.1 | 6 +-
Documentation/nvme-wdc-vs-hw-rev-log.html | 6 +-
Documentation/nvme-wdc-vs-hw-rev-log.txt | 4 +-
Documentation/nvme-wdc-vs-internal-log.1 | 13 +-
Documentation/nvme-wdc-vs-internal-log.html | 48 +-
Documentation/nvme-wdc-vs-internal-log.txt | 46 +-
Documentation/nvme-wdc-vs-nand-stats.1 | 6 +-
Documentation/nvme-wdc-vs-nand-stats.html | 6 +-
Documentation/nvme-wdc-vs-nand-stats.txt | 4 +-
Documentation/nvme-wdc-vs-smart-add-log.1 | 6 +-
Documentation/nvme-wdc-vs-smart-add-log.html | 23 +-
Documentation/nvme-wdc-vs-smart-add-log.txt | 25 +-
.../nvme-wdc-vs-telemetry-controller-option.1 | 10 +-
.../nvme-wdc-vs-telemetry-controller-option.html | 14 +-
.../nvme-wdc-vs-telemetry-controller-option.txt | 16 +-
Documentation/nvme-wdc-vs-temperature-stats.1 | 4 +-
Documentation/nvme-wdc-vs-temperature-stats.html | 2 +-
Documentation/nvme-write-uncor.1 | 25 +-
Documentation/nvme-write-uncor.html | 40 +-
Documentation/nvme-write-uncor.txt | 16 +-
Documentation/nvme-write-zeroes.1 | 49 +-
Documentation/nvme-write-zeroes.html | 82 +-
Documentation/nvme-write-zeroes.txt | 40 +-
Documentation/nvme-write.1 | 58 +-
Documentation/nvme-write.html | 93 +-
Documentation/nvme-write.txt | 53 +-
Documentation/nvme-zns-changed-zone-list.1 | 11 +-
Documentation/nvme-zns-changed-zone-list.html | 15 +-
Documentation/nvme-zns-changed-zone-list.txt | 13 +-
Documentation/nvme-zns-close-zone.1 | 4 +-
Documentation/nvme-zns-close-zone.html | 2 +-
Documentation/nvme-zns-finish-zone.1 | 4 +-
Documentation/nvme-zns-finish-zone.html | 2 +-
Documentation/nvme-zns-id-ctrl.1 | 8 +-
Documentation/nvme-zns-id-ctrl.html | 14 +-
Documentation/nvme-zns-id-ctrl.txt | 12 +-
Documentation/nvme-zns-id-ns.1 | 11 +-
Documentation/nvme-zns-id-ns.html | 17 +-
Documentation/nvme-zns-id-ns.txt | 17 +-
Documentation/nvme-zns-offline-zone.1 | 4 +-
Documentation/nvme-zns-offline-zone.html | 2 +-
Documentation/nvme-zns-open-zone.1 | 10 +-
Documentation/nvme-zns-open-zone.html | 8 +-
Documentation/nvme-zns-open-zone.txt | 6 +-
Documentation/nvme-zns-report-zones.1 | 8 +-
Documentation/nvme-zns-report-zones.html | 12 +-
Documentation/nvme-zns-report-zones.txt | 10 +-
Documentation/nvme-zns-reset-zone.1 | 10 +-
Documentation/nvme-zns-reset-zone.html | 8 +-
Documentation/nvme-zns-reset-zone.txt | 6 +-
Documentation/nvme-zns-set-zone-desc.1 | 14 +-
Documentation/nvme-zns-set-zone-desc.html | 14 +-
Documentation/nvme-zns-set-zone-desc.txt | 12 +-
Documentation/nvme-zns-zone-append.1 | 4 +-
Documentation/nvme-zns-zone-append.html | 2 +-
Documentation/nvme-zns-zone-mgmt-recv.1 | 18 +-
Documentation/nvme-zns-zone-mgmt-recv.html | 20 +-
Documentation/nvme-zns-zone-mgmt-recv.txt | 16 +-
Documentation/nvme-zns-zone-mgmt-send.1 | 20 +-
Documentation/nvme-zns-zone-mgmt-send.html | 20 +-
Documentation/nvme-zns-zone-mgmt-send.txt | 16 +-
Documentation/nvme-zns-zrwa-flush-zone.txt | 4 +-
Documentation/nvme.1 | 4 +-
Documentation/nvme.html | 2 +-
Makefile | 8 +
README.md | 68 +-
ccan/ccan/build_assert/_info | 49 -
ccan/ccan/check_type/_info | 33 -
ccan/ccan/compiler/LICENSE | 1 +
ccan/ccan/compiler/compiler.h | 317 ++
ccan/ccan/container_of/_info | 65 -
ccan/ccan/endian/_info | 55 -
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/_info | 72 -
ccan/ccan/short_types/LICENSE | 1 +
ccan/ccan/short_types/short_types.h | 35 +
ccan/ccan/str/_info | 52 -
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/LGPL-2.1 | 510 ++
ccan/meson.build | 5 +
codecov.yml | 6 +
completions/_nvme | 124 +-
completions/bash-nvme-completion.sh | 61 +-
fabrics.c | 169 +-
fabrics.h | 2 +-
libnvme-wrap.c | 31 +-
meson.build | 26 +-
nbft.c | 4 +-
nvme-builtin.h | 5 +-
nvme-print-binary.c | 48 +-
nvme-print-json.c | 5581 +++++++++++++-------
nvme-print-stdout.c | 987 ++--
nvme-print.c | 175 +-
nvme-print.h | 50 +-
nvme-rpmb.c | 12 +-
nvme-wrap.c | 15 +-
nvme-wrap.h | 5 +-
nvme.c | 4200 +++++++--------
nvme.h | 12 +-
nvme.spec.in | 2 +-
.../systemd/nvmf-autoconnect.service.in | 3 +-
.../systemd/nvmf-connect-nbft.service.in | 14 +
.../udev-rules/65-persistent-net-nbft.rules.in | 2 +
.../udev-rules/71-nvmf-iopolicy-netapp.rules.in | 3 -
.../udev-rules/71-nvmf-netapp.rules.in | 6 +
plugins/fdp/fdp.c | 10 +-
plugins/huawei/huawei-nvme.c | 8 +-
plugins/intel/intel-nvme.c | 8 +-
plugins/memblaze/memblaze-nvme.c | 645 ++-
plugins/memblaze/memblaze-nvme.h | 3 +
plugins/memblaze/memblaze-utils.h | 4 +-
plugins/micron/micron-nvme.c | 13 +-
plugins/nbft/nbft-plugin.c | 2 +-
plugins/ocp/meson.build | 2 +-
plugins/ocp/ocp-clear-features.c | 93 +
plugins/ocp/ocp-clear-features.h | 12 +
plugins/ocp/ocp-clear-fw-update-history.c | 20 -
plugins/ocp/ocp-clear-fw-update-history.h | 10 -
plugins/ocp/ocp-fw-activation-history.c | 12 +-
plugins/ocp/ocp-nvme.c | 1213 ++++-
plugins/ocp/ocp-nvme.h | 8 +-
plugins/ocp/ocp-smart-extended-log.c | 12 +-
plugins/ocp/ocp-utils.c | 63 -
plugins/ocp/ocp-utils.h | 4 +-
plugins/scaleflux/sfx-nvme.c | 21 +-
plugins/seagate/seagate-nvme.c | 6 +-
plugins/solidigm/meson.build | 3 +
plugins/solidigm/solidigm-garbage-collection.c | 6 +-
plugins/solidigm/solidigm-get-drive-info.c | 79 +
plugins/solidigm/solidigm-get-drive-info.h | 8 +
plugins/solidigm/solidigm-internal-logs.c | 34 +-
plugins/solidigm/solidigm-latency-tracking.c | 4 +-
plugins/solidigm/solidigm-log-page-dir.c | 46 +-
plugins/solidigm/solidigm-nvme.c | 27 +-
plugins/solidigm/solidigm-nvme.h | 6 +-
plugins/solidigm/solidigm-ocp-version.c | 25 +
plugins/solidigm/solidigm-ocp-version.h | 8 +
plugins/solidigm/solidigm-smart.c | 12 +-
plugins/solidigm/solidigm-telemetry.c | 35 +-
plugins/solidigm/solidigm-telemetry/config.c | 2 +-
plugins/solidigm/solidigm-telemetry/data-area.c | 2 +-
plugins/solidigm/solidigm-telemetry/nlog.c | 5 +-
plugins/solidigm/solidigm-temp-stats.c | 108 +
plugins/solidigm/solidigm-temp-stats.h | 8 +
plugins/solidigm/solidigm-util.h | 2 +
plugins/wdc/wdc-nvme.c | 1833 +++++--
plugins/wdc/wdc-nvme.h | 88 +-
plugins/wdc/wdc-utils.c | 46 +-
plugins/wdc/wdc-utils.h | 4 +-
plugins/ymtc/ymtc-nvme.c | 2 +-
plugins/ymtc/ymtc-utils.h | 2 +-
plugins/zns/zns.c | 67 +-
plugins/zns/zns.h | 2 +-
scripts/build.sh | 115 +-
scripts/release.sh | 4 +-
subprojects/json-c.wrap | 17 +-
subprojects/libnvme.wrap | 2 +-
tests/meson.build | 2 +-
tests/nvme_attach_detach_ns_test.py | 2 +-
tests/nvme_copy_test.py | 92 +-
tests/nvme_create_max_ns_test.py | 2 +-
tests/nvme_format_test.py | 2 +-
tests/nvme_get_features_test.py | 2 +-
tests/nvme_test.py | 26 +-
unit/test-uint128.c | 22 +-
util/argconfig.c | 96 +-
util/argconfig.h | 10 +-
util/cleanup.c | 5 -
util/cleanup.h | 20 +-
util/json.h | 10 +-
util/mem.c | 109 +
util/mem.h | 20 +
util/meson.build | 2 +-
util/types.c | 7 +-
703 files changed, 22913 insertions(+), 9798 deletions(-)
create mode 100644 .github/codeql/codeql-config.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 .mailmap
create mode 100755 Documentation/nvme-id-ns-granularity.txt
create mode 100755 Documentation/nvme-id-uuid.txt
create mode 100755 Documentation/nvme-list-secondary.txt
mode change 100644 => 100755 Documentation/nvme-nvme-mi-recv.txt
mode change 100644 => 100755 Documentation/nvme-nvme-mi-send.txt
create mode 100644 Documentation/nvme-ocp-get-plp-health-check-interval.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-telemetry-string-log-page.txt
create mode 100644 Documentation/nvme-phy-rx-eom-log.txt
create mode 100755 Documentation/nvme-virt-mgmt.txt
create mode 100644 Documentation/nvme-wdc-set-latency-monitor-feature.txt
delete mode 100644 ccan/ccan/build_assert/_info
delete mode 100644 ccan/ccan/check_type/_info
create mode 120000 ccan/ccan/compiler/LICENSE
create mode 100644 ccan/ccan/compiler/compiler.h
delete mode 100644 ccan/ccan/container_of/_info
delete mode 100644 ccan/ccan/endian/_info
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
delete mode 100644 ccan/ccan/list/_info
create mode 120000 ccan/ccan/short_types/LICENSE
create mode 100644 ccan/ccan/short_types/short_types.h
delete mode 100644 ccan/ccan/str/_info
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/LGPL-2.1
create mode 100644 codecov.yml
create mode 100644 nvmf-autoconnect/systemd/nvmf-connect-nbft.service.in
create mode 100644 nvmf-autoconnect/udev-rules/65-persistent-net-nbft.rules.in
delete mode 100644 nvmf-autoconnect/udev-rules/71-nvmf-iopolicy-netapp.rules.in
create mode 100644 nvmf-autoconnect/udev-rules/71-nvmf-netapp.rules.in
create mode 100644 plugins/ocp/ocp-clear-features.c
create mode 100644 plugins/ocp/ocp-clear-features.h
delete mode 100644 plugins/ocp/ocp-clear-fw-update-history.c
delete mode 100644 plugins/ocp/ocp-clear-fw-update-history.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-ocp-version.c
create mode 100644 plugins/solidigm/solidigm-ocp-version.h
create mode 100644 plugins/solidigm/solidigm-temp-stats.c
create mode 100644 plugins/solidigm/solidigm-temp-stats.h
delete mode 100644 util/cleanup.c
create mode 100644 util/mem.c
create mode 100644 util/mem.h
diff --git a/.github/AppImageBuilder.yml b/.github/AppImageBuilder.yml
index 67b215c..cce4689 100644
--- a/.github/AppImageBuilder.yml
+++ b/.github/AppImageBuilder.yml
@@ -27,7 +27,6 @@ AppDir:
- sourceline: deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
include:
- libjson-c5
- - libhugetlbfs0
- libssl3
files:
include:
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/workflows/appimage.yml b/.github/workflows/appimage.yml
index f7b7ae0..6c0d3e5 100644
--- a/.github/workflows/appimage.yml
+++ b/.github/workflows/appimage.yml
@@ -13,41 +13,31 @@ jobs:
build-appimage:
name: build AppImage
runs-on: ubuntu-latest
+ container:
+ image: ghcr.io/igaw/linux-nvme/debian:latest
steps:
- - uses: actions/checkout@v3
- - name: install dependencies
- run: sudo apt-get install libjson-c-dev libssl-dev libdbus-1-dev libhugetlbfs-dev
- - uses: actions/setup-python@v4
- with:
- python-version: '3.x'
- - uses: BSFishy/meson-build@v1.0.3
- with:
- setup-options: >
- --werror
- --buildtype=release
- --prefix=/usr
- --force-fallback-for=libnvme
- -Dlibnvme:werror=false
- action: install
- meson-version: 0.61.2
- - name: build AppImage
- uses: AppImageCrafters/build-appimage@v1.3
- with:
- recipe: .github/AppImageBuilder.yml
- - uses: actions/upload-artifact@v3
- name: upload artifacts to github
- with:
- name: AppImage
- path: '*.AppImage*'
+ - 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' }}
+ 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@v2
+ uses: dawidd6/action-download-artifact@v3
with:
workflow: ${{ github.event.workflow_run.workflow_id }}
workflow_conclusion: success
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e3e2fd4..0b12517 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -17,16 +17,13 @@ jobs:
compiler: [gcc, clang]
buildtype: [debug, release]
container:
- image: ghcr.io/igaw/linux-nvme/debian:0.30
+ image: ghcr.io/igaw/linux-nvme/debian.python:latest
steps:
- - uses: actions/checkout@v3
- - uses: actions/setup-python@v4
- with:
- python-version: '3.x'
+ - uses: actions/checkout@v4
- name: build
run: |
scripts/build.sh -b ${{ matrix.buildtype }} -c ${{ matrix.compiler }}
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
name: upload logs
if: failure()
with:
@@ -40,34 +37,23 @@ jobs:
matrix:
include:
- arch: armhf
- port: armhf
- compiler: gcc-arm-linux-gnueabihf
- packages:
- arch: s390x
- port: s390x
- compiler: gcc-s390x-linux-gnu
- packages: libgcc-s1:s390x
- arch: ppc64le
- port: ppc64el
- compiler: gcc-powerpc64le-linux-gnu
- packges:
steps:
- - uses: actions/checkout@v3
- - name: set up arm architecture
- run: |
- export release=$(lsb_release -c -s)
- sudo dpkg --add-architecture ${{ matrix.port }}
- sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
- sudo dd of=/etc/apt/sources.list.d/${{ matrix.arch }}.list <> $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..d272d0f
--- /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@v3
+ with:
+ fail_ci_if_error: false
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c88be9e..8a5651c 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -10,11 +10,11 @@ on:
jobs:
build:
runs-on: ubuntu-latest
- if: startsWith(github.ref, 'refs/tags/v')
+ if: startsWith(github.ref, 'refs/tags/v') && github.repository == 'linux-nvme/nvme-cli'
permissions:
contents: write
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
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/Documentation/nvme-admin-passthru.1 b/Documentation/nvme-admin-passthru.1
index 4929a23..38fbba7 100644
--- a/Documentation/nvme-admin-passthru.1
+++ b/Documentation/nvme-admin-passthru.1
@@ -2,12 +2,12 @@
.\" Title: nvme-admin-passthru
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 06/30/2023
+.\" Date: 12/21/2023
.\" Manual: NVMe Manual
.\" Source: NVMe
.\" Language: English
.\"
-.TH "NVME\-ADMIN\-PASSTHR" "1" "06/30/2023" "NVMe" "NVMe Manual"
+.TH "NVME\-ADMIN\-PASSTHR" "1" "12/21/2023" "NVMe" "NVMe Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -32,23 +32,24 @@ 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]
+\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
@@ -59,7 +60,7 @@ The parameter is mandatory and may be either the NVMe character device
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=
+\-O , \-\-opcode=
.RS 4
The NVMe opcode to send to the device in the command
.RE
@@ -131,6 +132,20 @@ Prefill the buffer with a predetermined byte value\&. Defaults to 0\&. This may
.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
diff --git a/Documentation/nvme-admin-passthru.html b/Documentation/nvme-admin-passthru.html
index 065f553..b5ba02a 100644
--- a/Documentation/nvme-admin-passthru.html
+++ b/Documentation/nvme-admin-passthru.html
@@ -749,23 +749,24 @@ nvme-admin-passthru(1) Manual Page
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]
+
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]
@@ -790,7 +791,7 @@ printed to stdout for another program to parse.
-
--o <opcode>
+-O <opcode>
-
--opcode=<opcode>
@@ -961,6 +962,29 @@ printed to stdout for another program to parse.
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.
+
+
@@ -1003,7 +1027,7 @@ Or if you want to save that structure to a file: