Skip to content

Releases: linux-nvme/nvme-cli

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!

v2.0 Release Candidate 8

01 Apr 13:19
Compare
Choose a tag to compare
Pre-release

We deferred the release of libnvme for another RC test phase, so we are going to do same with nvme-cli and keep both projects in lock-step.

Anyway, a lot of smaller and bigger bug fixes went in since -rc7. Thanks to everyone involved!

There are a couple of new features in this RC, e.g. nvme config and nvme dim.

Arunpandian J (7):
      tests: print log info in next line
      nvme_test: Add supp_check_id_ctrl wrapper for support check
      nvme_smart_log_test: call smart log for all ns based on LPA
      tests: Add tests for lba status log page
      build: Include nvme_lba_status_log_test in meson.build
      tests: Add test for get lba status command
      build: Add nvme_get_lba_status_test in tests list

Brandon Paupore (1):
      Add lbstm option to create-ns

Daniel Wagner (10):
      build: Update libnvme wrap
      build: Add missing comma to file list in tests meson.build
      argconfig: Do not use default value loading by getopt_long_only
      nvme: Use type bool for OPT_FLAG
      plugins: Use type bool for OPT_FLAG
      argconfig: Rename CFG_NONE to CFG_FLAG
      fabrics: Free non-matching controller during discovery
      fabrics: Introduce force flag to overwrite persistence logic
      doc: Regenerate all documentation
      build: Update libnvme wrap

Dmitry Tikhov (1):
      nvme-copy: add missing field to the command

Hannes Reinecke (7):
      build: Update libnvme.wrap
      nvme: use filter for 'list-subsys <devname>'
      fabrics: Correctly stringify discovery.conf and config.json paths
      build: Update libnvme.wrap
      fabrics: add 'nvme config' command
      nvme: Fixup namespace filtering yet again
      build: Update libnvme.wrap

Jeff Lien (4):
      nvme: add get_mi_cmd_support_effects_log command
      docs: Add Documentation files for get_mi_cmd_support_effects_log
      nvme-print: Update Persistent Event log fields
      nvme-print: Add human readable print for nsattr field

Martin Belanger (1):
      fabrics: Add DIM command

Martin George (1):
      nvme-print: print discovery async event support

naveen kumar (1):
      nvme-rpmb: Fix spelling for 'Partition'

v2.0 Release Candidate 7

18 Mar 17:06
Compare
Choose a tag to compare
Pre-release

Busy week! A lot of small fixes went in. Thanks for testing and reporting bugs! Let's give it another release candidate round to see if things are calming down in nvme-cli as well as we have seen in libnvme.

Arunpandian J (9):
      tests: fix typo for format-python
      tests: Add test for copy command
      tests: Add test for DSM command
      tests: verify command test case
      build: Add copy, DSM, verify command in meson build
      cmd-plugins: Add transcend, virtium plugin commands
      cmd-plugins: Add plugin commands in doc
      Documentation: Fix typo in command description
      cmd-plugins: Add ZNS plugin commands

Chaitanya Kulkarni (1):
      fabrics: keep the backward compatibility

Daniel Wagner (9):
      build: Resort adoc_sources
      build: Copy include adoc files to build dir
      fabrics: Honor sysconfdir for hostnqn and hostid files
      nvmf-autoconnect: Honor sysconfdir, sbindir and bindir
      nvmf-autoconnect: Add option to specify path to systemctl
      nvme: Print full device path
      nvme: Do not slash escape strings in JSON output
      doc: Regenerate all documentation
      build: Update libnvme wrap

Hannes Reinecke (2):
      build: Update libnvme wrap
      fabrics: check for discovery controller instead of subsystem NQN

Martin Belanger (1):
      Fix typo - hsot to host

Martin George (1):
      netapp-nvme: fix smdevices segfault in json output

Minwoo Im (1):
      nvme-print: print generic device in list command

Steven Seungcheol Lee (4):
      meson: bash-completion installation path is reverted
      meson: installation prefix revert
      rpm: Add prefix for sysconfdir
      rpm: use meson configuration instead of default macros

Tomas Bzatek (4):
      connect: Set errno to zero on nvmf_add_ctrl() success
      plugins/wdc: Fix a use-after-free
      plugins/memblaze: Code style fixes
      nvme-print: Make JSON keys consistent with nvme-cli 1.x

v2.0 Release Candidate 6

11 Mar 17:09
Compare
Choose a tag to compare
Pre-release

Things are really calming down. Arunpandian is still busy updating the docs. Steven has
fixed a bunch of small issues, while Hannes ported the ANA status feature we lost
somewhere in the libnvme split. I looked at some fallouts in our command defaults
handling. So after all, it looks like we have soon the first release based on libnvme.

Please, keep testing and report bugs. Thanks!

Arunpandian J (4):
      cmds-main: Add intel plugin commands
      cmds-plugins: Add huawei plugin commands
      Add dera, micron plugin commands in doc
      cmd-plugins: plugin commands update in doc

Daniel Wagner (6):
      nvme: Explicit initialize passthru command line options
      nvme: Explicit initialize all command line options
      build: Update libnvme wrap
      build: Enable docs build in update docs script
      doc: Regenerate all documentation
      nvme: constify variable in list_subsys

Hannes Reinecke (2):
      build: Update libnvme wrap
      nvme: print out ANA state for 'list-subsys'

Steven Seungcheol Lee (5):
      Add build_assert to fix debug build error
      build: Update libnvme wrap
      nvme: nvme write bug fix (no parse for option)
      build: Update libnvme wrap
      nvme: list_ns bug fix (csi option enable)

v2.0 Release Candidate 5

03 Mar 18:52
Compare
Choose a tag to compare
Pre-release

Also here things are calming down. Arunpandian also worked on the documentation. Martin fixed the telemetry-log error handling, while Steven was busy fixing passthr. I 'ported' two missing patch from the monolithic branch.

If things stay calm this will be the last release candidate.

Arunpandian J (2):
      cmds-main: Add media unit status log and supported capacity config list log pages in main commands list
      cmds-main: Add all the admin, NVM commands in main commands list

Daniel Wagner (6):
      fabrics: ensure zero kato for non-persistent controllers
      nvme-cli: Ignore traddr case
      README: Mention meson subprojects update
      tests: Add support for linting and formatting of Python code
      tests: Refresh Python code
      build: Update libnvme wrap

Martin George (1):
      nvme: fix segfault in nvme telemetry-log error handling

Steven Seungcheol Lee (3):
      meson: remove rpm dependencies when build as static
      nvme: remove unnecessary line from submit_io
      nvme: passthru bugfix(wrong jump, wrong file descriptor)