Boooh Hallowien release!
ChatGPT says:
The nvme-cli v2.11 release introduces several updates, including added support for the latest NVMe specifications, enhancements to command options, and improvements for more efficient error handling and output formatting. These updates streamline device management and improve the user experience with NVMe devices.
and this is rather disappointing summary. There are really cool highlights in this release.
First, Dennis spend a lot (and I mean a lot) of time getting a CI setup running for nvme-cli. The new nightly build jobs run the in Python written tests living in tests
directory. These tests were dormant for a while because these tests really interact with hardware and blindly write on the disc. You don't want to run these on your desktop, do you?
Anyway these new nightly CI runs update the kernel to the latest Linus' upstream master branch and then run following tests:
nvme_attach_detach_ns_test
nvme_compare_test
nvme_copy_test
nvme_create_max_ns_test
nvme_ctrl_reset_test
nvme_dsm_test
nvme_error_log_test
nvme_flush_test
nvme_format_test
nvme_fw_log_test
nvme_get_features_test
nvme_get_lba_status_test
nvme_id_ctrl_test
nvme_id_ns_test
nvme_lba_status_log_test
nvme_read_write_test
nvme_smart_log_test
nvme_verify_test
nvme_writeuncor_test
nvme_writezeros_test
against Western Digital Ultrastar® SN640 and Western Digital Ultrastar® ZN540 disks.
In short we finally have fully end-to-end tests in place. Obviously, it will take a bit of time
to get all very stable and reliable but the first few days. The reason why these tests are currently
just running during nightly builds is that the whole set takes roughly 1h. But this is just
the starting point. I think we should be able to have a quick run set in future.
Anyway, I really want to thank for Dennis to get this stuff working!
Once again Tokunori Ikegami was busy working on many things. One highlight is that ocp plugin is now buildable when json-c is missing. Thanks!
There were a lot of contributions getting various print commands outputting newly added types/fields. And also improving the various plugins here and there. Also big thanks for these contributions.
I was busy getting the various TLS key use cases working more nicely. I really hope I got this sorted out now. Famous last words.
Ankit Soni (2):
build: update libnvme wrap
nvme-print: added new fields for nvm_id_ns
Brandon Paupore (1):
wdc: add support for SNTMP drive
Carl Moran (1):
plugins/wdc: fix json output for vs-nand-stats
Daniel Wagner (19):
build: use linux-nvme/ci-containers
build: bump libnvme wrap
nvme: use unsigned char for hmac and identity
fabrics: add support to connect to accept a configuration
fabrics: add support to connect to accept a PSK command line
docs: update TLS options
nvmf-keys: add udev rule to import tls keys
nvme: export tls keys honoring version and hmac
nvme: set file permission for keyfile to owner only
nvme: rename identity to version
nvme: add support to add derive TLS PSK to keyfile
docs: update gen-tls-key arguments
nvme: return correct error code in append_keyfile
nvme: add support to append TLS PSK to keyfile for check-tls-key
docs: update check-tls-key arguments
build: bump libnvme wrap
scripts: handle libnvme version update correctly
doc: Regenerate all docs for v2.11
Release v2.11
Dennis Maisenbacher (13):
tests: Use raw string for compiling regex
tests: fix nvme_attach_detach_ns_test
tests: Fix nvme_copy_test python traceback fails
tests: Fixup nvme_create_max_ns_test
tests: Improve nvme_ctrl_reset_test
tests: Adjust ncap and nsze for nvme_format_test
tests: Fix nvme_get_features_test
tests: Use correct flag in vendor specific id-ctrl
tests: Fix nvme_smart_log_test
tests: Add feature check to nvme_compare_test
tests: Fix nvme_get_lba_status_test and nvme_lba_status_log_test
tests: Create default ns on tearDown
CI: Add workflow for running tests on real nvme device
Francis Pravin (12):
nvme-print: print the new fields added in TP4165
build: update libnvme wrap
nvme-print: use Completion Condition enum
nvme-print: print the new fields added in TP4142
nvme-print-json: print CMBEBS and CMBSWTP in json format
nvme-print-json: print controller register values in offset order
nvme-print: print NSSES field of CAP register
build: update libnvme wrap
nvme: add EMVS support to sanitize command
nvme-print-stdout: print VERS bit of SANICAP field
doc: Add sanitize command emvs option
nvme-print: Add Sanitize Media Verification Event in PEL log
Greg Joyce (1):
plugins/sed: add sid password change
Haro Panosyan (1):
plugins/solidigm : Fixing vs-internal-log to generate identify per allocated namespace.
Leonardo da Cunha (5):
plugins/solidigm: Added Workload Tracker Triggers and Wall Time
completion: add solidgm work-tracker binding
completion: add ocp set-telemetry-profile to zsh
Documentation: Added solidigm plugin commands
plugins/solidigm: Automatic retry smaller log chunk size.
Martin George (17):
netapp: fix uninitialized value from heap error
netapp: segregate the print routines
netapp: print output for single device too
nvme-print: add subsystype to the list-subsys output
nvme-print: update subsys verbose outputs
nvme-print: sanitize error-log output
nvme: update nvme_insert_tls_key_versioned() return handling
fabrics: fix incorrect access filename check
netapp-smdevices: segregate print routines
netapp-smdevices: print single device output too
nvme: fix uninitialized value in error-log
nvme-print-stdout: update changed-ns-list-log output
nvme-print-json: update JSON verbose output for nvm-id-ctrl
nvme-print-json: display only verbose output
nvme: update tls_key() handling
netapp-smdev: add err msg for no smdevices
netapp-ontapdev: add err msg for no ontapdevices
Maurizio Lombardi (1):
plugins/solidigm: fix use after free.
Minsik Jeon (2):
plugins/fdp: bugfix error check to validate output format
nvme: Support show-regs for nvmeof
Nitin Sao (2):
build: bump libnvme wrap
nvme-print-stdout: Added print for new field CSER (TP4167)
Steven Seungcheol Lee (3):
ocp-nvme: remove ocp log page version checking
ocp-nvme: Add LMDATA-37 for Latency Monitor Log
ocp-nvme: ocp plugin version update
Tetsuya TAKAHASHI (2):
ocp: fix GUID output
ocp: fix option handling in internal-log
Tokunori Ikegami (54):
nvme-print: use LC_MEASUREMENT to check fahrenheit temperature
nvme-print-stdout: use NVME_FEAT util definitions
util: extern uint128_t_to_double() function
logging: add print_info function
nvme-print-stdout: add print_array function
ocp: fix to set return value to get c9 log page data
ocp: fix to return c9 log page data error to open file
ocp: Change C9 function names to use c9 instead
ocp: fix ocp-nvme.c coding style errors
nvme-print-json: use _cleanup_free_
nvme: use NVME_GET_FEATURES_SEL_SUPPORTED definition
ocp: add get-enable-ieee1667-silo command
ocp: add error recovery log page version 3
ocp: add SMART / health information extended log page version 4
nvme-print-json: extern json object add functions
nvme: use NVME_CTRL_FNA definitions
ocp: add support for hwcomp log page
ocp: add hwcomp dummy definition
ocp: add hwcomp log command comp-id option
ocp: add hwcomp log command list option
ocp: add hwcomp log json output
doc: add ocp hardware-component-log command
completions: add ocp hardware-component-log command
ocp: split ocp-hwcomp log
build: bump libnvme wrap
nvme: use NVME_CHECK() to check get features select field value
ocp: fix to set log data pointer allocated
ocp: include util/types.h to use nvme_uint128_t
nvme-print-stdout: use NVME_CTRL_OAES definitions
nvme: use NVME_GET_FEATURES_SEL definitions
nvme: separate get NVME_GET_FEATURES_SEL_CHANGED definition
doc: add get-feature command changed option
completions: add get-feature command changed option
nvme-print: fix error information log page endianness error
nvme: fix to convert metadata size to native byte order
ocp-print: move json code into separate files
plugins: update meson.build file to always build ocp plugin
ocp: split ocp-fw-activation-history print codes
ocp: split smart extended log print codes
ocp: move ocp telemetry log print function into ocp-print
ocp: split latency monitor log print codes
ocp: split unsupported requirement log print codes
ocp: split error recovery log print codes
ocp: split device capabilities log print codes
ocp: split telemetry string log print codes
ocp: split TCG configuration log print codes
ocp: build ocp-nvme.c and ocp-telemetry-decode.c without json
ocp: fix ocp-nvme.c indentation errors
ocp: fix ocp-print-stdout.c indentation error
ocp: remove callback function cast
ocp: combine to use GUID length definitions
ocp: fix firmware activation history entry endian
ocp: fix TCG configuration log endian
ocp: fix latency monitoring data structure entry endian
Xiaoyuan Zhang (4):
plugins: Add a new DapuStor plugin and the smart-log-add command
plugins/dapustor: dapustor smart-log-add update
completions: add the zsh completion of the dapustor plugin
plugins/dapustor: smart-log-add fix
innogritkenny (1):
plugins/innogrit: modify for project tacoma
jeff-lien-wdc (5):
wdc: Add Support for new SN-861 PCI device id
Add Support for new SN655 PCI Device ID
wdc: Add Support for SN5100S
ocp: Fixes for OCP 2.5 Telemetry DA1 FIFO Event Parsing
wdc: Fix for Reading WDC C2 Vendor Unique Log Page
jinhua.huang (1):
plugins/memblaze: fix a wrong id on smart-log-add
paumr (2):
doc: show where self-test results can be found
doc: added commit conventions to contribution guidelines
rick (1):
nvme-print: print KV command set page header
наб (1):
docs: nvme-id-doman: dom{ia => ai}n