Skip to content

v2.5

Compare
Choose a tag to compare
@github-actions github-actions released this 30 Jun 13:21
· 716 commits to master since this release

A couple of noteworthy features made it to this release:

  • Support for the NVMe-oF boot specification v1.0 has been added by Timberland SIG.
  • Ignoring fabric connect attempts if the execution context doesn't match.
    This feature allows to make different users of nvme-cli to coexist, e.g. nvme-cli, nvme-stas or blktests without trying
    to manage the same resource

Tokunori Ikegami was very busy and provided a lot of cleanup patches including code style fixes which should make the code base a bit more uniform.

In the meantime I was busy refactoring the printing code. The aim here is to prepare the code base for the upcoming NVMe v2.1 release which hopefully will bring an official JSON description for all the definitions etc. From this we should be able to create code include printing code. But that's future work.

plugins/solidigm and plugins/ocp learned a few new subcommands

Also this release brings a lot of fixes, too many to list them all here.

A big thanks goes to Arthur Shau, Arunpandian J, Caleb Sander, Dmitry V. Levin, John Meneghini, Martin George, Martin Wilck, Mateusz Kozlowski, Maurizio Lombardi, Sagi Grimberg, Stellios Leventis, Steven Seungcheol Lee, Stuart Hayes, Tokunori Ikegami, Umer Saleem, Vigneshwaran Saravanan, Wei Hou, da Cunha, Leonardo, dependabot[bot], hsdhillo, innogritkenny, jaya.ganthan, kdedow, leonardo.da.cunha, yjin

Arthur Shau (6):
      plugins/ocp: Reorganize OCP plugin source code
      plugins/ocp: Fix typos in Latency Monitor Log
      plugins/ocp: Add missing fields in Latency Monitor Log
      plugins/ocp: Fix endianness in Latency Monitor Log output
      plugins/ocp: Add OCP set latency monitor feature command
      plugins/ocp: Add telemetry-log command to OCP plugin

Arunpandian J (4):
      tests: Add tests for controller reset
      plugins/ocp: Add Device capability(LID: 0xC4) log page
      completions: Add bash completion for OCP Device capability(LID: 0xC4) log page
      Documentation: Add document for OCP Device capability(LID: 0xC4) log page

Caleb Sander (1):
      nvmf-autoconnect: restart service to avoid dropping AEN

Daniel Wagner (51):
      build: Add external AppImage upload workflow
      build: Use sftp transport for AppImage deploy step
      build: Deploy AppImage only for push on master
      build: Fetch all references before using git describe
      nvme-print: Use enum nvme_print_flags for nvme_show_id_ctrl
      build: Bump libnvme wrap
      build: Disable fallback on default
      build: Make json-c dependency lookup not fail
      build: Extend summary section
      build: Update wrap mode defaults
      doc: Update REAMDE
      build: Fix appimage configuration
      build: Extend static linked binary build test
      build: Install missing s390 library
      build: Do not use json-c fallback for muon minimal build
      nvme-print-json: Update function sigs for !json-c builds
      nbft: Make json-c output depending on config flag
      nbft: Add stdlib.h include
      nbft: Add include util/types.h
      nvme-print: Double function definition
      nvme-print: Export generic to string functions
      nvme-print: Unify flag passing into functions
      nvme-print: Split add_bitmap implementation
      fabrics: Move printing functions to the print files
      print: Introduce print ops structure
      nvme-print-json: Refactor json print code to use nvme_print_ops
      nvme-print-stdout: Refactor stdout print code to use print_ops
      nvme-print-binary: Refactor binary print code to use print_ops
      nvme: Use correct metadata buffer size
      nvme: Use correct data buffer size
      fabrics: Revert 'fabrics: prevent 'nvme connect' to well-known discovery NQN'
      fabrics: Do not print device on connect per default
      plugins/nbft: Use common code to parse print flags
      build: Bump libnvme wrap
      build: Reformat build_opionts.txt
      fabrics: Add support for volatile configuration
      nvmf-autoconnect: Annotate the context to autoconnect
      doc: Add information on --context
      docs: Update file modes
      scripts: Move helper scripts to a central place
      scripts: Execute the scripts from toplevel directory
      scripts: Update update-docs.sh scripts
      scripts: Make release script project neutral
      build: Bump libnvme wrap
      build: Use containers with matrix build
      nvme-print: Fix typo in callback definition
      nvme-print: Move num argument parsing into callbacks
      nvme-print: Remove left overs from refactoring
      build: Bump libnvme wrap
      build: Update version to v2.5
      doc: Regenerate all docs for v2.5

Dmitry V. Levin (1):
      udev: fix warning reported by udevadm verify

John Meneghini (1):
      nbft: make lookup_ctrl function public

Martin George (2):
      fabrics: fix fc config JSON file handling
      fabrics: prevent 'nvme connect' to well-known discovery NQN

Martin Wilck (1):
      fabrics: fix conditions in nvmf-autoconnect.service

Mateusz Kozlowski (1):
      nvme: Fix nvme format block-size option handling

Maurizio Lombardi (2):
      nvme: fix rnlpt to_string() values.
      Revert "nvme: Masks SSTAT in sanize-log output"

Sagi Grimberg (1):
      nvme-print: fix wrong list-subsys output when ns are attached to different ctrls

Stellios Leventis (1):
      plugins/wdc: Extend SN530 support.

Steven Seungcheol Lee (10):
      nvme-print: Add VWCNP on NSFEAT of id-ns
      nvme-print: Add new fields print on id directive
      nvme: Add dtype, dspec on write-zeroes, write-uncor
      nvme: Add ns-mgmt host software specified fields
      nvme: Add zns specfic field for create ns
      build: Bump libnvme.wrap to align create ns args
      fdp: set-events feature is saveable
      nvme: fix io_mgmt args parse error
      build: Bump libnvme wrap to fix io_mgmt apis
      nvme-wrap: do_admin_args_op should not clear args timeout

Stuart Hayes (2):
      nbft: added NBFT v1.0 table support
      nbft: add the nbft show plugin

Tokunori Ikegami (92):
      nvme: Add support for NVMe-MI receive command
      nvme: Fix passthru command function indentation errors
      nvme: Use stdout for passthru and submit_io commands success messages
      nvme: Add support for NVMe-MI send command
      doc: Add eol-plp-failure-mode command documentation
      doc: Add clear-pcie-correctable-error-counters command documentation
      doc: Add nvme-mi-recv command documentation
      doc: Add nvme-mi-send command documentation
      doc: Documentations maintenance changes
      nvme: Fix format command to skip to reread NSID all block device
      nvme-printf: Add show error function for nvme list command json output
      util: Check output format json for json error message output
      nvme: Use nvme show error API to outptu stderr messages for json format
      nvme: Check validate output format err value instead of flags
      nvme: Fix indentation errors around nvme show error API
      fabrics: Fix linux kernel check patch errors and warnings
      fabrics: Return errno value as negative
      nvme-print-json: Use vasprintf instead of vsnprintf to allocate string
      nvme: Add nvme_show_perror to use instead of perror for json output
      nvme: Fix linux kernel check patch errors
      nvme: Fix linux kernel check patch warnings
      util: Delete unused argconfig help function
      util: Delete unused argconfig file types
      util: Delete unused argconfig subopts type
      util: Add argconfig parse value function
      nvme: Change sanitize command action option to use argconfig parse value
      util: Delete argconfig value length to calcurate instead
      util: Split to set argconfig option value
      util: Delete argconfig value type to add option value as va lists instead
      util: Delete unnecessary argconfig definitions OPT_VAL and CFG_VAL
      nvme: Fix get-feature command sel parameter check to allow value 8
      completions: Add json command option
      completions: Fix nvm-id-ns-lba-format command zsh definition
      completions: bash: Add id-domain command
      completions: bash: Delete unsupported id-iocs command options
      nvme: Set effects-log command csi option help message string
      Fix incorrect article 'an' as 'a' to use for descriptions and message
      completions: Add missing zsh commands descriptions
      doc: Correct nvme-show-hostnqn command NAME description
      completions: Add bash option values handling for sanitize command action
      completions: Add ocp commands bash completion
      completions: Add ocp commands zsh completion
      completions: Add ocp sub commands zsh completion
      completions: Add zsh option values handling for sanitize command action
      util: Fix suffix_si_parse to parse no decimal point but suffix value correctly
      nvme: Fix io-passthru command read metadata output
      nvme: Split passthru commands read output
      fabrics: Change NVMF_OPTS as NVMF_ARGS to fix linux kernel check patch error
      fabrics: Fix NVMF_ARGS macro indentation error
      nvme-print: Fix nvme_show_error() to call va_end() for json output format
      nvme-print-json: Add json output result function
      nvme-print: Add nvme show result function
      ocp: Add eol plp failure mode json outputs
      plugins/ocp: Fix ocp-nvme.c linux kernel check patch errors
      plugins/ocp: Fix ocp-nvme.c linux kernel check patch warnings
      plugins/ocp: Fix remaining files linux kernel check patch warnings
      plugin: Fix files linux kernel check patch errors and warnings
      plugins/toshiba: Fix linux kernel check patch errors and warnings
      util: Fix argconfig.c linux kernel check patch error and warnings
      util: Fix base64.c linux kernel check patch errors and warnings
      util: Fix crc32.c linux kernel check patch errors and warnings
      util: Fix types.c linux kernel check patch warnings
      plugin: Change version and usage names for linux kernel check patch warnings
      util: Move falltrhough feature check to meson.build
      plugins/wdc: Refactor wdc-nvme.c for linux kernel check patch errors and warnings
      plugins/wdc: Fix wdc-utils.c linux kernel check patch errors and warnings
      plugins/amzn: Fix amzn-nvme.c linux kernel check patch error and warnings
      plugins/dera: Fix dera-nvme.c linux kernel check patch errors and warnings
      plugins/fdb: Fix fdb.c linux kernel check patch warnings
      plugins/huawei: Fix huawei-nvme.c linux kernel check patch errors and warnings
      plugins/innogrit: Fix innogrit-nvme.c linux kernel check patch errors
      plugins/inspur: Fix inspur-nvme.c space indentation to tab indentation
      plugins/inspur: Fix inspur-nvme.c linux kernel check patch warnings
      plugins/intel: Fix intel-nvme.c linux kernel check patch errors and warnings
      plugins/memblaze: Fix memblaze-nvme.c space indentation to tab indentation
      plugins/memblaze: Fix memblaze-utils.h space indentation to tab indentation
      plugins/memblaze: Fix memblaze-nvme.c linux kernel check patch errors and warnings
      plugins/micron: Fix micron-nvme.c space indentation to tab indentation
      plugins/micron: Fix micron-nvme.c linux kernel check patch errors and warnings
      plugins/nbft: Fix nbft-plugin.c linux kernel check patch warnings
      plugins/netapp: Fix netapp-nvme.c linux kernel check patch errors and warnings
      plugins/scaleflux: Fix sfx-nvme.c linux kernel check patch errors and warnings
      plugins/seagate: Fix seagate-nvme.c linux kernel check patch warnings
      plugins/shannon: Fix shannon-nvme.c linux kernel check patch errors and warnings
      plugins/solidigm: Fix linux kernel check patch errors and warnings
      plugins/transcend: Fix transcend-nvme.c linux kernel check patch errors and warnings
      plugins/virtium: Fix virtium-nvme.c linux kernel check patch errors and warnings
      plugins/ymtc: Fix ymtc-nvme.c space indentation to tab indentation
      plugins/ymtc: Fix ymtc-nvme.c linux kernel check patch warning
      plugins/zns: Fix zns.c linux kernel check patch errors and warnings
      nvme: Fix quoted string split across lines to use quoted newline
      plugins/micron: Correct NULL pointer checking error

Umer Saleem (3):
      libnvme.wrap: Bump to 42ac453
      nvme-print-stdout: Print PCI physical slot number for controller
      nvme-print-json: Print PCI pysical slot number for controller

Vigneshwaran Saravanan (1):
      plugins/ocp: Added ocp unsupported requirements log page

Wei Hou (2):
      util/types: Move convert_ts to util/types
      util/types: Add generic spinner

da Cunha, Leonardo (3):
      plugins/solidigm: Fixes and clean-up of Telemetry parse code. Fixed parsing of 64 bit values. Fixed COD field name. Fixed compilation warnings when compiling for 32 bit. Added missing free(). Consolidated single entry function to telemetry parser. Consolidated use of integer types.
      plugin/solidigm: Added vs-internal-log command.
      plugins/solidigm: Formated log page directory table consistently with "nvme list" format.

dependabot[bot] (1):
      build(deps): bump sand4rt/ftp-deployer from 1.4 to 1.7

hsdhillo (1):
      plugins/solidigm: Added Marketing Name Log support for Solidigm.

innogritkenny (1):
      plugins/innogrit: Add vendor command get-eventlog and get-cdump

jaya.ganthan (1):
      plugin/ocp: Added implementation for 0xC1 log page

kdedow (5):
      plugins/ocp: Add firmware activation history log to OCP plugin
      plugins/solidigm: Add firmware activation history log to Solidigm plugin
      solidigm: Add supported log pages log feature to Solidigm plugin
      solidigm: Changes to supported log pages feature requested by review
      solidigm: Reduce memory usage in supported log pages feature

leonardo.da.cunha (2):
      plugins/solidigm: Added NLog support to Telemetry parsing. Telemetry Reason Identifier fields changed to start with lower case.
      plugins/solidigm: Added Identify controller VU extensions parsing.

yjin (1):
      plugins/sfx: sfx-nvme add expand-cap & dump evtlog cmd