Skip to content

Releases: linux-nvme/nvme-cli

v2.5

30 Jun 13:21
Compare
Choose a tag to compare

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...
Read more

v2.4

31 Mar 14:18
Compare
Choose a tag to compare

The nvme-cli v2.4 brings a lot of small updates all overall the place. There are the usual bug fixes and a few small new features. The most notable is the initial support for TLS over TCP provided by Hannes. This stuff is really fresh and the corresponding kernel patches haven't made it into the upstream kernel. It could be that it changes but Hannes is pretty sure this works and we don't need to change it :)

Because there are so many contributions I keep it short. A big thank you goes to Caleb Sander, Dedow, Karl, Hannes Reinecke, Jeffrey Lien, Laiwenhu, Martin Belanger, Martin George, Martin Joerg, Minwoo Im, Sagi Grimberg, Stefan Hajnoczi, Steven Seungcheol Lee, Tokunori Ikegami, Vishal Pankaj Chandratreya, da Cunha, Leonardo, duanhaoqiang, innogritkenny, kdedow, sunxing, 丁剑

Caleb Sander (1):
      nvme-print: Fix printing of u32 values

Daniel Wagner (49):
      nvme: Support effects-log for fabrics ctrl
      Merge pull request #1794 from igaw/effects-log
      build: Enable Azure Pipeline again
      Merge pull request #1795 from igaw/add-blkttests
      build: Also trigger Azure Pipeline for PR
      util: Add crc32 implementation
      build: Use prefixdir directly on sysconfdir
      Merge pull request #1799 from igaw/fix-muon-build
      Merge pull request #1798 from igaw/drop-zlib
      util: Reimplement suffix_si_parse
      util: Update suffix_binary_parse API
      Merge pull request #1790 from igaw/reimplement-suffix_si_parse
      Merge pull request #1789 from ikegami-t/get-feature-status
      util: Numbers without any suffix are also valid
      Merge pull request #1802 from igaw/fix-suffix_binary_parse-regression
      build: Update library paths for AppImage
      Merge pull request #1809 from igaw/fix-appimage
      Merge pull request #1805 from martin-belanger/fix-doc
      fabrics: No need to sanitize trsvcid and traddr
      plugins/solidigm: Use struct json_object instead of typedef
      plugins/solidigm: Use json_create_object wrapper
      nvme-print: Move JSON printing function into a new file
      nvme: Make json-c optional again
      Merge pull request #1800 from igaw/make-json-c-optional
      Merge pull request #1814 from jeffreyalien/latency-log
      Merge pull request #1817 from sc108-lee/completion
      Merge pull request #1819 from innogritkenny/master
      doc: --storage-tag-check doesn't take any arguments
      build: Bump libnvme wrap
      nvme: Use fprintf for error message logging in get_log()
      nvme: Use chunked read in get_log()
      build: Update CI build targets
      build: Add s390x cross build and enable cross tests
      build: Add muon build target
      nvme: Fix type in error message
      nvme: Factor out parse telemetry log da element
      nvme: Refactor get telemetry log page helper
      nvme: Add rae argument to telemetry-log command
      fabrics: Fix ordering for auto connect services
      build: Initialize sysconfdir
      build: Upload all log files on failure
      build: Add action build back
      plugins/solidigm: Do not overwrite previously initialized variable
      nvme: Use correct ABORT type for self abort test
      plugins/inspur: Cast vendor specific smart log value
      build: Update libnvme wrap
      build: Bump libnvme to v1.4
      build: Update version to v2.4
      doc: Regenerate all docs for v2.4

Dedow, Karl (1):
      plugins/ocp: Fix whitespace and style issues

Hannes Reinecke (4):
      nvme-gen-tls-key: add options to derive a TLS key
      nvme-check-tls-key: add options to derive a 'retained' TLS key
      nvme-connect: enable option '--tls'
      nvme-(discover,connect,connect-all): enable options '--keyring' and '--tls_key'

Jeffrey Lien (1):
      plugins/wdc: Fix data Formatting for Latency Monitor Log Page

Laiwenhu (1):
      nvme: validate storage tag size correctly

Martin Belanger (3):
      docs: Fixed typos and missing options
      fabrics: Ensure host-traddr/iface consistency for "connect-all"
      build: Print option summary

Martin George (4):
      nvme-print: fix segfault in supported-log-pages json output
      nvme-doc: update man page for supported-log-pages
      nvme: fix block count and data size logic
      nvme-print: sanitize supported-log-pages output

Martin Joerg (1):
      nvme: Fix invalid memory access in show_registers

Minwoo Im (3):
      build: Bump up libnvme wrap
      print: print csi and opcode in error log (TP4113)
      nvme-print: Unify number base format for nsid

Sagi Grimberg (1):
      nvme-print: print the nvme generic name in json output as well

Stefan Hajnoczi (1):
      nvme: fix /dev/spkd/ typo

Steven Seungcheol Lee (4):
      completion: fix typo, add missing args
      nvme.c: Check Firmware Update Granularity in fwdl
      fdp: Fix wrong Reclaim Unit Handle Status size
      nvme: Fix parameter limit range

Tokunori Ikegami (17):
      nvme: Filter out status flags for get feature command
      unit: Add test-argconfig-parse
      util: Revert JSON output to plain numbers
      nvme: Continue get feature on invalid NS error to get multiple feature ids
      nvme: Align get feature data buffer length by page size to allocate
      util: Add argconfig seen flag parameter to check if feature NSID set
      plugins/ocp: Add support for EOL/PLP failure mode feature
      plugins/ocp: Add support for clear PCIe correctable error counters feature
      plugins/ocp: Refactor to clear feature identifier C1h and C3h
      plugins/ocp: Add set feature EOL/PLP failure mode no-uuid option
      util: Introduce argconfig simple helper to check seen condition
      nvme: Check fw-commit command support MUD
      nvme-print: Fix nvme show status function indentation errors
      util: Use argconfig commandline options pointer directly
      nvme: Fix format command function indentation errors
      util: Cleanup argconfig parse function
      nvme-print-json: Add json output status function

Vishal Pankaj Chandratreya (2):
      Changed 'Kelvin' to 'kelvin', as recommended by the BIPM.
      Made temperature readouts in line with the SI.

da Cunha, Leonardo (2):
      plugins/ocp: Use network byte order for OCP UUID value
      plugins/solidigm: Add uuid index resolution

duanhaoqiang (1):
      nvme: Enforce length to a multiple of 4 in get_log_page

innogritkenny (1):
      plugins/innogrit: modify command opcode for eventlog and cdump

kdedow (4):
      plugins/ocp: SMART cloud log bug fixes.
      plugins/ocp: OCP 2.0 field updates for SMART cloud log
      plugins/ocp: Move SMART cloud log methods to separate file for reusability
      plugins/ocp: Add SMART cloud log to solidigm plugin

sunxing (1):
      nvme-print: Use attrs_info as key for Zone Attributes Information

丁剑 (1):
      log: high latency timestamp issue

v2.3

30 Jan 13:15
Compare
Choose a tag to compare

I am glad to announce the v2.3 release of nvme-cli. As usual this release bring a few new features and a lot of bug fixes everywhere. Thank everyone who has contributed to this release (code, bug reports, testing, ...)!

  • Added support for Flexible Data Placement (TP4146)
  • Added Persistent Discovery Controller support (TP8013/TP8014)
  • nvme-mi: support for firmware downloads
  • nvme device-self-test learned the --wait command line argument which makes nvme-cli to wait (incl. progress bar) in foreground until the test has finished.
  • A lot of bug fixes all over the place
Caleb Sander (1):
      json_discovery_log: avoid buffer overrun

Daniel Wagner (34):
      build: Add Azure Pipeline configuration
      build: Disable Azure Pipeline
      build: Do not pass -werror to openssl when using fallbacks
      doc: Fix build for inspur plugin
      unit: Move unit tests to a new directory
      build: Run unit tests for native builds
      nvme: Output zero padded hostid in resv-report command
      build: Renaming and cleanups of workflow files
      build: Add AppImage build workflows
      build: Set projects default to debug and prefix /usr/local
      fabrics: Do not overwrite errno with return code
      fabrics: Use endian helper when reading discovery log entries
      fabrics: Add support for binary output
      nvme: Ingore LOG_NOTICE level
      fabrics: Update error message when connect attemp fails
      fabrics: Set discovery KATO also for current disc crtl
      fabrics: Do not attempt to reconnect to already connected ctrls
      build: Update libnvme wrap
      fabrics: Prefer unique disc ctrl over well known
      fabrics: Handle DUPRETINFO and EPCSD when doing discovery
      fabrics: Do not disconnect unique disc ctrl on default
      gitignore: Ignore clang build artifacts
      build: Upload latest AppImage
      build: The release workflow can't tag
      build: Update libnvme wrap
      fabrics: Make PDC behavior configurable
      fabrics: Fix discovery controller filter function
      fabrics: Fix already connected test
      fabrics: Pass discovery ctrl to __discover()
      build: Update libnvme version dependency on release
      build: Bump libnvme wrap
      build: Bump libnvme.wrap release v1.3
      build: Update version to v2.3
      doc: Regenerate all docs for v2.3

Jeremy Kerr (5):
      nvme: fw-download: move individual transfers to a separate function
      nvme: fw-download: Add (optional) transfer progress output
      nvme: fw-download: print failed offset
      nvme: fw-download: Add retry mechanism
      nvme: fw-download: handle overlapping range errors

Jinliang Wang (5):
      nvme-mi: support ns-descs, primary-ctrl-caps, list-secondary
      libnvme.wrap: Bump to 70aca88
      nvme: Add wrapper for admin_passthru command
      nvme: Support telemetry-log over nvme-mi
      nvme: support security-recv and security-send over nvme-mi

Keith Busch (1):
      nvme: Add wait for device self test

Klaus Jensen (9):
      build: bump libnvme to f83b2c4c4738
      nvme: add io management send/recv commands
      nvme: add flexible data placement management commands
      nvme-print: print unused reclaim unit handles
      nvme-print: prettify the fdp event printing
      plugins/fdp: use the right command-line switch
      nvme-print: print 64 bit values with json add_value_uint64
      build: bump libnvme
      nvme-print: pretty print fdp event timestamp

Maurizio Lombardi (3):
      plugins/sfx: fix an error message in scaleflux plugin
      nvme: fix unreacheable code in verify_cmd()
      plugins/micron: fix freed memory dereference.

Qiang Wei (1):
      Bash completion: move global declare into function

Ronan Pigott (1):
      zsh: move SPDX identifier

Tokunori Ikegami (21):
      nvme: Change to use pci resource bar at first by show-regs command
      doc: Fix sanitize command examples as character device
      doc: Fix sanitize command examples as character device
      nvme: Correct show-topology command help spelling error
      nvme: Combine duplicated help message string variables
      nvme-print: Serialize uint32_t types correctly
      nvme: Improve sanitize action help
      nvme: sanitize: Allow sanitize action string values
      doc: Update nvme sanitize command action description
      nvme: create-ns: Add nsze-si and ncap-si arguments to set in standard SI units
      nvme-print: Display smart log data units read and written SI value
      util: Add file stream parameter to print word wrapped
      MAINT: util: Delete duplicated OPT_LONG definition
      util: Parse suffix binary value as unsinged long long correctly
      doc: Add storage-tag option description for compare, read and write commands
      nvme: Use self-test code definition values instead hard-coded values
      nvme: Ignore device self-test wait option for abort operation
      nvme: Add device self-test SIGINT signal handling for wait option to abort
      nvme: Move static variable definitions to top of file
      doc: Update device-self-test command documentation
      nvme: Use abort self-test code definition value instead hard-code value

dependabot[bot] (1):
      build(deps): bump actions/upload-artifact from 2 to 3

hpanosy (1):
      solidigm, ocp: Added OCP-Clear-FW-Update-History support, and exposed feature on ocp and solidigm plug-ins.

nick black (2):
      build: require meson 0.50.0+
      nvme: call nvme_get_smart_log() with false

wangmengmeng (1):
      plugins/inspur: Add Inspur plugin extension.

黄锦华 (3):
      plugin/memblaze: update the correct value for smart-log-add
      plugin/memblaze: remove some useless code for smart-log-add
      plugin/memblaze: use kernel base types instead own defined types

v2.2.1

02 Nov 15:44
Compare
Choose a tag to compare

This is just a a bug fix release for v2.2.

  • forgot to remove 'uuid.h' include which breaks builds
  • added a missing headers for time functions
  • updated libnvme dependency to v1.2
Daniel Wagner (3):
      build: Update libnvme version dependency to 1.2
      build: Update version to v2.2.1
      doc: Regenerate all docs for v2.2.1

ajs124 (3):
      build: Remove unusned uuid.h include
      plugins/innogrit: Include timer.h
      plugins/ocp: Include timer.h

v2.2

28 Oct 17:30
Compare
Choose a tag to compare

Also for the nvme-cli project, Jeremy Kerr was very busy getting MI sorted out. Many of the NVMe commands can now be submitted over the MI transport. Thanks a lot!

There was a bit of activity for the fabrics commands, e.g. there is the new nvme topology command or the feature to re-read the discovery page when a discovery controller reconnects.

Also the vendor plugins have gotten some updates for this release.

And as usual there are many bug fixes along since v2.1. Noteworthy here is the fix for printing the uint128 data fields correctly. Thanks Steven to pick this task up.

Again thanks a lot for all those who contributed to this project: Debabrata, Francis, Jeremy, Jinliang, Martin Belanger, Martin George, Maurizio, Pierre, Sagi, Simon, Steven, Tokunori, Tomas, Leonardo, innogritkenny.

For packagers: we dropped the libuuid dependency.

Daniel Wagner (38):
      json: Support uint64 types serialization for older json-c versions
      nvme: Masks SSTAT in sanize-log output
      doc: Add 'how to contribute' section
      docs: Update formatting for sanact list
      nvme-print: Add missing values in id-ctrl for JSON output
      util: Move common type conversion helpers into util section
      doc: Update examples in nvme-list-subsys.txt
      nvme-print: Use uint128 JSON function for media_units_written
      plugins: Use PRIu64 format specifier for 64bit types
      plugins/wdc: Add type case for feature id
      plugins/micron-nvme: Use correct print format specifier for sizeof arguments
      nvme: Use correct print format specifier for sizeof arguments
      build: Update json-c.wrap
      fabrics: nvme config --modify depends on -n and -t argument
      fabrics: Honor JSON config file in connect-all command
      fabrics: Trigger auto connect if config.json exists
      tests: Update license to GPL-2.0-or-later
      build: Use meson.current_build_dir() for tests
      build: Update zlib wrap
      build: Update json-c.wrap
      build: Update libnvme wrap
      libvnme-wrap: Rename file
      libnvme-wrap: Avoid fallback as variable name
      nvme: Add show-topology command
      doc: Add nvme show-topology documnetation
      completions: Add show-topology tab completion
      build: Update libnvme wrap
      build: Drop dependency on libuuid
      util/json.h: Add json_object_get_uint64 fallback implementation
      solidigm: Fix printf format for size_t variable
      build: Update libnvme wrap
      build: Update min version of meson to 0.48
      build: Remove unused uuid.wrap file
      build: Fix endian check for cross build
      REAMDE: Drop reference on uuid
      build: Update libnvme wrap
      build: Update version to v2.2
      doc: Regenerate all docs for v2.2

Debabrata Bardhan (2):
      plugins/seagate: Add support for OCP
      doc: Add and update man pages for seagate plugin

Francis Pravin Antony Michael Raj (1):
      nvme: Add helper function to parse 16-bit comma separated list

Jeff Lien (3):
      wdc:  OCP Log page updates and fixes
      print: Add Controller Ready Timeout Exceeded HW error code
      plugins/wdc: Add support for SN660 drive

Jeremy Kerr (34):
      tree: Move global device info to a single struct
      tree: Combine NVMe file descriptor into struct nvme_dev
      plugins/wdc: pass a struct nvme_dev around rather than a fd
      plugins/toshiba: pass struct nvme_dev rather than fd + name
      plugins/ocp: pass struct nvme_dev to internal functions
      plugins/wdc: pass struct nvme_dev rather than using global nvme_dev
      plugins/ytmc: pass struct nvme_dev rather than fd + name
      tree: Change nvme_dev from global to static
      nvme: Use local struct nvme_dev for show_registers & map_registers
      nvme: Make static nvme_dev private to open_dev(), use locals elsewhere
      nvme: Remove static nvme_dev, allocate on open instead
      tree: Add dev_fd() helper
      nvme: Introduce a union in struct nvme_dev for different transport types
      tree: Add NVMe-MI support
      nvme: Introduce nvme_cli_ wrappers, wrap identify and identify_ctrl
      subprojects/libnvme: update for MI admin command coverage
      nvme: Add nvme_cmd wrapper for get_features
      nvme: Add wrappers for basic NS identify
      nvme: Add wrappers for NS management functions
      nvme: Add wrappers for Identify controller lists
      nvme: Add wrappers for NS attach/detach
      nvme: Add wrapper for Format NVM
      nvme: Add wrapper for Sanitize NVM
      nvme: Add wrappers for Get Log page helpers
      tree: fail on non-negative return values from parse_and_open
      utils: Fix uint128_t usage
      util: Fix le128_to_cpu on big-endian
      nvme, plugins: fix __u64 -> unsigned long long assumptions
      github workflows: add armhf and ppc64le cross compile checks
      libnvme.wrap: Bump to 677075a1
      nvme: Add wrappers for firmware commands
      nvme-print: decode status types
      nvme: use helpers for checking status types
      nvme-print: decode MI status values

Jinliang Wang (1):
      util: Fix le128_to_cpu on little-endian

Martin Belanger (1):
      udev: Add HOST_IFACE to udev rule

Martin George (2):
      solidgm: fix initialization warning
      fabrics: fix 'persistent' handling during connect-all with JSON file

Maurizio Lombardi (1):
      nvme: check if cfg.metadata is NULL before passing it to strlen()

Pierre Labat (1):
      nvme-print: Print fguid as a UUID

Sagi Grimberg (1):
      fabrics: re-read the discovery log page when a discovery controller reconnected

Simon A. F. Lund (1):
      Makefile: add 'make uninstall'

Steven Seungcheol Lee (9):
      nvme-print: fix wrong json key
      zns.c: report zones should be started after retrieved zone
      util/types: Add 128 bit conversion helpers
      util/json: Add 128 bit JSON helpers
      nvme-print: Output 128bit values as uint128 type instead of double
      plugins/ocp: Output 128bit values as uint128 type instead of double
      plugins/wdc: Output 128bit values as uint128 type instead of double
      plugins/virtium: Output 128bit values as uint128 type instead of double
      Makefile: Add 'make debug' for debug build

Tokunori Ikegami (1):
      nvme: Fix set feature command to get feature identifier 0Dh length as zero

Tomas Bzatek (1):
      nvme-print: Handle NULL hostid in JSON output

da Cunha, Leonardo (1):
      Added parsing for Solidigm telemetry observable data.

dependabot[bot] (1):
      build(deps): bump actions/checkout from 2 to 3

innogritkenny (2):
      plugins/innogrit: add smart items for smart-log-add
      add item ddr_ecc_err_cnt in smart-log-add

leonardo.da.cunha (3):
      utils/json: Add json_object_new_uint64 for json-c < 0.14
      solidigm: Added parsing for telemetry customer screenable data
      solidigm: Updated Telemetry parsing code to MIT license.

v2.1.2

11 Aug 13:08
Compare
Choose a tag to compare

We had to revert a patch which caused sever regressions for nvme over fabrics setups, hence a v2.1.2.
While at also fix yet another fallout with the wrapper logic.

Relevant changes:

  • Revert "udev: re-read the discovery log page when a discovery controller reconnected"
  • wrapper: Call library version of nvme_init_copy_range_f1

v2.1.1

01 Aug 15:40
Compare
Choose a tag to compare

Unfortunately, v2.1 had some dependency issues towards libnvme which made this v2.1.1 necessary. See #1628 for more details. A brown bag for me please...

v2.1

01 Aug 12:49
Compare
Choose a tag to compare

Also here, we didn't have many complains since the v2.1-rc0 release, so here
the proper v2.1 release.

Thanks to everyone who contributed to this release!

Daniel Wagner (6):
      fabrics: Avoid nvme_scan_ctrl when disconnecting
      nvme: Set default rae value for nvme_get_nsid_log users
      fabrics: Remove dhchap-ctrl-secret from discover/connect-all
      nvme: Do not print error message in collect_effects_log helper
      build: Update libnvme wrap
      Regenerate all documentation

Francis Pravin Antony Michael Raj (1):
      nvme: Remove duplicate line

Jeff Lien (1):
      print: Fix nvme_id_uuid_list

Martin George (1):
      nvme-print: sanitize the get-feature async event config output

v2.1-rc0

14 Jul 13:11
Compare
Choose a tag to compare
v2.1-rc0 Pre-release
Pre-release

Same as with libnvme, after the initial 2.0 release, we got a lot of small bug fixes all over the place. This is also the main reason to release v2.1 relatively quickly. Let's get these fixes out the door.

Noteworthy changes:

  • build and install fixes/improvements
  • documentation fixes
  • version reporting includes library version
  • various fixes reported by coverity
  • license clarification. The overall license is GPL-2.0-only (it stated GPL-2.0-or-later but a handful of files are GPL-2.0-only)
  • new solidigm plugin

A big thanks to everyone who contributed to this pre release!

v2.0

08 Apr 16:56
Compare
Choose a tag to compare

First release of nvme-cli 2.

Thanks for all contributions!