Releases: linux-nvme/nvme-cli
v2.2
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
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
v2.1
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
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
v2.0 Release Candidate 8
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
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
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
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)