1
0
Fork 0

Adding upstream version 2.10.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-16 12:27:28 +01:00
parent 1e65f355a3
commit 24ce361c7c
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
530 changed files with 12276 additions and 4877 deletions

View file

@ -56,7 +56,7 @@ _nvme () {
'set-property:writes and shows the defined NVMe controller property for NVMe over Fabric'
'get-property:Reads and shows the defined NVMe controller property for NVMe over Fabric'
'format:apply new block format to namespace'
'fw-activate:activate a firmware on the device'
'fw-commit:verify and commit firmware to a specific slot (fw-activate in old version < 1.2)'
'fw-download:download a firmware to the device'
'admin-passthru:submit a passthrough admin command IOCTL'
'io-passthru:submit a passthrough io command IOCTL'
@ -97,6 +97,7 @@ _nvme () {
'disconnect-all:disconnect from all connected NVMeoF subsystems'
'gen-hostnqn:generate a host NVMe Qualified Name'
'show-hostnqn:show the host NQN configured for the system'
'tls-key:manipulate NVMeoF TLS PSK'
'dir-receive:read directive parameters of the specified directive type'
'dir-send:set directive parameters of the specified directive type'
'virt-mgmt:submit a Virtualization Management command'
@ -105,10 +106,13 @@ _nvme () {
'nvme-mi-recv:send a NVMe-MI receive command'
'nvme-mi-send:send a NVMe-MI send command'
'get-reg:read and show the defined NVMe controller register'
'set-seg:write and show the defined NVMe controller register'
'set-reg:write and show the defined NVMe controller register'
'io-mgmt-recv:send an I/O management receive command'
'io-mgmt-send:send an I/O management send command'
'version:show the program version'
'ocp:OCP cloud SSD extensions'
'solidigm:Solidigm plug-in extensions'
'micron:Micron plug-in extensions'
'help:print brief descriptions of all nvme commands'
'json:dump output in json format'
)
@ -176,12 +180,18 @@ _nvme () {
local _internal_log
_internal_log=(
/dev/nvme':supply a device to use (required)'
--telemetry_type=':Telemetry Type; host (Create bit) or controller'
-t':alias for --telemetry_type'
--telemetry_data_area=':Telemetry Data Area; 1 or 3'
-a':alias for --telemetry_data_area'
--telemetry-type=':Telemetry Type; host or controller generated'
-t':alias for --telemetry-type'
--data-area=':Telemetry Data Area; 1 or 2'
-a':alias for --data-area'
--output-file=':Output file name with path'
-o':alias for --output-file'
--telemetry-log=':Telemetry log binary'
-l':alias for --telemetry-log'
--string-log=':String log binary'
-s':alias for --string-log'
--output-format':Output format: normal|json'
-f':alias for --output-format'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme ocp internal-log options" _internal_log
@ -256,6 +266,20 @@ _nvme () {
_arguments '*:: :->subcmds'
_describe -t commands "nvme ocp set-dssd-power-state-feature options" _set_dssd_power_state_feature
;;
(get-dssd-power-state-feature)
local _get_dssd_power_state_feature
_get_dssd_power_state_feature=(
/dev/nvme':supply a device to use (required)'
--sel=':select from 0 - current, 1 - default, 2 - saved, 3 - supported'
-S':alias to --sel'
--all=':Print out all 3 values at once - current, default, and saved'
-a':alias to --all'
--no-uuid':Skip UUID index search'
-n':alias for --no-uuid'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme ocp get-dssd-power-state-feature options" _get_dssd_power_state_feature
;;
(telemetry-string-log)
local _telemetry_string_log
_telemetry_string_log=(
@ -289,6 +313,51 @@ _nvme () {
_arguments '*:: :->subcmds'
_describe -t commands "nvme ocp get-dssd-async-event-config options" _get_dssd_async_event_config
;;
(tcg-configuration-log)
local _ocp_tcg_configuration_log
_ocp_tcg_configuration_log=(
/dev/nvme':supply a device to use (required)'
--output-format=':Output format: normal|json'
-o':alias for --output-format'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme ocp tcg-configuration-log options" _ocp_tcg_configuration_log
;;
(get-error-injection)
local _get_error_injection
_get_error_injection=(
/dev/nvme':supply a device to use (required)'
--sel=':0-3: current/default/saved/supported/changed:'
-s':alias for --sel'
--no-uuid':Skip UUID index search'
-n':alias for --no-uuid'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme ocp get-error-injection options" _get_error_injection
;;
(set-error-injection)
local _set_error_injection
_set_error_injection=(
/dev/nvme':supply a device to use (required)'
--data=':Error injection data structure entries'
-d':alias for --data'
--number=':Number of valid error injection data entries'
-n':alias for --number'
--no-uuid':Skip UUID index search'
-N':alias for --no-uuid'
--type=':Error injection type'
-t':alias for --type'
--nrtdp=':Number of reads to trigger device panic'
-r':alias for --nrtdp'
--verbose':Increase the information detail in the output.'
-v':alias for --verbose'
--output-format=':Output format: normal|json|binary'
-o ':alias for --output-format'
--timeout=':value for timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme ocp set-error-injection options" _set_error_injection
;;
(*)
_files
;;
@ -336,16 +405,10 @@ _nvme () {
(vs-internal-log)
local _vs_internal_log
_vs_internal_log=(
--type':Log type: ALL,
CONTROLLERINITTELEMETRY,
HOSTINITTELEMETRY,
HOSTINITTELEMETRYNOGEN, NLOG,
ASSERT, EVENT. Defaults to ALL.'
--type':Log type: ALL, CIT, HIT, NLOG, ASSERT, EVENT. Defaults to ALL.'
-t':alias for --type'
--namespace-id':Namespace to get logs from.'
-n':alias for --namespace-id'
--dir-prefix':Output dir prefix; defaults to device serial number.'
-p':alias for --dir-prefix'
--dir-name':Output directory; defaults to current working directory.'
-d':alias for --dir-name'
--verbose':To print out verbose info.'
-v':alias for --verbose'
)
@ -393,24 +456,24 @@ _nvme () {
local _parse_telemetry_log
_parse_telemetry_log=(
--host-generate':Controls when to generate new
host initiated report. Default
value '1' generates new host
initiated report, value '0'
causes retrieval of existing
log.'
host initiated report. Default
value '1' generates new host
initiated report, value '0'
causes retrieval of existing
log.'
-g':alias for --host-generate'
--controller-init':Gather report generated by the controller.'
-c':alias for --controller-init'
--data-area':Pick which telemetry data area to
report. Default is 3 to fetch
areas 1-3. Valid options are 1,
2, 3, 4.'
report. Default is 3 to fetch
areas 1-3. Valid options are 1,
2, 3, 4.'
-d':alias for --data-area'
--config-file':JSON configuration file'
-j':alias for --config-file'
--source-file':data source <device> is binary
file containing log dump instead
of block or character device'
file containing log dump instead
of block or character device'
-s':alias for --source-file'
)
_arguments '*:: :->subcmds'
@ -592,6 +655,8 @@ _nvme () {
-a':alias of --all'
--output-format=':Output format: normal|json|binary'
-o':alias for --output-format'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme list-ns options" _listns
@ -974,6 +1039,8 @@ _nvme () {
-n':alias to --namespace-id'
--raw-binary':dump infos in binary format'
-b':alias to --raw-binary'
--verbose':show infos verbosely'
-v':alias to --verbose'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme smart-log options" _smartlog
@ -1028,6 +1095,8 @@ _nvme () {
-b':alias to --raw-binary'
--csi=':command set identifier'
-c':alias of --csi'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme effects-log options" _effects_log
@ -1105,6 +1174,8 @@ _nvme () {
--cdw11=':dword 11 value, used for interrupt vector configuration only'
--raw-binary':dump infos in binary format'
-b':alias to --raw-binary'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme get-feature options" _getf
@ -1119,6 +1190,8 @@ _nvme () {
-s':alias for --self-test-code'
--wait':Wait for the test to finish'
-w':alias to --wait'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme device-self-test options" _device_self_test
@ -1151,6 +1224,8 @@ _nvme () {
-s':alias of --scp'
--uuid=':UUID Index field required aligned with Scope'
-U':alias of --uuid'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme lockdown options" _lockdown
@ -1171,6 +1246,8 @@ _nvme () {
-V'alias to --value'
--uuid-index=':uuid index'
-U':alias for --uuid-index'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme set-feature options" _setf
@ -1183,6 +1260,8 @@ _nvme () {
-O':alias to --offset'
--value=':the value of the property to be set'
-V':alias to --value'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme set-property options" _set_property
@ -1195,6 +1274,8 @@ _nvme () {
-O':alias to --offset'
--human-readable':show infos in readable format'
-H':alias of --human-readable'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme get-property options" _get_property
@ -1221,17 +1302,19 @@ _nvme () {
_arguments '*:: :->subcmds'
_describe -t commands "nvme format options" _format
;;
(fw-activate)
local _fwact
_fwact=(
(fw-commit)
local _fw_commit
_fw_commit=(
/dev/nvme':supply a device to use (required)'
--action=':activation action (required)? 0 - replace fw without activating, 1 - replace with activation, 2 - replace with activation at next reset'
-a':alias of --action'
--slot=':firmware slot to activate'
-s':alias of --slot'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme fw-activate options" _fwact
_describe -t commands "nvme fw-commit options" _fw_commit
;;
(fw-download)
local _fwd
@ -1243,13 +1326,15 @@ _nvme () {
-x':alias of --xfer'
--offset=':starting offset, in dwords (defaults to 0, only useful if download is split across multiple files)'
-O':alias of --offset'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme fw-download options" _fwd
;;
(capacity-mgmt)
local _fwd
_fwd=(
local _capacity_mgmt
_capacity_mgmt=(
/dev/nvme':supply a device to use (required)'
--operation=':Operation to be performed by the controller'
-O':alias of --operation'
@ -1259,9 +1344,11 @@ _nvme () {
-l':alias of --cap-lower'
--cap-upper=':Most significant 32 bits of the capacity in bytes'
-u':alias of --cap-upper'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme capacity-mgmt options" _fwd
_describe -t commands "nvme capacity-mgmt options" _capacity_mgmt
;;
(write-zeroes)
local _write_zeroes
@ -1295,6 +1382,8 @@ _nvme () {
-C':alias of --storage-tag-check'
--dir-spec=':directive specific'
-D':alias of --dir-spec'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme write-zeroes options" _write_zeroes
@ -1313,6 +1402,8 @@ _nvme () {
-T':alias of --dir-type'
--dir-spec':directive specific'
-S':alias of --dir-spec'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme write-uncor options" _write_uncor
@ -1343,6 +1434,8 @@ _nvme () {
-S':alias of --storage-tag'
--storage-tag-check':Storage Tag field shall be checked as part of end-to-end data protection processing'
-C':alias of --storage-tag-check'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme verify options" _verify
@ -1553,6 +1646,7 @@ _nvme () {
-s':alias for --spsp'
--tl=':transfer length as defined in SPC-4'
-t':alias for --tl'
--timeout=':value for timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme security-send options" _ssend
@ -1571,6 +1665,8 @@ _nvme () {
-a':alias for --al'
--raw-binary':dump output in binary format'
-b':alias for --raw-binary'
--timeout=':value for timeout'
-t':alias for --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme security-recv options" _srecv
@ -1613,6 +1709,7 @@ _nvme () {
-i':alias for --iekey'
--crkey':current reservation key'
-c':alias for --crkey'
--timeout=':value for timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme resv-acquire options" _acq
@ -1629,6 +1726,7 @@ _nvme () {
-a':alias of --rrela'
--iekey':ignore existing reservation key'
-i':alias of --iekey'
--timeout=':value for timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme resv-release options" _rel
@ -1645,6 +1743,8 @@ _nvme () {
-e':alias of --eds'
--raw-binary':dump output in binary format'
-b':alias of --raw-binary'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme resv-report options" _rep
@ -1665,6 +1765,8 @@ _nvme () {
-r':alias for --rrega'
--iekey':ignore existing reservation key'
-i':alias for --iekey'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme resv-register options" _reg
@ -1689,6 +1791,8 @@ _nvme () {
-r':alias of --idr'
--cdw11=':value for command dword 11'
-c':alias for --cdw11'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme dsm options" _dsm
@ -1729,10 +1833,12 @@ _nvme () {
-S':alias of --dir-spec'
--format=':source range entry format'
-F':alias of --format'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme copy options" _copy
;;
_describe -t commands "nvme copy options" _copy
;;
(flush)
local _flush
_flush=(
@ -1771,6 +1877,9 @@ _nvme () {
-V':alias of --show-command'
--dry-run':show command instead of sending to device'
-w':alias of --show-command'
--latency':latency statistics will be output following compare'
-t':alias of --latency'
--timeout=':value for timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme compare options" _comp
@ -1807,6 +1916,7 @@ _nvme () {
-V':alias of --show-command'
--dry-run':show command instead of sending to device'
-w':alias of --show-command'
--timeout=':value for timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme read options" _read
@ -1843,6 +1953,7 @@ _nvme () {
-V':alias of --show-command'
--dry-run':show command instead of sending to device'
-w':alias of --show-command'
--timeout=':value for timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme write options" _wr
@ -1851,6 +1962,8 @@ _nvme () {
local _shor
_shor=(
/dev/nvme':supply a device to use (required)'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme show-regs options" _shor
@ -1907,7 +2020,6 @@ _nvme () {
--duplicate-connect':allow duplicate connections between same transport host and subsystem port'
-D':alias for --duplicate-connect'
--disable-sqflow':disable controller sq flow control (default false)'
-d':alias for --disable-sqflow'
--hdr-digest':enable transport protocol header digest (TCP transport)'
-g':alias for --hdr-digest'
--data-digest':enable transport protocol data digest (TCP transport)'
@ -1920,7 +2032,6 @@ _nvme () {
--persistent':'
-p':alias for --'
--quiet':'
-S':alias for --'
--config=':Use specified JSON configuration file or none to disable'
-J':alias for --config'
--verbose':Increase logging verbosity'
@ -1979,7 +2090,6 @@ _nvme () {
--duplicate-connect':allow duplicate connections between same transport host and subsystem port'
-D':alias for --duplicate-connect'
--disable-sqflow':disable controller sq flow control (default false)'
-d':alias for --disable-sqflow'
--hdr-digest':enable transport protocol header digest (TCP transport)'
-g':alias for --hdr-digest'
--data-digest':enable transport protocol data digest (TCP transport)'
@ -1992,7 +2102,6 @@ _nvme () {
--persistent':'
-p':alias for --'
--quiet':'
-S':alias for --'
--config=':Use specified JSON configuration file or none to disable'
-J':alias for --config'
--verbose':Increase logging verbosity'
@ -2049,7 +2158,6 @@ _nvme () {
--duplicate-connect':allow duplicate connections between same transport host and subsystem port'
-D':alias for --duplicate-connect'
--disable-sqflow':disable controller sq flow control (default false)'
-d':alias for --disable-sqflow'
--hdr-digest':enable transport protocol header digest (TCP transport)'
-g':alias for --hdr-digest'
--data-digest':enable transport protocol data digest (TCP transport)'
@ -2122,6 +2230,28 @@ _nvme () {
_arguments '*:: :->subcmds'
_describe -t commands "nvme show-hostnqn options" _show_hostnqn
;;
(tls-key)
local _tls_key
_tls_key=(
--verbose':show infos verbosely'
-v':alias of --verbose'
--output-format=':Output format: normal|json|binary'
-o':alias for --output-format'
--keyring=':name for keyring'
-r':alias for --keyring'
--keytype=':type for the key'
-t':alias for --keytype'
--keyfile='filename for reading/writing keys from'
-f':alias for --keyfile'
--import'import all keys into keyring'
-i':alias for --import'
--export'export all keys from keyring'
-e':alias for --export'
--revoke='revoke key from keyring'
-r':alias for --revoke'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme tls-key options" _tls_key
(dir-receive)
local _dir_receive
_dir_receive=(
@ -2142,6 +2272,8 @@ _nvme () {
-r':alias of --req-resource'
--human-readable':show infos in readable format'
-H':alias of --human-readable'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme dir-receive options" _dir_receive
@ -2170,6 +2302,8 @@ _nvme () {
-b':alias for --raw-binary'
--input-file=':write/send file (default stdin)'
-i':alias of --input-file'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme dir-send options" _dir_send
@ -2186,6 +2320,8 @@ _nvme () {
-a':alias of --act'
--nr=':Number of Controller Resources(NR)'
-n':alias of --nr'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme virt-mgmt options" _virt_mgmt
@ -2230,6 +2366,7 @@ _nvme () {
(nvme-mi-recv)
local _nvme_mi_recv
_nvme_mi_recv=(
/dev/nvme':supply a device to use (required)'
--opcode=':NVMe-MI opcode to send'
-O':alias of --opcode'
--namespace-id=':value for nsid'
@ -2251,6 +2388,7 @@ _nvme () {
(nvme-mi-send)
local _nvme_mi_send
_nvme_mi_send=(
/dev/nvme':supply a device to use (required)'
--opcode=':NVMe-MI opcode to send'
-O':alias of --opcode'
--namespace-id=':value for nsid'
@ -2272,6 +2410,7 @@ _nvme () {
(get-reg)
local _get_reg
_get_reg=(
/dev/nvme':supply a device to use (required)'
--offset=':offset of the requested register'
-O':alias for --offset'
--human-readable':show register in readable format'
@ -2308,6 +2447,8 @@ _nvme () {
-o ':alias for --output-format'
--verbose':Increase the information detail in the output.'
-v':alias for --verbose'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme get-reg options" _get_reg
@ -2315,6 +2456,7 @@ _nvme () {
(set-reg)
local _set_reg
_set_reg=(
/dev/nvme':supply a device to use (required)'
--offset=':offset of the requested register'
-O':alias for --offset'
--value=':the value of the register to be set'
@ -2340,10 +2482,60 @@ _nvme () {
-o ':alias for --output-format'
--verbose':Increase the information detail in the output.'
-v':alias for --verbose'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme set-reg options" _set_reg
;;
(io-mgmt-recv)
local _io_mgmt_recv
_io_mgmt_recv=(
/dev/nvme':supply a device to use (required)'
--namespace-id=':identifier of desired namespace'
-n':alias for --namespace-id'
--mos=':management operation specific'
-s':alias for --mos'
--mo=':management operation'
-m':alias for --mo'
--data=':optional file for data (default stdout)'
-d':alias for --data'
--data-len=':buffer len (if) data is received'
-l':alias for --data-len'
--output-format=':Output format: normal|json|binary'
-o ':alias for --output-format'
--verbose':Increase the information detail in the output.'
-v':alias for --verbose'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme set-reg options" _io_mgmt_recv
;;
(io-mgmt-send)
local _io_mgmt_send
_io_mgmt_send=(
/dev/nvme':supply a device to use (required)'
--namespace-id=':identifier of desired namespace'
-n':alias for --namespace-id'
--mos=':management operation specific'
-s':alias for --mos'
--mo=':management operation'
-m':alias for --mo'
--data=':optional file for data (default stdin)'
-d':alias for --data'
--data-len=':buffer len (if) data is sent'
-l':alias for --data-len'
--output-format=':Output format: normal|json|binary'
-o ':alias for --output-format'
--verbose':Increase the information detail in the output.'
-v':alias for --verbose'
--timeout=':value for timeout'
-t':alias of --timeout'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme set-reg options" _io_mgmt_send
;;
(version)
local _version
_version=(
@ -2364,8 +2556,12 @@ _nvme () {
vs-fw-activate-history':Get firmware activation history log'
device-capability-log':Get Device capability log'
set-dssd-power-state-feature':Set DSSD Power State'
get-dssd-power-state-feature':Get DSSD Power State'
telemetry-string-log':Retrieve Telemetry string Log Page'
set-telemetry-profile':Set Telemetry Profile'
tcg-configuration-log':tcg configuration log'
get-error-injection':get error injection'
set-error-injection':set error injection'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme ocp options" _ocp
@ -2394,24 +2590,52 @@ _nvme () {
_arguments '*:: :->subcmds'
_describe -t commands "nvme solidigm options" _solidigm
;;
(micron)
local micron
_micron=(
select-download':Selective Firmware Download'
vs-temperature-stats':Retrieve Micron temperature statistics'
vs-pcie-stats':Retrieve Micron PCIe error stats'
clear-pcie-correctable-errors':Clear correctable PCIe errors'
vs-internal-log':Retrieve Micron logs'
vs-telemetry-controller-option':Enable/Disable controller telemetry log generation'
vs-nand-stats':Retrieve NAND Stats'
vs-smart-ext-log':Retrieve extended SMART logs'
vs-drive-info':Retrieve Drive information'
plugin-version':Display plugin version info'
cloud-SSD-plugin-version':Display plugin version info'
log-page-directory':Retrieve log page directory'
vs-fw-activate-history':Display FW activation history'
latency-tracking':Latency monitoring feature control'
latency-stats':Latency information for tracked commands'
latency-logs':Latency log details tracked by drive'
vs-smart-add-log':Retrieve extended SMART data'
clear-fw-activate-history':Clear FW activation history'
vs-smbus-option':Enable/Disable SMBUS on the drive'
ocp-telemetry-log-parse':Parse OCP Telemetry DA1 and DA2 logs'
help':Display this help'
)
_arguments '*:: :->subcmds'
_describe -t commands "nvme micron options" _micron
;;
(help)
local _h
_h=( id-ctrl id-ns list-ns id-iocs create-ns delete-ns attach-ns detach-ns
list-ctrl get-ns-id get-log fw-log smart-log error-log get-feature
set-feature format fw-activate fw-download admin-passthru io-passthru
security-send security-recv resv-acquire resv-register resv-release
resv-report flush compare read write copy show-regs persistent-event-log
pred-lat-event-agg-log nvm-id-ctrl endurance-event-agg-log lba-status-log
resv-notif-log capacity-mgmt id-domain boot-part-log fid-support-effects-log
supported-log-pages lockdown media-unit-stat-log id-ns-lba-format nvm-id-ns
nvm-id-ns-lba-format supported-cap-config-log show-topology
list list-subsys id-ns-granularity primary-ctrl-caps list-secondary ns-descs
id-nvmset id-uuid list-endgrp telemetry-log changed-ns-list-log ana-log
effects-log endurance-log device-self-test self-test-log set-property
get-property write-zeroes write-uncor verify sanitize sanitize-log reset
subsystem-reset ns-rescan get-lba-status dsm discover connect-all connect
dim disconnect disconnect-all gen-hostnqn show-hostnqn dir-receive dir-send
virt-mgmt rpmb version ocp solidigm
list-ctrl get-ns-id get-log fw-log smart-log error-log get-feature
set-feature format fw-activate fw-download admin-passthru io-passthru
security-send security-recv resv-acquire resv-register resv-release
resv-report flush compare read write copy show-regs persistent-event-log
pred-lat-event-agg-log nvm-id-ctrl endurance-event-agg-log lba-status-log
resv-notif-log capacity-mgmt id-domain boot-part-log fid-support-effects-log
supported-log-pages lockdown media-unit-stat-log id-ns-lba-format nvm-id-ns
nvm-id-ns-lba-format supported-cap-config-log show-topology
list list-subsys id-ns-granularity primary-ctrl-caps list-secondary ns-descs
id-nvmset id-uuid list-endgrp telemetry-log changed-ns-list-log ana-log
effects-log endurance-log device-self-test self-test-log set-property
get-property write-zeroes write-uncor verify sanitize sanitize-log reset
subsystem-reset ns-rescan get-lba-status dsm discover connect-all connect
dim disconnect disconnect-all gen-hostnqn show-hostnqn tls-key dir-receive
dir-send virt-mgmt rpmb version ocp solidigm
)
_arguments '*:: :->subcmds'
_describe -t commands "help: infos on a specific nvme command, or provide no option to see a synopsis of all nvme commands" _h

View file

@ -63,7 +63,7 @@ nvme_list_opts () {
;;
"list-ns")
opts+=" --namespace-id= -n --al -a --csi= -y \
--outputformat= -o"
--outputformat= -o --timeout= -t"
;;
"list-ctrl")
opts+=" --namespace-id= -n --cntid= -c \
@ -149,7 +149,7 @@ nvme_list_opts () {
;;
"smart-log")
opts+=" --namespace-id= -n --raw-binary -b \
--output-format= -o"
--output-format= -o --verbose -v"
;;
"ana-log")
opts+=" --output-format -o"
@ -163,7 +163,7 @@ nvme_list_opts () {
;;
"effects-log")
opts+=" --output-format= -o --human-readable -H \
--raw-binary -b"
--raw-binary -b --timeout= -t"
;;
"endurance-log")
opts+=" --output-format= -o --group-id -g"
@ -173,7 +173,7 @@ nvme_list_opts () {
--output-format= -o"
;;
"pred-lat-event-agg-log")
opts+=" --log-entries= -e --rae -r \
opts+=" --log-entries= -e --rae -r \
--raw-binary -b --output-format= -o"
;;
"persistent-event-log")
@ -181,7 +181,7 @@ nvme_list_opts () {
--raw-binary -b --output-format= -o"
;;
"endurance-event-agg-log")
opts+=" --log-entries= -e --rae -r \
opts+=" --log-entries= -e --rae -r \
--raw-binary -b --output-format= -o"
;;
"lba-status-log")
@ -205,10 +205,10 @@ nvme_list_opts () {
"get-feature")
opts+=" --namespace-id= -n --feature-id= -f --sel= -s \
--data-len= -l --cdw11= --c -uuid-index= -U --raw-binary -b \
--human-readable -H"
--human-readable -H --timeout= -t"
;;
"device-self-test")
opts+=" --namespace-id= -n --self-test-code= -s"
opts+=" --namespace-id= -n --self-test-code= -s --timeout= -t"
;;
"self-test-log")
opts+=" --dst-entries= -e --output-format= -o \
@ -217,30 +217,31 @@ nvme_list_opts () {
"set-feature")
opts+=" --namespace-id= -n --feature-id= -f --value= -v \
--data-len= -l -data= -d --value= -v --save -s --uuid-index= -U \
--cdw12= -c"
--cdw12= -c --timeout= -t"
;;
"set-property")
opts+=" --offset= -O --value= -V"
opts+=" --offset= -O --value= -V --timeout= -t"
;;
"get-property")
opts=+" --offset= -O --human-readable -H"
opts=+" --offset= -O --human-readable -H --timeout= -t"
;;
"format")
opts+=" --namespace-id= -n --timeout= -t --lbaf= -l \
--ses= -s --pil= -p -pi= -i --ms= -m --reset -r"
;;
"fw-commit")
opts+=" --slot= -s --action= -a --bpid= -b"
opts+=" --slot= -s --action= -a --bpid= -b --timeout= -t"
;;
"fw-download")
opts+=" --fw= -f --xfer= -x --offset= -O"
opts+=" --fw= -f --xfer= -x --offset= -O --timeout= -t"
;;
"capacity-mgmt")
opts+=" --operation= -O --element-id= -i --cap-lower= -l \
--cap-upper= -u"
--cap-upper= -u --timeout= -t"
;;
"lockdown")
opts+=" --ofi= -O --ifc= -f --prhbt= -p --scp= -s --uuid -U"
opts+=" --ofi= -O --ifc= -f --prhbt= -p --scp= -s --uuid -U \
--timeout= -t"
;;
"admin-passthru")
opts+=" --opcode= -O --flags= -f --prefil= -p --rsvd= -R \
@ -262,11 +263,11 @@ nvme_list_opts () {
;;
"security-send")
opts+=" --namespace-id= -n --file= -f --nssf= -N --secp= -p \
--spsp= -s --tl= -t"
--spsp= -s --tl= -t --timeout="
;;
"security-recv")
opts+=" --namespace-id= -n --size= -x --secp= -p --spsp= -s \
--al= -t --raw-binary -b"
--al= -t --raw-binary -b --timeout="
;;
"get-lba-status")
opts+=" --namespace-id= -n --start-lba= -s --max-dw= -m \
@ -275,23 +276,24 @@ nvme_list_opts () {
;;
"resv-acquire")
opts+=" --namespace-id= -n --crkey= -c --prkey= -p \
--rtype= -t --racqa= -a --iekey= -i"
--rtype= -t --racqa= -a --iekey= -i --timeout="
;;
"resv-register")
opts+=" --namespace-id= -n --crkey= -c --nrkey= -k \
--rrega= -r --cptpl= -p --iekey -i"
--rrega= -r --cptpl= -p --iekey -i --timeout= -t"
;;
"resv-release")
opts+=" --namespace-id= -n --crkey -c --rtype= -t \
--rrela= -a --iekey -i"
--rrela= -a --iekey -i --timeout="
;;
"resv-report")
opts+=" --namespace-id= -n --numd= -d --eds -e \
--raw-binary= -b --output-format= -o"
--raw-binary= -b --output-format= -o --timeout= -t"
;;
"dsm")
opts+=" --namespace-id= -n --ctx-attrs= -a --blocks= -b\
--slbs= -s --ad -d --idw -w --idr -r --cdw11= -c"
opts+=" --namespace-id= -n --ctx-attrs= -a --blocks= -b \
--slbs= -s --ad -d --idw -w --idr -r --cdw11= -c \
--timeout= -t"
;;
"copy")
opts+=" --namespace-id= -n --sdlba= -d --blocks= -b --slbs= -s \
@ -300,7 +302,7 @@ nvme_list_opts () {
--ref-tag= -r --expected-ref-tag= -R \
--app-tag= -a --expected-app-tag= -A \
--app-tag-mask= -m --expected-app-tag-mask= -M \
--dir-type= -T --dir-spec= -S --format= -F"
--dir-type= -T --dir-spec= -S --format= -F --timeout= -t"
;;
"flush")
opts+=" --namespace-id= -n"
@ -312,7 +314,7 @@ nvme_list_opts () {
--app-tag= -a --limited-retry -l \
--force-unit-access -f --storage-tag-check -C \
--dir-type= -T --dir-spec= -S --dsm= -D --show-command -V \
--dry-run -w --latency -t"
--dry-run -w --latency -t --timeout="
;;
"read")
opts+=" --start-block= -s --block-count= -c --data-size= -z \
@ -321,7 +323,7 @@ nvme_list_opts () {
--app-tag= -a --limited-retry -l \
--force-unit-access -f --storage-tag-check -C \
--dir-type= -T --dir-spec= -S --dsm= -D --show-command -V \
--dry-run -w --latency -t"
--dry-run -w --latency -t --timeout="
;;
"write")
opts+=" --start-block= -s --block-count= -c --data-size= -z \
@ -330,7 +332,7 @@ nvme_list_opts () {
--app-tag= -a --limited-retry -l \
--force-unit-access -f --storage-tag-check -C \
--dir-type= -T --dir-spec= -S --dsm= -D --show-command -V \
--dry-run -w --latency -t"
--dry-run -w --latency -t --timeout="
;;
"write-zeroes")
opts+=" --namespace-id= -n --start-block= -s \
@ -338,18 +340,19 @@ nvme_list_opts () {
--force-unit-access -f --prinfo= -p --ref-tag= -r \
--app-tag-mask= -m --app-tag= -a \
--storage-tag= -S --storage-tag-check -C \
--dir-type= -T --dir-spec= -S"
--dir-type= -T --dir-spec= -S --timeout= -t"
;;
"write-uncor")
opts+=" --namespace-id= -n --start-block= -s \
--block-count= -c --dir-type= -T --dir-spec= -S"
--block-count= -c --dir-type= -T --dir-spec= -S \
--timeout= -t"
;;
"verify")
opts+=" --namespace-id= -n --start-block= -s \
--block-count= -c --limited-retry -l \
--force-unit-access -f --prinfo= -p --ref-tag= -r \
--app-tag= -a --app-tag-mask= -m \
--storage-tag= -S --storage-tag-check -C"
--storage-tag= -S --storage-tag-check -C --timeout= -t"
;;
"sanitize")
opts+=" --no-dealloc -d --oipbp -i --owpass= -n \
@ -374,7 +377,7 @@ nvme_list_opts () {
opts+=$NO_OPTS
;;
"show-regs")
opts+=" --output-format= -o --human-readable -H"
opts+=" --output-format= -o --human-readable -H --timeout= -t"
;;
"discover")
opts+=" --transport= -t -traddr= -a -trsvcid= -s \
@ -385,7 +388,7 @@ nvme_list_opts () {
--tos= -T --hdr-digest= -g --data-digest -G \
--nr-io-queues= -i --nr-write-queues= -W \
--nr-poll-queues= -P --queue-size= -Q \
--persistent -p --quiet -S \
--persistent -p --quiet \
--output-format= -o"
;;
"connect-all")
@ -397,7 +400,7 @@ nvme_list_opts () {
--tos= -T --hdr-digest= -g --data-digest -G \
--nr-io-queues= -i --nr-write-queues= -W \
--nr-poll-queues= -P --queue-size= -Q \
--persistent -p --quiet -S \
--persistent -p --quiet \
--output-format= -o"
;;
"connect")
@ -406,7 +409,7 @@ nvme_list_opts () {
--nr-poll-queues= -P --queue-size= -Q \
--keep-alive-tmo= -k --reconnect-delay= -r \
--ctrl-loss-tmo= -l --fast-io-fail-tmo= -f \
--tos= -T --duplicate-connect -D --disable-sqflow -d\
--tos= -T --duplicate-connect -D --disable-sqflow \
--hdr-digest -g --data-digest -G --output-format= -o"
;;
"dim")
@ -424,18 +427,24 @@ nvme_list_opts () {
"show-hostnqn")
opts+=$NO_OPTS
;;
"tls-key")
opts+=" --output-format= -o --verbose -v --keyring= -k \
--keytype= -k --keyfile= -f --import -i \
--export -e --revoke= -r"
;;
"dir-receive")
opts+=" --namespace-id= -n --data-len= -l --raw-binary -b \
--dir-type= -D --dir-spec= -S --dir-oper= -O \
--req-resource= -r --human-readable -H"
--req-resource= -r --human-readable -H --timeout= -t"
;;
"dir-send")
opts+=" --namespace-id= -n --data-len= -l --dir-type= -D \
--target-dir= -T --dir-spec= -S --dir-oper= -O \
--endir= -e --human-readable -H --raw-binary -b"
--endir= -e --human-readable -H --raw-binary -b \
--timeout= -t"
;;
"virt-mgmt")
opts+=" --cntlid= -c --rt= -r --act= -a --nr= -n"
opts+=" --cntlid= -c --rt= -r --act= -a --nr= -n --timeout= -t"
;;
"rpmb")
opts+=" --cmd= -c --msgfile= -f --keyfile= -g \
@ -459,13 +468,14 @@ nvme_list_opts () {
--pmrcap --pmrsts --pmrebs --pmrswtp --intms --intmc \
--cc --csts --nssr --aqa --asq --acq --bprsel --bpmbl \
--cmbmsc --nssd --pmrctl --pmrmscl --pmrmscu \
--output-format -o --verbose -v"
--output-format -o --verbose -v --timeout= -t"
;;
"set-reg")
opts+=" --offset, -O --value= -V --mmio32 -m --intms= --intmc= \
--cc= --csts= --nssr= --aqa= --asq= --acq= --bprsel= \
--bpmbl= --cmbmsc= --nssd= --pmrctl= --pmrmscl= \
--pmrmscu= --output-format= -o --verbose= -v"
--pmrmscu= --output-format= -o --verbose= -v \
--timeout= -t"
;;
"version")
opts+=$NO_OPTS
@ -487,7 +497,7 @@ nvme_list_opts () {
}
plugin_intel_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -543,7 +553,7 @@ plugin_intel_opts () {
}
plugin_amzn_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -575,7 +585,7 @@ plugin_amzn_opts () {
}
plugin_memblaze_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -630,7 +640,7 @@ plugin_memblaze_opts () {
}
plugin_wdc_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -742,7 +752,7 @@ plugin_wdc_opts () {
}
plugin_huawei_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -777,7 +787,7 @@ plugin_huawei_opts () {
}
plugin_toshiba_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -814,7 +824,7 @@ plugin_toshiba_opts () {
}
plugin_micron_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -890,7 +900,7 @@ plugin_micron_opts () {
}
plugin_seagate_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -945,7 +955,7 @@ plugin_seagate_opts () {
}
plugin_virtium_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -979,7 +989,7 @@ plugin_virtium_opts () {
}
plugin_shannon_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -1022,7 +1032,7 @@ plugin_shannon_opts () {
}
plugin_dera_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -1053,7 +1063,7 @@ plugin_dera_opts () {
}
plugin_sfx_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -1102,7 +1112,7 @@ plugin_sfx_opts () {
}
plugin_solidigm_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -1185,7 +1195,7 @@ plugin_solidigm_opts () {
}
plugin_transcend_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -1219,7 +1229,7 @@ plugin_transcend_opts () {
}
plugin_zns_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -1281,7 +1291,7 @@ plugin_zns_opts () {
;;
"set-zone-desc")
opts+=" --namespace-id= -n --start-lba= -s \
--data= -d --timeout= -t --zrwa -r"
--data= -d --timeout= -t --zrwa -r"
;;
"flush-zone")
opts+=" --namespace-id= -n --last-lba= -l --timeout= -t"
@ -1307,7 +1317,7 @@ plugin_zns_opts () {
}
plugin_nvidia_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -1339,7 +1349,7 @@ plugin_nvidia_opts () {
}
plugin_ymtc_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -1370,7 +1380,7 @@ plugin_ymtc_opts () {
}
plugin_inspur_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -1401,7 +1411,7 @@ plugin_inspur_opts () {
}
plugin_ocp_opts () {
local opts=""
local opts=""
local compargs=""
local nonopt_args=0
@ -1434,8 +1444,9 @@ plugin_ocp_opts () {
--latency_monitor_feature_enable= -e"
;;
"internal-log")
opts+=" --telemetry_type= -t --telemetry_data_area= -a \
--output-file= -o"
opts+=" --telemetry-log= -l --string-log= -s \
--output-file= -o --output-format= -f \
--data-area= -a --telemetry-type= -t"
;;
"clear-fw-activate-history")
opts+=" --no-uuid -n"
@ -1455,6 +1466,9 @@ plugin_ocp_opts () {
"set-dssd-power-state-feature")
opts+=" --power-state= -p --no-uuid -n --save -s"
;;
"get-dssd-power-state-feature")
opts+=" --sel= -S --all -a --no-uuid -n"
;;
"telemetry-string-log")
opts+=" --output-file= -o"
;;
@ -1464,9 +1478,19 @@ plugin_ocp_opts () {
"set-dssd-async-event-config")
opts+=" --enable-panic-notices -e --save -s"
;;
"get-dssd-power-state-feature")
"get-dssd-async-event-config")
opts+=" --sel= -S"
;;
"tcg-configuration-log")
opts+=" --output-file= -o"
;;
"get-error-injection")
opts+=" --sel= -s --no-uuid -n"
;;
"set-error-injection")
opts+=" --data= -d --number= -n --no-uuid -N --type= -t \
--nrtdp= -r --verbose -v --output-format -o --timeout="
;;
"help")
opts+=$NO_OPTS
;;
@ -1513,7 +1537,7 @@ _nvme_subcmds () {
vs-drive-info plugin-version cloud-SSD-plugin-version \
log-page-directory vs-fw-activate-history \
vs-error-reason-identifier vs-smart-add-log \
clear-fw-activate-history vs-smbus-option"
clear-fw-activate-history vs-smbus-option ocp-telemetry-log-parse"
[seagate]="vs-temperature-stats vs-log-page-sup \
vs-smart-add-log vs-pcie-stats clear-pcie-correctable-errors \
get-host-tele get-ctrl-tele vs-internal-log \
@ -1523,7 +1547,7 @@ _nvme_subcmds () {
[dera]="smart-log-add"
[sfx]="smart-log-add lat-stats get-bad-block query-cap \
change-cap set-feature get-feature"
[solidigm]="id-ctrl vs-smart-add-log garbage-collect-log \
[solidigm]="id-ctrl vs-smart-add-log garbage-collect-log \
vs-internal-log latency-tracking-log \
clear-pcie-correctable-errors parse-telemetry-log \
clear-fw-activate-history vs-fw-activate-history log-page-directory \
@ -1542,9 +1566,10 @@ _nvme_subcmds () {
clear-fw-activate-history eol-plp-failure-mode \
clear-pcie-correctable-error-counters \
vs-fw-activate-history device-capability-log \
set-dssd-power-state-feature telemetry-string-log \
set-telemetry-profile set-dssd-async-event-config \
get-dssd-async-event-config"
set-dssd-power-state-feature get-dssd-power-state-feature \
telemetry-string-log set-telemetry-profile \
set-dssd-async-event-config get-dssd-async-event-config \
get-error-injection set-error-injection"
)
# Associative array mapping plugins to corresponding option completions
@ -1561,7 +1586,7 @@ _nvme_subcmds () {
[shannon]="plugin_shannon_opts"
[dera]="plugin_dera_opts"
[sfx]="plugin_sfx_opts"
[solidigm]="plugin_solidigm_opts"
[solidigm]="plugin_solidigm_opts"
[transcend]="plugin_transcend_opts"
[zns]="plugin_zns_opts"
[nvidia]="plugin_nvidia_opts"
@ -1592,7 +1617,7 @@ _nvme_subcmds () {
sanitize sanitize-log reset subsystem-reset \
ns-rescan show-regs discover connect-all \
connect disconnect disconnect-all gen-hostnqn \
show-hostnqn dir-receive dir-send virt-mgmt \
show-hostnqn tls-key dir-receive dir-send virt-mgmt \
rpmb boot-part-log fid-support-effects-log \
supported-log-pages lockdown media-unit-stat-log \
supported-cap-config-log dim show-topology list-endgrp \